Esocial — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Состояния)
Строка 51: Строка 51:
 
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние
 
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние
 
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние
 
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние
 +
  
 
=Состояния=
 
=Состояния=
Строка 91: Строка 92:
 
*'''next_inv''' - следующее окошко успешного инвайта.
 
*'''next_inv''' - следующее окошко успешного инвайта.
 
*'''continue_google''' - пропустить текущую задачу и перейти к следующей.
 
*'''continue_google''' - пропустить текущую задачу и перейти к следующей.
 +
  
 
==Запись состояний в логи==
 
==Запись состояний в логи==
Строка 203: Строка 205:
  
 
54. STATE_GIFT_PARSE_REFRESH //!< вызвать окно подтверждения отправки VIP подарка
 
54. STATE_GIFT_PARSE_REFRESH //!< вызвать окно подтверждения отправки VIP подарка
 +
 +
  
 
=Debug=
 
=Debug=

Версия 06:12, 22 июля 2016

Объект Esocial обеспечивает связь между приложением и Facebook'ом.

Параметры

Esocial full.jpg
  • facebook - ссылка на объект facebook, с которым будет работать объект
  • esocialfriendsitem - ссылка на объект esocialfriendsitem, с которым будет работать объект
  • таблица друзей - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.
  • индикатор активности - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).
  • опции для facebook - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние
  • социальная сеть - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.


  • Инвайт
    • Заголовок - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
    • Сообщение - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора


  • Успешный инвайт
    • Окно - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial
    • Портрет - Объект, в который будет сложена иконка друга, подтянутая с facebook
    • Имя - Объект, в который будет сложено имя друга, подтянутое с facebook


  • Запрос подарка
    • Текст - текстовый id, в котором будет хранится текст типа:"Мне нужны коллекционные предметы:". После ":" будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.
    • Таблица - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.
  • Отправка подарка
    • Заголовок - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
    • Сообщение - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
    • Ограничение - максимальное количество отправленных подарков в день (может быть сброшено).
  • Окно дарения из окна коллекций
    • окно - машина состояния, которая будет показывать окно. Должна иметь состояние open.
    • иконка - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.
    • текст (объект) - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.
    • описание (объект) - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.
    • esocialfrienditem - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.
    • таблица друзей - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.


  • Окно дарения с двумя списками
    • esocialfrienditem - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.
    • таблица друзей - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.
    • esocialgiftitem - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.
    • таблица подарков - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.


  • Изменить состояние объекта при принятии инвайта - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.
  • Изменить состояние объекта при успешном выполнении задачи - при успешном выполнении задачи переводит объект в состояние
  • Изменить состояние объекта при ошибке выполнения задачи - при ошибке выполнения задачи переводит объект в состояние


