Esocial — различия между версиями
Avereskun (обсуждение | вклад) (→Состояния) |
Avereskun (обсуждение | вклад) (→Параметры) |
||
Строка 15: | Строка 15: | ||
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook | **'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook | ||
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook | **'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook | ||
+ | *'''Запрос подарка''' | ||
+ | **'''Текст''' - текстовый id, в котором будет хранится текст типа:"Мне нужны коллекционные предметы:". После ":" будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую. | ||
+ | *'''Отправка подарка''' | ||
+ | **'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора | ||
+ | **'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора | ||
+ | *'''Окно дарения из окна коллекций''' | ||
+ | **'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open. | ||
+ | **'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку. | ||
+ | **'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу. | ||
+ | **'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу. | ||
+ | **'''esocialfriendsitem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу. | ||
+ | **'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem. | ||
+ | |||
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние. | *'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние. |
Версия 13:08, 2 апреля 2014
Объект обеспечивает связь между приложением и Facebook'ом.
Параметры
- facebook - ссылка на объект facebook, с которым будет работать объект
- esocialfriendsitem - ссылка на объект esocialfriendsitem, с которым будет работать объект
- таблица друзей - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.
- опции для facebook - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние
- Инвайт
- Заголовок - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
- Сообщение - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
- Успешный инвайт
- Окно - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial
- Портрет - Объект, в который будет сложена иконка друга, подтянутая с facebook
- Имя - Объект, в который будет сложено имя друга, подтянутое с facebook
- Запрос подарка
- Текст - текстовый id, в котором будет хранится текст типа:"Мне нужны коллекционные предметы:". После ":" будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.
- Отправка подарка
- Заголовок - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
- Сообщение - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
- Окно дарения из окна коллекций
- окно - машина состояния, которая будет показывать окно. Должна иметь состояние open.
- иконка - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.
- текст (объект) - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.
- описание (объект) - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.
- esocialfriendsitem - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.
- таблица друзей - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.
- Изменить состояние объекта при принятии инвайта - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.
- Изменить состояние объекта при успешном выполнении задачи - при успешном выполнении задачи переводит объект в состояние
- Изменить состояние объекта при ошибке выполнения задачи - при ошибке выполнения задачи переводит объект в состояние
Состояния
- friends - В этом состоянии вызывается авторизация к фейсбуку и заполняются ячейки "таблицы друзей" в соответствии с указанным шаблоном. Отображаются абсолютно ВСЕ друзья, которые есть у пользователя на данный момент
- friends_debug - Вызывает объекту ESocial дебажную версию заполнения таблицы. В которой мы можем увидеть, как будут располагаться наши расклонированные шаблоны в кол-ве 50 штук. Состояние создано исключительно для теста внешнего вида клонированных объектов
- friends_inst - В этом состоянии вызывается авторизация к фейсбуку и заполняются ячейки "таблицы друзей" в соответствии с указанным шаблоном. Отображаются только друзья, которые установили себе приложение.
- invite - состояние, которое желательно вызывать по нажатию на кнопку. При вызове которого открывается фейсбуковское окно, в котором у пользователя появляется возможно выбрать друзей и отправить им приглашение.
- report - при вызове данного состояния фесбуку передается знание о текущем уровне и количестве коллекций
- cancel - отменяет последовательность всех текущих задач
- retry - повторить попытку выполнить текущую задачу
- continue - отменить текущую задачу и перейти к выполнению следующей в очереди
- gift_confirm - подтверждает отправку другу подарка
- check_requests - проверяет не пришел ли нам подарок от друга
Debug
Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:
- facebook_debug_e.xml - создается во время отправки приглашения и при вызове состояния invite
- facebook_debug_s.xml - создается после фидбэка от Facebook'a.
- facebook_debug.xml - создается исключительно в дебажной версии во время отправки объекту Facebook состояния friends или friends_inst
Выглядит этот файл приблизительно вот так:
Поля:
request означает отправлен ли запрос.
invite - принял ли запрос и поле
inst(возможна ошибка в названии) - установлено ли приложение у данного друга.
Задачи (команды) и ошибки
В опции пишется номер успешной задачи, неуспешной и номер ошибки
- esocial%d.compl_task - поле в опциях, куда запишется номер успешно выполненной задачи. %d - id объекта esocial в проекте.
- esocial%d.err_task - поле в опциях, куда запишется номер неуспешной задачи. %d - id объекта esocial в проекте.
- esocial%d.err_code - поле в опциях, куда запишется номер ошибки. %d - id объекта esocial в проекте.
Задачи
- 0 - провести авторизацию
- 1 - закрыть текущую авторизованную сессию
- 2 - создать диалог для отправки на стену
- 3 - возвращает данные обо мне
- 4 - возвращает данные о друзьях
- 5 - получить список игровых сообщений
- 6 - обновить мои очки на facebook сервере
- 7 - отправить игровое сообщение
- 8 - удалить игровое сообщение на facebook сервере
- 9 - узнать есть ли права на запись у пользователя
- 10 - запросить у пользователя права на запись
Ошибки
- 0 - неизвестная ошибка
- 1 - неизвестная задача
- 2 - facebook не поддерживается
- 3 - нет интернета
- 4 - превышен лимит ожидания запроса
- 5 - не указаны параметры для выполнения задачи
- 6 - отмена диалогового окна пользователем