Состояния

  • friends - В этом состоянии вызывается авторизация к фейсбуку и заполняются ячейки "таблицы друзей" в соответствии с указанным шаблоном. Отображаются абсолютно ВСЕ друзья, которые есть у пользователя на данный момент
  • friends_debug - Вызывает объекту ESocial дебажную версию заполнения таблицы. В которой мы можем увидеть, как будут располагаться наши расклонированные шаблоны в кол-ве 50 штук. Состояние создано исключительно для теста внешнего вида клонированных объектов
  • friends_inst - В этом состоянии вызывается авторизация к фейсбуку и заполняются ячейки "таблицы друзей" в соответствии с указанным шаблоном. Отображаются только друзья, которые установили себе приложение.
  • invite - состояние, которое желательно вызывать по нажатию на кнопку. При вызове которого открывается фейсбуковское окно, в котором у пользователя появляется возможно выбрать друзей и отправить им приглашение.
  • report - при вызове данного состояния фесбуку передается знание о текущем уровне и количестве коллекций
  • cancel - отменяет последовательность всех текущих задач
  • retry - повторить попытку выполнить текущую задачу
  • continue - отменить текущую задачу и перейти к выполнению следующей в очереди
  • gift_confirm - подтверждает отправку другу подарка
  • gift_fb - открывает окошко со списком друзей, кому можно отправить подарок. Можно выбрать сразу несколько друзей.
  • check_requests - проверяет не пришел ли нам подарок от друга
  • next_gift - показывает следующий подарок в списке, если нам их пришло несколько.
  • refresh_gifts - заполняет таблицу с возможными подарками другу
  • gift_send - вызывается при отправке подарка из окна с двумя таблицами (предметов и друзей)
  • clear_gifts - сбрасывает ограничения на количество подарков в день
  • wish_all - постит на стену фейсбука набор желаемых предметов из таблицы в группе "запрос подарка"
  • gift_info - заполняет поля информацией о предмете который дарим в разделе "окно дарения с двумя списками"
  • remove_gift - удаляет предмет на который тапнули из таблицы желаний. Вызывать это сотояние нужно в следующем тике таймера после нажатия на таблицу (отложить вызов по wait).
  • friends_not_inst - заполнить таблицу друзьями с неустановленной игрой c фейсбука
  • get_me_fb - запросить информацию о себе с фейсбука.
  • logout - разлогиниться из фейсбука удалив всю информацию о друзьях.
  • get_me_google - запросить информацию о себе с гугла.
  • logout_google - разлогиниться из гугла, удалив всю информацию о друзьях.
  • friends_not_inst_google - заполнить таблицу друзьями с неустановленной игрой с гугла.
  • wish_all_google - пожелать все содержимое таблицы в гугл.
  • check_requests_fb - проверить реквесты от других пользователей для fb.
  • friends_not_inst_fb - заполнить таблицу друзьями с неустановленной игрой.
  • friends_not_inst_google - заполнить таблицу друзьями с неустановленной игрой.
  • check_requests_google - проверить реквесты от других пользователей для гугл.
  • get_me_google - запросить информацию о себе с гугла.
  • gift_lb - Показать окно подарка из лидерборда.
  • gift_receive - Получить подарок из окна получения подарков.
  • gift_send_lb - Подтвердить отсылку подарка из лидерборда.
  • gift_confirm - в окне посылки гифта из окна коллекций нажали кнопку ок.
  • invite_lb - Послать приглашение другу из лидербордов.
  • next_inv - следующее окошко успешного инвайта.
  • continue_google - пропустить текущую задачу и перейти к следующей.


Запись состояний в логи

0. STATE_READY, //!< состояние готовности

1. STATE_FRIENDS,

2. STATE_FRIENDS_DEBUG, //!< добавляем фейковых друзей

3. STATE_FRIENDS_INST, //!< заполнить таблицу друзьями с установленной игрой

4. STATE_FRIENDS_NOT_INST, //!< заполнить таблицу друзьями с неустановленной игрой

5. STATE_REPORT, //!< заслать полезную информацию (32бита)

6. STATE_INVITE, //!< показать окно инвайта

7. STATE_CANCEL, //!< отменить весь стек задач

8. STATE_RETRY, //!< повторить текущую задачу

9. STATE_CONTINUE_FB, //!< пропустить текущую задачу и перейти к следующей

10. STATE_CONTINUE_GOOGLE, //!< пропустить текущую задачу и перейти к следующей

11. STATE_NEXT_INV, //!< следующее окошко успешного инвайта

12. STATE_GIFT, //!< показать окно посылки подарка из окна коллекций

13. STATE_GIFT_CONFIRM, //!< в окне посылки гифта из окна коллекций нажали кнопку ок

14. STATE_WISH, //!< запостить на стену "попрошайку"

15. STATE_CHECK_REQUESTS, //!< проверить реквесты от других пользователей

16. STATE_NEXT_GIFT, //!< следующее окошко про полученный подарок

17. STATE_REFRESH_GIFTS, //!< актуализировать содержимое таблицы гифтов

18. STATE_REFRESH_VIP_GIFTS, //!< актуализировать содержимое таблицы гифтов используя исключительно вип подарки

19. STATE_GIFT_SEND, //!< послать подарок из окна с двумя таблицами

20. STATE_LOGOUT, //!< разлогиниться из фейсбука удалив всю информацию о друзьях

21. STATE_CLEAR_GIFTS, //!< сбросить ограничения на число подарков

22. STATE_WISH_TABLE, //!< добавить пожелание в таблицу пожеланий

23. STATE_WISH_ALL, //!< пожелать все содержимое таблицы в фейсбук

24. STATE_REMOVE_GIFT, //!< убрать подарок из таблицы

25. STATE_GIFT_FB, //!< подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)

26. STATE_GIFT_INFO, //!< Обновить информацию о текущих подарках в специальном окне

27. STATE_GIFT_LB, //!< Показать окно подарка из лидерборда

28. STATE_GIFT_SEND_LB, //!< Подтвердить отсылку подарка из лидерборда

29. STATE_GIFT_RECEIVE, //!< Получить подарок из окна получения подарков

30. STATE_INVITE_LB, //!< Послать приглашение другу из лидербордов

31. STATE_GET_ME_GOOGLE, //!< запросить информацию о себе с гугла

32. STATE_FRIENDS_INST_GOOGLE, //!< заполнить таблицу друзьями с установленной игрой

33. STATE_FRIENDS_NOT_INST_GOOGLE, //!< заполнить таблицу друзьями с неустановленной игрой

34. STATE_MESSAGE_FRIEND, //!< послать другу уведомление

35. STATE_FRIENDS_RANDOM, //!< заполнить таблицу случайных друзей

36. STATE_WISH_ALL_GOOGLE, //!< пожелать все содержимое таблицы в гугл

37. STATE_GET_ME_FB, //!< запросить информацию о себе с фейсбука

38. STATE_CHECK_REQUESTS_FB, //!< проверить реквесты от других пользователей для fb

39. STATE_CHECK_REQUESTS_GOOGLE, //!< проверить реквесты от других пользователей для гугл

40. STATE_LOGOUT_GOOGLE, //!< разлогиниться из гугла, удалив всю информацию о друзьях

41. STATE_GIFT_PARSE, //!< Показать окно подарка из парсовой таблицы друзей

42. STATE_GIFT_SEND_PARSE, //!< Подтвердить отсылку подарка из парсовой таблицы друзей

43. STATE_GIFT_PARSE_ENERGY, //!< Показать окно подарка энергии из парсовой таблицы друзей

44. STATE_GIFT_PARSE_VIP, //!< Подарок вип-подарка из окна лидербордов

45. STATE_GIFT_PARSE_RES1, //!< Показать окно подарка монет из парсовой таблицы друзей

46. STATE_GIFT_RECEIVE_NO_DELETE, //!< Получить подарок из окна получения подарков, без удаления запроса

47. STATE_GIFT_REPLY_ENERGY, //!< Послать в ответ энергию

48. STATE_GIFT_REPLY_MORE, //!< Промотать таблицу подарков в клауде на нужного юзера

49. STATE_GIFT_REPLY_RES1, //!< Послать в ответ монеты

50. STATE_GIFT_REPLY_VIP, //!< Послать в ответ монеты

51. STATE_INVITE_PARSE, //!< Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)

52. STATE_GIFT_PARSE_RES1_MULTIPLE, //!< Послать в подарок монетки парсовым друзьям с поддержкой множественного выделения

53. STATE_GIFT_PARSE_ITEM_MULTIPLE //!< отправить множественный подарок в виде предмета, взяв его из поля gift_param

54. STATE_GIFT_PARSE_REFRESH //!< вызвать окно подтверждения отправки VIP подарка


Debug

Для того, что бы отслеживать работу объекта Facebook в папке Documents создаются три файла, которые хранят в себе все знания относительно друзей данного пользователя, их коллекций и уровня:
- facebook_debug_e.xml - создается во время отправки приглашения и при вызове состояния invite
- facebook_debug_s.xml - создается после фидбэка от Facebook'a.
- facebook_debug.xml - создается исключительно в дебажной версии во время отправки объекту Facebook состояния friends или friends_inst Выглядит этот файл приблизительно вот так:

17-03-2014 11-09-06.png

Поля:
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 - получить список игровых сообщений
  • 7 - получить список групп пользователя
  • 8 - лайкал пользователь приложение или нет
  • 9 - обновить мои очки на facebook сервере
  • 10 - отправить игровое сообщение
  • 11 - удалить игровое сообщение на facebook сервере
  • 12 - отправить фоновое сообщение в ленту пользователя

Ошибки

Если ошибка на гугловом устройстве, то к коду добавляется 1000, к примеру ошибка с кодом 9 на гугле будет 1009.


  • 0 - неизвестная ошибка
  • 1 - неизвестная задача
  • 2 - facebook не поддерживается
  • 3 - нет интернета
  • 4 - превышен лимит ожидания запроса
  • 5 - не указаны параметры для выполнения задачи
  • 6 - отмена диалогового окна пользователем
  • 7 - ошибка логина
  • 8 - ошибка авторизации
  • 9 - ошибка прав доступа