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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Отправка подарка)
 
(не показано 10 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.
 
[[Object|Объект]] '''Esocial''' обеспечивает связь между приложением и Facebook'ом.
 +
  
  
 
=Параметры=
 
=Параметры=
 
  
 
[[Файл:Esocial_full.jpg|right]]
 
[[Файл:Esocial_full.jpg|right]]
*'''facebook''' - ссылка на объект [[facebook]], с которым будет работать объект
 
*'''esocialfriendsitem''' - ссылка на объект esocialfriendsitem, с которым будет работать объект
 
*'''таблица друзей''' - ссылка на таблицу, в которую будем клонировать esocialfriendsitem.
 
*'''индикатор активности''' - объект который видимый когда загружаются друзья. Видимость выключается, когда задача загрузки друзей выполнена (успех или провал не важно).
 
*'''опции для facebook''' - поле в опциях, куда мы будем записывать 32битное целое: Уровень + Коллекции.ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние
 
*'''социальная сеть''' - выбор социальной сети с которой взаимодействовать. На данный момент можно выбрать facebook, google+ и обе.
 
  
*'''специальные подарки'''
 
**'''подарок энергия id''' - id предметы из экономики;
 
**'''подарок энергия количество''' - количество;
 
**'''учитывать максимум энергии''' - если да, то не будет начисляться энергия выше максимума;
 
  
 +
==Общие==
  
*'''Инвайт'''
+
*'''facebook''' ''(facebook)'' - Ссылка на объект типа ''[[Facebook]]'', с которым будет работать объект.
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
+
*'''economics''' ''(economics)'' - Ссылка на объект типа ''[[Economics]]'', с которым будет работать объект.
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
+
*'''esocialfrienditem''' ''(esocialfrienditem)'' - Ссылка на объект типа ''[[esocialfrienditem]]'', с которым будет работать объект.
 +
*'''таблица друзей''' ''(friends)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends
 +
*'''таблица приглашаемых друзей''' ''(friendsnotinst)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst
 +
*'''шаблон вверху таблтицы''' ''(invtemplate)'' - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан
 +
*'''индикатор активности''' ''(activity)'' - Объект - индикатор активности. Будем менять ему визибл
 +
*'''опции для facebook''' ''(fbopt)'' - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.
 +
*'''социальная сеть''' ''(socialnet)'' - социальная сеть: фейсбук=0,гугл=1,обе=2.
 +
*'''дублировать очки в parse''' ''(parse)'' - дублировать очки в parse: нет=0,да=1.
 +
*'''лидерборд parse''' ''(parselb)'' - Имя главной таблицы в parse.
 +
*'''перемешивать приглашаемых''' ''(shuffleinv)'' - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.
 +
*'''добавлять из лидербордов''' ''(addinv)'' - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).
 +
*'''прятать приглашенных''' ''(hideinv)'' - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.
 +
*'''размер аватарки''' ''(picsize)'' - размер автарки (value="128" min="32").
 +
*'''проверять группу''' ''(checkgroup)'' - Проверять вхождение в группу с id.
 +
*'''вступать в сообщество''' ''(joincommunity)'' - вступать в сообщество (пока только вконтакте).
 +
*'''дарение коллекционных''' ''(gift_type)'' - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.
 +
*'''подарки через parse''' ''(gift_parse)'' - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.
 +
 
 +
 
 +
==Подарки==
 +
 
 +
*'''специальные подарки'''
 +
**'''подарок энергия id''' ''(gift_en_id)'' - подарок энергия id;
 +
**'''подарок энергия количество''' ''(gift_en_amount)'' - подарок энергия количество;
 +
**'''учитывать максимум энергии''' ''(gift_en_max)'' - 0 - не учитывать, 1 - учитывать; нет=0,да=1;
 +
**'''подарок монеты id''' ''(gift_res1_id)'' - подарок монеты id;
 +
**'''подарок монеты количество''' ''(gift_res1_amount)'' - подарок монеты количество;
 +
**'''принимать подарки не чаще (сек)''' ''(gift_delay)'' - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.
  
 +
*'''запрос подарка'''
 +
**'''текст''' ''(wishtxt)'' - Общий текст запроса подарка;
 +
**'''завершающий текст''' ''(wishtxt2)'' - Текст, который будет добавлен после списка предметов;
 +
**'''таблица''' ''(wishtbl)'' - Таблица, куда сложим множественный запрос подарков;
 +
**'''ссылка''' ''(href)'' - Ссылка для публикации вишлиста на стене гугл.
  
*'''Успешный инвайт'''
+
*'''отправка подарка'''
**'''Окно''' - Машина, открывающая форму, которая содержит информацию об успешно приглашенном друге. Должна иметь состояние show. На закрытие должна вызывать состояние next_inv объекту esocial
+
**'''заголовок''' ''(gift_t)'' - заголовок инвайта;
**'''Портрет''' - Объект, в который будет сложена иконка друга, подтянутая с facebook
+
**'''сообщение''' ''(gift_m)'' - текст инвайта;
**'''Имя''' - Объект, в который будет сложено имя друга, подтянутое с facebook
+
**'''ограничение''' ''(gift_max)'' - ограничение на число подарков в день;
 +
**'''счетчик''' ''(gift_cnt)'' - счетчик текущих подарков;
 +
**'''заголовок уведомления''' ''(gift_not_t)'' - заголовок уведомления;
 +
**'''сообщение уведомления''' ''(gift_not_m)'' - сообщение уведомления;
 +
**'''viber url''' ''(gift_viber_url)'' - viber url инвайта.
  
 +
*'''запрос подарка'''
 +
**'''заголовок''' ''(ask_t)'' - заголовок инвайта;
 +
**'''сообщение''' ''(ask_m)'' - текст инвайта.
  
*'''Запрос подарка'''
+
*'''окно дарения из окна коллекций'''
**'''Текст''' - текстовый id, в котором будет хранится текст типа:"Мне нужны коллекционные предметы:". После ":" будут перечисляться предметы (названия будут браться из id коллекционных предметов), которые нужны игроку, через запятую.
+
**'''окно''' ''(wndcolgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;
**'''Таблица''' - таблица, в которую будут сложены желаемые предметы из окна коллекции для последующего поста их на стену.
+
**'''иконка''' ''(icocolgift)'' - Иконка предмета;
 +
**'''текст (объект)''' ''(txtcolgift)'' - Текстовый объект в окошке;
 +
**'''описание (объект)''' ''(dsccolgift)'' - Текстовый объект в окошке, в который сложим описание предмета;
 +
**'''esocialfrienditem''' ''(itemcolgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
 +
**'''таблица друзей''' ''(tblcolgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.
  
 +
*'''окно дарения с двумя списками'''
 +
**'''скроллить таблицы''' ''(scroll_gifts)'' - Скроллть таблицы;
 +
**'''esocialfrienditem''' ''(fritwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
 +
**'''таблица друзей''' ''(frtblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
 +
**'''esocialgiftitem''' ''(giitwndgift)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
 +
**'''таблица подарков''' ''(gitblwndgift)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
 +
**'''иконка''' ''(icowndgift)'' - Иконка предмета;
 +
**'''текст (объект)''' ''(txtwndgift)'' - Текстовый объект в окошке;
 +
**'''описание (объект)''' ''(dscwndgift)'' - Текстовый объект в окошке, в который сложим описание предмета;
 +
**'''esocialgiftitem инв.''' ''(giitwndgift_i)'' - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
 +
**'''таблица подарков инв.''' ''(gitblwndgift_i)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.
  
*'''Отправка подарка'''
+
*'''окно дарения из лидербордов'''
**'''Заголовок''' - Заголовок сообщения, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
+
**'''иконка друга''' ''(icofrwndgift)'' - Иконка друга;
**'''Сообщение''' - Сообщение, которое увидит пользователь в фейсбуке, перетаскивается из текстового редактора
+
**'''имя друга''' ''(txtfrwndgift)'' - Имя друга;
**'''Ограничение''' - максимальное количество отправленных подарков в день (может быть сброшено).
+
**'''таблица вишлиста''' ''(wishtblwndgift)'' - Таблица вишлиста друга;
 +
**'''таблица подарков''' ''(gitblwndgift2)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
 +
**'''иконка выбранного подарка''' ''(icofrgiwndgift)'' - Иконка выбранного подарка;
 +
**'''цена выбранного подарка''' ''(cntfrgiwndgift)'' - Цена выбранного подарка;
 +
**'''иконка выбранного подарка 2''' ''(icofrgiwndgift2)'' - Иконка выбранного подарка;
 +
**'''цена выбранного подарка 2''' ''(cntfrgiwndgift2)'' - Цена выбранного подарка.
  
 +
*'''окно приема подарка'''
 +
**'''окно''' ''(wndgetgift)'' - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;
 +
**'''иконка''' ''(icogetgift)'' - Иконка предмета;
 +
**'''текст (объект)''' ''(txtgetgift)'' - Текстовый объект в окошке;
 +
**'''имя''' ''(namegetgift)'' - Тектовый объект куда будет занесено имя друга;
 +
**'''аватарка''' ''(avagetgift)'' - Аватарка друга;
 +
**'''giftreceiveitem''' ''(giftreceiveitem)'' - Объект типа giftreceiveitem;
 +
**'''таблица''' ''(giftreceivetable)'' - Таблица, в которую будем складывать giftreceiveitem.
  
*'''Окно дарения из окна коллекций'''
+
*'''окно входящих запросов подарков'''
**'''окно''' - машина состояния, которая будет показывать окно. Должна иметь состояние open.
+
**'''giftreceiveitem''' ''(giftaskitem)'' - Объект типа giftreceiveitem;
**'''иконка''' - объект, в который будет помещена иконка предмета, который мы хотим подарить другому игроку.
+
**'''таблица''' ''(giftasktable)'' - Таблица, в которую будем складывать giftreceiveitem.
**'''текст (объект)''' - текстовый объект, в который сложится название предмета, который мы хотим подарить другу.
+
**'''описание (объект)''' - текстовый объект, в который сложится описание предмета, который мы хотим подарить другу.
+
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу в окне с подарком другу.
+
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem.
+
  
  
*'''Окно дарения с двумя списками'''
+
==Инвайты==
**'''esocialfrienditem ''' - объект типа esocialfriendsitem (темплейт друга в таблице), который заполнит таблицу друзей.
+
**'''таблица друзей''' - ссылка на таблицу в которую мы клонируем объект esocialfriendsitem из поля выше.
+
**'''esocialgiftitem ''' - объект типа esocialgiftitem (темплейт подарка в таблице), который заполнит таблицу подарков.
+
**'''таблица подарков''' - ссылка на таблицу в которую мы клонируем объект esocialgiftitem из поля выше.
+
  
 +
*'''инвайт'''
 +
**'''заголовок''' ''(invite_t)'' - заголовок инвайта;
 +
**'''сообщение''' ''(invite_m)'' - текст инвайта;
 +
**'''viber url''' ''(invite_viber_url)'' - viber url инвайта;
 +
**'''время повтора''' ''(invite_tm)'' - время в секундах, когда можно повторно пригласить того же игрочка.
  
*'''Изменить состояние объекта при принятии инвайта''' - при успешном принятии приглашения (друг установил приложение) переводит объект в состояние.
+
*'''успешный инвайт'''
*'''Изменить состояние объекта при успешном выполнении задачи''' - при успешном выполнении задачи переводит объект в состояние
+
**'''окно''' ''(invsuc_w)'' - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;
*'''Изменить состояние объекта при ошибке выполнения задачи''' - при ошибке выполнения задачи переводит объект в состояние
+
**'''портрет''' ''(invite_i)'' - портрет игрока;
*'''изменить состояние объекта - дарим энергию выше max''' - обработчик применения энергии, когда дошли за максимум (сработает если '''учитывать максимум энергии''');
+
**'''имя''' ''(invite_n)'' - имя игрока;
  
В опции пишутся параметры инвайтов:
+
В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):
  
 
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено
 
*'''esocial%d.max_invite_total''' - всего инвайтов отправлено
 
*'''esocial%d.max_invite_this''' - за последнюю отправку
 
*'''esocial%d.max_invite_this''' - за последнюю отправку
 
вместо %d - айдишник объекта
 
  
 
Можно проверять в "nst_invite_sent"
 
Можно проверять в "nst_invite_sent"
  
=Состояния=
 
  
 +
==Остальное==
 +
 +
*'''случайные друзья'''
 +
**'''таблица случайных друзей''' ''(friendrandom)'' - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;
 +
**'''количество''' ''(frrandomnum)'' - Количество случайных друзей в таблицу.
 +
 +
*'''уведомление другу'''
 +
**'''заголовок''' ''(notif_t)'' - заголовок уведомления;
 +
**'''сообщение''' ''(notif_m)'' - текст уведомления.
 +
 +
*'''facebook story'''
 +
**'''имя действия - первый me''' ''(fbstoryactionme)'' - Имя действия при первом успешном me;
 +
**'''имя объекта - первый me''' ''(fbstoryobjectme)'' - Имя объекта при первом успешном me;
 +
**'''урл - первый me''' ''(fbstoryurlme)'' - Шаблон урла при первом успешном me;
 +
**'''урл картинки - первый me''' ''(fbstoryurlpicme)'' - Шаблон урла картинки при первом успешном me;
 +
**'''имя действия - кастомное''' ''(fbstoryactioncustom)'' - Имя действия при первом успешном me;
 +
**'''имя объекта - кастомное''' ''(fbstoryobjectcustom)'' - Имя объекта при первом успешном me;
 +
**'''урл - кастомное''' ''(fbstoryurlcustom)'' - Шаблон урла при первом успешном me;
 +
**'''урл картинки - кастомное''' ''(fbstoryurlpiccustom)'' - Шаблон урла картинки при первом успешном me;
 +
**'''forced login - кастомное''' ''(fbstoryforcedcustom)'' - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.
 +
 +
*'''adjust'''
 +
**'''включить adjust''' ''(adjust_on)'' - нет=0, да=1;
 +
**'''инвайт для iOS''' ''(adjinvite_ios)'';
 +
**'''инвайт для Ansroid''' ''(adjinvite_andrd)''.
 +
 +
==Обработчики==
 +
 +
*'''изменить состояние объекта - инвайт принят''' ''(nst_invite)'' - изменить состояние объекта при принятии инвайта.
 +
*'''изменить состояние объекта - успех задачи''' ''(nst_compl_task)'' - изменить состояние объекта при успешном выполнении задачи
 +
*'''изменить состояние объекта - ошибка задачи - Facebook''' ''(nst_err_task)'' - изменить состояние объекта при ошибке выполнения задачи - Facebook
 +
*'''изменить состояние объекта - ошибка задачи - Google''' ''(nst_err_task_google)'' - изменить состояние объекта при ошибке выполнения задачи - Google
 +
*'''изменить состояние объекта - превышено число подарков в день''' ''(nst_many_gifts)'' - изменить состояние объекта при ошибке выполнения задачи
 +
*'''изменить состояние объекта - превышено число подарков одному другу''' ''(nst_many_gifts_fr)'' - изменить состояние объекта при ошибке выполнения задачи
 +
*'''изменить состояние объекта - заход в приложение через соц. сеть''' ''(nst_from_social_net)'' - изменить состояние объекта - заход в приложение через соц. сеть
 +
*'''изменить состояние объекта - получен в подарок объект из вишлиста''' ''(nst_wishlist_got)'' - изменить состояние объекта - получен в подарок объект из вишлиста
 +
*'''изменить состояние объекта - заполнена таблица с подарками''' ''(nst_gifts_table)'' - изменить состояние объекта - заполнена таблица с подарками
 +
*'''изменить состояние объекта - клик по пустому вишлисту''' ''(nst_empty_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту
 +
*'''изменить состояние объекта - клик по непустому вишлисту''' ''(nst_norm_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту
 +
*'''изменить состояние объекта - клик по вип''' ''(nst_vip_wishlist)'' - изменить состояние объекта - клик по пустому вишлисту
 +
*'''изменить состояние объекта - fb post story''' ''(nst_fbpoststory)'' - изменить состояние объекта - fb post story
 +
*'''изменить состояние объекта - инвайт отослан''' ''(nst_invite_sent)'' - изменить состояние объекта - инвайт отослан
 +
*'''изменить состояние объекта - гифт отослан''' ''(nst_gift_sent)'' - изменить состояние объекта - гифт отослан
 +
*'''изменить состояние объекта - внешний лайк - успех''' ''(nst_externallike_yes)'' - изменить состояние объекта - внешний лайк - успех
 +
*'''изменить состояние объекта - внешний лайк - отмена''' ''(nst_externallike_no)'' - изменить состояние объекта - внешний лайк - отмена
 +
*'''изменить состояние объекта - дарим энергию выше max''' ''(nst_energy_above_max)'' - изменить состояние объекта - дарим энергию выше max
 +
*'''изменить состояние объекта - состоялось вступление в сообщество''' ''(nst_join_community)'' - изменить состояние объекта - состоялось вступление в сообщество
 +
*'''изменить состояние объекта - попросили подарок''' ''(nst_ask_gift)'' - изменить состояние объекта - попросили подарок
 +
*'''изменить состояние объекта - слишком много запросов подарков''' ''(nst_ask_fail)'' - изменить состояние объекта - попросили подарок
 +
*'''изменить состояние объекта - заполнена таблица с запросами подарков''' ''(nst_asks_table)'' - изменить состояние объекта - заполнена таблица с запросами подарков
 +
*'''изменить состояние объекта - логин через эппл (успех)''' ''(nst_apple_success)'' - изменить состояние объекта - огин через эппл (успех)
 +
*'''изменить состояние объекта - логин через эппл (ошибка)''' ''(nst_apple_fail)'' - изменить состояние объекта - огин через эппл (ошибка)
 +
*'''еще одна табличка для вишлиста''' ''(one_more_wishlist)'' - еще одна табличка для вишлиста
 +
*'''еще одна экономика''' ''(one_more_economics)'' - еще одна экономика
 +
 +
 +
 +
=Состояния=
  
 
*0. '''ready'''                      -  состояние готовности
 
*0. '''ready'''                      -  состояние готовности
Строка 141: Строка 251:
  
 
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).
 
*66. '''join_community''' - пригласиться к группе, задать в параметр ''joincommunity'' id группы (для ВК).
 +
*--. '''sign_in_with_apple''' - залогинится через Apple.
 +
 +
  
 
=Debug=
 
=Debug=
Строка 201: Строка 314:
  
 
==Ошибки==
 
==Ошибки==
Если ошибка на гугловом устройстве, то к коду добавляется 1000, к примеру ошибка с кодом 9 на гугле будет 1009.
 
 
  
 
*0 - неизвестная ошибка
 
*0 - неизвестная ошибка
Строка 214: Строка 325:
 
*8 - ошибка авторизации
 
*8 - ошибка авторизации
 
*9 - ошибка прав доступа
 
*9 - ошибка прав доступа
 +
 +
Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:
 +
*1007 - ошибка логина в Google Play Games
 +
 +
Если ошибка связана с логином в Apple, то к коду добавляется 2000.
 +
 +
*2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем
 +
*2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем
 +
*2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина
 +
*2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина
 +
*2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина
 +
*2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина
  
 
Для обработки ошибок использовать [[Errormanager|ErrorManager]].
 
Для обработки ошибок использовать [[Errormanager|ErrorManager]].
Строка 229: Строка 352:
 
'''ВАЖНО:'''
 
'''ВАЖНО:'''
 
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что "ST_GET_FRIENDS" отработал с ошибкой "9" или словами "ERR_PERMISSION". Других логик или кодов там нет.
 
Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что "ST_GET_FRIENDS" отработал с ошибкой "9" или словами "ERR_PERMISSION". Других логик или кодов там нет.
 +
  
 
==Слушатели заполнения таблиц==
 
==Слушатели заполнения таблиц==
Строка 240: Строка 364:
 
*Окно приёма подарка ( заполненность таблицы проверям у объекта "esocial" параметры "new_gifts" и "all_gifts"):  
 
*Окно приёма подарка ( заполненность таблицы проверям у объекта "esocial" параметры "new_gifts" и "all_gifts"):  
 
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')
 
**'''Esocial.giftreceivetable ''' - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - '''заполнена таблица с подарками''')
 +
  
  

Текущая версия на 13:05, 30 июля 2020

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


Параметры

Esocial full.jpg


Общие

  • facebook (facebook) - Ссылка на объект типа Facebook, с которым будет работать объект.
  • economics (economics) - Ссылка на объект типа Economics, с которым будет работать объект.
  • esocialfrienditem (esocialfrienditem) - Ссылка на объект типа esocialfrienditem, с которым будет работать объект.
  • таблица друзей (friends) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends
  • таблица приглашаемых друзей (friendsnotinst) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_not_inst
  • шаблон вверху таблтицы (invtemplate) - Объект, который всегда будет первым в таблице приглошаемых друзей, если он задан
  • индикатор активности (activity) - Объект - индикатор активности. Будем менять ему визибл
  • опции для facebook (fbopt) - Поле в опциях, куда мы будем сохранять упакованное в 32-битное целое Уровень + Коллекции. ESocial добавит к ним число друзей и засабмит при вызове соотв. состояние.
  • социальная сеть (socialnet) - социальная сеть: фейсбук=0,гугл=1,обе=2.
  • дублировать очки в parse (parse) - дублировать очки в parse: нет=0,да=1.
  • лидерборд parse (parselb) - Имя главной таблицы в parse.
  • перемешивать приглашаемых (shuffleinv) - перемешивать или сортировать приглашаемых друзей: нет=0,да=1,сортировать=2.
  • добавлять из лидербордов (addinv) - добавлять приглашаемых друзей из глобальных лидербордов (кол-во).
  • прятать приглашенных (hideinv) - прятать приглашенных друзей (аналогично вайберу): нет=0, да=1.
  • размер аватарки (picsize) - размер автарки (value="128" min="32").
  • проверять группу (checkgroup) - Проверять вхождение в группу с id.
  • вступать в сообщество (joincommunity) - вступать в сообщество (пока только вконтакте).
  • дарение коллекционных (gift_type) - 0 - дарим то что есть, при успехе вычитаем, 1 - дарим любой, при успехе не вычитаем.
  • подарки через parse (gift_parse) - 0 - дарим через соцсеть, 1 - дарим через парс, через соцсеть - только уведомления: нет=0, да=1.


Подарки

  • специальные подарки
    • подарок энергия id (gift_en_id) - подарок энергия id;
    • подарок энергия количество (gift_en_amount) - подарок энергия количество;
    • учитывать максимум энергии (gift_en_max) - 0 - не учитывать, 1 - учитывать; нет=0,да=1;
    • подарок монеты id (gift_res1_id) - подарок монеты id;
    • подарок монеты количество (gift_res1_amount) - подарок монеты количество;
    • принимать подарки не чаще (сек) (gift_delay) - Принимать подарки с ресурсами не чаще заданного количества секунд. Работает только для энергии/res1 и только для парсовых подарков.
  • запрос подарка
    • текст (wishtxt) - Общий текст запроса подарка;
    • завершающий текст (wishtxt2) - Текст, который будет добавлен после списка предметов;
    • таблица (wishtbl) - Таблица, куда сложим множественный запрос подарков;
    • ссылка (href) - Ссылка для публикации вишлиста на стене гугл.
  • отправка подарка
    • заголовок (gift_t) - заголовок инвайта;
    • сообщение (gift_m) - текст инвайта;
    • ограничение (gift_max) - ограничение на число подарков в день;
    • счетчик (gift_cnt) - счетчик текущих подарков;
    • заголовок уведомления (gift_not_t) - заголовок уведомления;
    • сообщение уведомления (gift_not_m) - сообщение уведомления;
    • viber url (gift_viber_url) - viber url инвайта.
  • запрос подарка
    • заголовок (ask_t) - заголовок инвайта;
    • сообщение (ask_m) - текст инвайта.
  • окно дарения из окна коллекций
    • окно (wndcolgift) - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;
    • иконка (icocolgift) - Иконка предмета;
    • текст (объект) (txtcolgift) - Текстовый объект в окошке;
    • описание (объект) (dsccolgift) - Текстовый объект в окошке, в который сложим описание предмета;
    • esocialfrienditem (itemcolgift) - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
    • таблица друзей (tblcolgift) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.
  • окно дарения с двумя списками
    • скроллить таблицы (scroll_gifts) - Скроллть таблицы;
    • esocialfrienditem (fritwndgift) - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
    • таблица друзей (frtblwndgift) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
    • esocialgiftitem (giitwndgift) - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
    • таблица подарков (gitblwndgift) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
    • иконка (icowndgift) - Иконка предмета;
    • текст (объект) (txtwndgift) - Текстовый объект в окошке;
    • описание (объект) (dscwndgift) - Текстовый объект в окошке, в который сложим описание предмета;
    • esocialgiftitem инв. (giitwndgift_i) - Ссылка на объект типа esocialfrienditem, с которым будет работать объект;
    • таблица подарков инв. (gitblwndgift_i) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem.
  • окно дарения из лидербордов
    • иконка друга (icofrwndgift) - Иконка друга;
    • имя друга (txtfrwndgift) - Имя друга;
    • таблица вишлиста (wishtblwndgift) - Таблица вишлиста друга;
    • таблица подарков (gitblwndgift2) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem;
    • иконка выбранного подарка (icofrgiwndgift) - Иконка выбранного подарка;
    • цена выбранного подарка (cntfrgiwndgift) - Цена выбранного подарка;
    • иконка выбранного подарка 2 (icofrgiwndgift2) - Иконка выбранного подарка;
    • цена выбранного подарка 2 (cntfrgiwndgift2) - Цена выбранного подарка.
  • окно приема подарка
    • окно (wndgetgift) - Некая машина, олицетворяющая собой само окно предмета. Должна иметь состояние open;
    • иконка (icogetgift) - Иконка предмета;
    • текст (объект) (txtgetgift) - Текстовый объект в окошке;
    • имя (namegetgift) - Тектовый объект куда будет занесено имя друга;
    • аватарка (avagetgift) - Аватарка друга;
    • giftreceiveitem (giftreceiveitem) - Объект типа giftreceiveitem;
    • таблица (giftreceivetable) - Таблица, в которую будем складывать giftreceiveitem.
  • окно входящих запросов подарков
    • giftreceiveitem (giftaskitem) - Объект типа giftreceiveitem;
    • таблица (giftasktable) - Таблица, в которую будем складывать giftreceiveitem.


Инвайты

  • инвайт
    • заголовок (invite_t) - заголовок инвайта;
    • сообщение (invite_m) - текст инвайта;
    • viber url (invite_viber_url) - viber url инвайта;
    • время повтора (invite_tm) - время в секундах, когда можно повторно пригласить того же игрочка.
  • успешный инвайт
    • окно (invsuc_w) - само окошко успешного инвайта, должно иметь состояние show, на закрытие вызывать next_inv есошиалу;
    • портрет (invite_i) - портрет игрока;
    • имя (invite_n) - имя игрока;

В опции пишутся параметры инвайтов (вместо %d - айдишник объекта):

  • esocial%d.max_invite_total - всего инвайтов отправлено
  • esocial%d.max_invite_this - за последнюю отправку

Можно проверять в "nst_invite_sent"


Остальное

  • случайные друзья
    • таблица случайных друзей (friendrandom) - Ссылка на таблицу, в которую будем клонировать esocialfrienditem. Заполнить таблицу - вызвать объекту состояние friends_random;
    • количество (frrandomnum) - Количество случайных друзей в таблицу.
  • уведомление другу
    • заголовок (notif_t) - заголовок уведомления;
    • сообщение (notif_m) - текст уведомления.
  • facebook story
    • имя действия - первый me (fbstoryactionme) - Имя действия при первом успешном me;
    • имя объекта - первый me (fbstoryobjectme) - Имя объекта при первом успешном me;
    • урл - первый me (fbstoryurlme) - Шаблон урла при первом успешном me;
    • урл картинки - первый me (fbstoryurlpicme) - Шаблон урла картинки при первом успешном me;
    • имя действия - кастомное (fbstoryactioncustom) - Имя действия при первом успешном me;
    • имя объекта - кастомное (fbstoryobjectcustom) - Имя объекта при первом успешном me;
    • урл - кастомное (fbstoryurlcustom) - Шаблон урла при первом успешном me;
    • урл картинки - кастомное (fbstoryurlpiccustom) - Шаблон урла картинки при первом успешном me;
    • forced login - кастомное (fbstoryforcedcustom) - Принудительный логин при вызове состояния. ДЕЙСТВУЕТ ТОЛЬКО НА ОДИН ВЫЗОВ, потом сбрасывается в 0; нет=0,да=1.
  • adjust
    • включить adjust (adjust_on) - нет=0, да=1;
    • инвайт для iOS (adjinvite_ios);
    • инвайт для Ansroid (adjinvite_andrd).

Обработчики

  • изменить состояние объекта - инвайт принят (nst_invite) - изменить состояние объекта при принятии инвайта.
  • изменить состояние объекта - успех задачи (nst_compl_task) - изменить состояние объекта при успешном выполнении задачи
  • изменить состояние объекта - ошибка задачи - Facebook (nst_err_task) - изменить состояние объекта при ошибке выполнения задачи - Facebook
  • изменить состояние объекта - ошибка задачи - Google (nst_err_task_google) - изменить состояние объекта при ошибке выполнения задачи - Google
  • изменить состояние объекта - превышено число подарков в день (nst_many_gifts) - изменить состояние объекта при ошибке выполнения задачи
  • изменить состояние объекта - превышено число подарков одному другу (nst_many_gifts_fr) - изменить состояние объекта при ошибке выполнения задачи
  • изменить состояние объекта - заход в приложение через соц. сеть (nst_from_social_net) - изменить состояние объекта - заход в приложение через соц. сеть
  • изменить состояние объекта - получен в подарок объект из вишлиста (nst_wishlist_got) - изменить состояние объекта - получен в подарок объект из вишлиста
  • изменить состояние объекта - заполнена таблица с подарками (nst_gifts_table) - изменить состояние объекта - заполнена таблица с подарками
  • изменить состояние объекта - клик по пустому вишлисту (nst_empty_wishlist) - изменить состояние объекта - клик по пустому вишлисту
  • изменить состояние объекта - клик по непустому вишлисту (nst_norm_wishlist) - изменить состояние объекта - клик по пустому вишлисту
  • изменить состояние объекта - клик по вип (nst_vip_wishlist) - изменить состояние объекта - клик по пустому вишлисту
  • изменить состояние объекта - fb post story (nst_fbpoststory) - изменить состояние объекта - fb post story
  • изменить состояние объекта - инвайт отослан (nst_invite_sent) - изменить состояние объекта - инвайт отослан
  • изменить состояние объекта - гифт отослан (nst_gift_sent) - изменить состояние объекта - гифт отослан
  • изменить состояние объекта - внешний лайк - успех (nst_externallike_yes) - изменить состояние объекта - внешний лайк - успех
  • изменить состояние объекта - внешний лайк - отмена (nst_externallike_no) - изменить состояние объекта - внешний лайк - отмена
  • изменить состояние объекта - дарим энергию выше max (nst_energy_above_max) - изменить состояние объекта - дарим энергию выше max
  • изменить состояние объекта - состоялось вступление в сообщество (nst_join_community) - изменить состояние объекта - состоялось вступление в сообщество
  • изменить состояние объекта - попросили подарок (nst_ask_gift) - изменить состояние объекта - попросили подарок
  • изменить состояние объекта - слишком много запросов подарков (nst_ask_fail) - изменить состояние объекта - попросили подарок
  • изменить состояние объекта - заполнена таблица с запросами подарков (nst_asks_table) - изменить состояние объекта - заполнена таблица с запросами подарков
  • изменить состояние объекта - логин через эппл (успех) (nst_apple_success) - изменить состояние объекта - огин через эппл (успех)
  • изменить состояние объекта - логин через эппл (ошибка) (nst_apple_fail) - изменить состояние объекта - огин через эппл (ошибка)
  • еще одна табличка для вишлиста (one_more_wishlist) - еще одна табличка для вишлиста
  • еще одна экономика (one_more_economics) - еще одна экономика


Состояния

  • 0. ready - состояние готовности
  • 1. friends
  • 2. friends_debug - добавляем фейковых друзей
  • 3. friends_inst - заполнить таблицу друзьями с установленной игрой
  • 4. friends_not_inst - заполнить таблицу друзьями с неустановленной игрой
  • 5. report - заслать полезную информацию (32бита)
  • 6. invite - показать окно инвайта
  • 7. cancel - отменить весь стек задач
  • 8. retry - повторить текущую задачу
  • 9. continue_fb - пропустить текущую задачу и перейти к следующей
  • 10. continue_google - пропустить текущую задачу и перейти к следующей
  • 11. next_inv - следующее окошко успешного инвайта
  • 12. gift - показать окно посылки подарка из окна коллекций
  • 13. gift_confirm - в окне посылки гифта из окна коллекций нажали кнопку ок
  • 14. wish - запостить на стену "попрошайку"
  • 15. check_requests - проверить реквесты от других пользователей
  • 16. next_gift - следующее окошко про полученный подарок17.
  • 17. refresh_gifts - актуализировать содержимое таблицы гифтов
  • 18. refresh_vip_gifts - актуализировать содержимое таблицы гифтов используя исключительно вип подарки
  • 19. gift_send - послать подарок из окна с двумя таблицами
  • 20. logout - разлогиниться из фейсбука удалив всю информацию о друзьях
  • 21. clear_gifts - сбросить ограничения на число подарков
  • 22. wish_table - добавить пожелание в таблицу пожеланий
  • 23. wish_all - пожелать все содержимое таблицы в фейсбук //Теперь только в фейсбук, а для гугла состояние ниже
  • 24. remove_gift - убрать подарок из таблицы
  • 25. gift_fb - подарить текущий подарок через фейбук используя нативный интерфейс фейсбука (т.е. так как сейчас работает гугл, без таблицы друзей)
  • 26. gift_info - Обновить информацию о текущих подарках в специальном окне
  • 27. gift_lb - Показать окно подарка из лидерборда
  • 28. gift_send_lb - Подтвердить отсылку подарка из лидерборда
  • 29. gift_receive - Получить подарок из окна получения подарков
  • 30. invite_lb - Послать приглашение другу из лидербордов
  • 31. get_me_google - запросить информацию о себе с гугла
  • 32. friends_inst_google - заполнить таблицу друзьями с установленной игрой
  • 33. friends_not_inst_google - заполнить таблицу друзьями с неустановленной игрой
  • 34. message_friend - послать другу уведомление
  • 35. friends_random - заполнить таблицу случайных друзей
  • 36. wish_all_google - пожелать все содержимое таблицы в гугл
  • 37. get_me_fb - запросить информацию о себе с фейсбука
  • 38. check_requests_fb - проверить реквесты от других пользователей для fb
  • 39. check_requests_google - проверить реквесты от других пользователей для гугл
  • 40. logout_google - разлогиниться из гугла, удалив всю информацию о друзьях
  • 41. gift_parse - Показать окно подарка из парсовой таблицы друзей
  • 42. gift_send_parse - Подтвердить отсылку подарка из парсовой таблицы друзей
  • 43. gift_parse_energy - Показать окно подарка энергии из парсовой таблицы друзей
  • 44. gift_parse_vip - Подарок вип-подарка из окна лидербордов
  • 45. gift_parse_res1 - Подарок монет из окна лидербордов
  • 46. gift_receive_no_delete - Получить подарок из окна получения подарков без запроса
  • 47. gift_reply_energy - Послать в ответ энергию.
  • 48. gift_reply_more - Промотать таблицу подарков в клауде на нужного юзера
  • 49. gift_reply_res1 - Послать в ответ ресурс1.
  • 50. gift_reply_universal - ответить тем же, что прислали
  • 51. gift_reply_vip - Послать в ответ vip.
  • 52. invite_parse - Послать приглашение другу из парса (но из общей таблицы, не из лидербордов)
  • 53. gift_parse_res1_multiple - отправить множественный подарок в виде монет
  • 54. gift_parse_item_multiple - отправить множественный подарок в виде предмета, взяв его из поля gift_param
  • 55. post_story - фоновое сообщение
  • 56. external_like - "внешнее" окошко лайка
  • 57. clear_timeouts - обнулить таймауты для некоторых тасков
  • 58. refresh_inv_gifts - актуализировать содержимое таблицы инвентарных гифтов
  • 59. wish_inv_add - добавить предмет из таблицы инвентарных в вишлист
  • 60. wish_inv_remove - убрать предмет из таблицы инвентарных в вишлист
  • 61. gift_parse_refresh - Обновить информацию о подарке в соотв. иконках и каунтерах
  • 62. check_requests_abs - проверить реквесты от других пользователей, но только parse
  • 63. switch_social_network - переключить активную социальную сеть, взяв ее айдишник из param
  • 64. invite_random - показать окно инвайта для случайных друзей
  • 66. join_community - пригласиться к группе, задать в параметр joincommunity id группы (для ВК).
  • --. sign_in_with_apple - залогинится через Apple.


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 в проекте.


Задачи

При выполнении состояния Esocial пишет в лог следующее:

onComplete state = %d task = %d,

где номер таска берется из следующего списка (состояния Facebook):

  • 0 - провести авторизацию
  • 1 - закрыть текущую авторизованную сессию
  • 2 - создать диалог для отправки на стену
  • 3 - возвращает данные обо мне
  • 4 - возвращает данные о друзьях
  • 5 - возвращает данные о друзьях, которых можно пригласить в игру
  • 6 - получить список игровых сообщений
  • 7 - получить список групп пользователя
  • 8 - лайкал пользователь приложение или нет
  • 9 - обновить мои очки на facebook сервере
  • 10 - отправить игровое сообщение
  • 11 - удалить игровое сообщение на facebook сервере
  • 12 - отправить фоновое сообщение в ленту пользователя

След. сост. выполняются автоматически, если необходимо:

  • 13 - (ST_AUTO_CHECK_USER_PERMISSIONS) - получить список прав которые пользователь предоставил преложению
  • 14 - (ST_AUTO_CHECK_APP_PERMISSIONS) - получить список прав которые facebook предоставил преложению
  • 15 - (ST_AUTO_GET_WRITE_PERMISSIONS) - запросить у пользователя права на запись
  • 16 - (ST_AUTO_GET_READ_PERMISSIONS) - запросить у пользователя права на чтение
  • 17 - (ST_AUTO_POST_APP_REQUEST) - отправить application request пользователю
  • 18 - (ST_AUTO_CHECK_USER_ACHIEVEMENTS) - проверить текущие ачивки пользователя
  • 19 - (ST_CHANGE_SOCIAL_NETWORK) - изменить соц сеть


Ошибки

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

Если ошибка связана с запросами в Google Play Games, то к коду добавляется 1000, к примеру:

  • 1007 - ошибка логина в Google Play Games

Если ошибка связана с логином в Apple, то к коду добавляется 2000.

  • 2000 - ABS_SYSTEM_SIGNINWITHAPPLE_SUCCESS, // успех - не показываем
  • 2001 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_CANCELED, // отмена пользователем - не показываеем
  • 2002 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_FAILED, // ошибка логина
  • 2003 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_RESPONSE, // ошибка логина
  • 2004 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_INVALID_NOT_HANDLED, // ошибка логина
  • 2005 - ABS_SYSTEM_SIGNINWITHAPPLE_ERROR_UNKNOWN // ошибка логина

Для обработки ошибок использовать ErrorManager.


Пример запроса:

  • подали запрос выполнить задачу (например ST_GET_FRIENDS)
  • сначала проверяем есть ли права у приложения facebook (ST_AUTO_CHECK_APP_PERMISSIONS)
  • потом проверяем есть ли права от пользователя (ST_AUTO_CHECK_USER_PERMISSIONS)
  • если пользователь не давал прав, то просим (ST_AUTO_GET_READ_PERMISSIONS)
  • потом снова проверяем дал ли нам пользователь права (ST_AUTO_CHECK_USER_PERMISSIONS)
  • если весь цикл прошел успешно, то возвращаемся к поставленной задаче (ST_GET_FRIENDS)

ВАЖНО: Если в любом месте произошел сбой, то ты НЕ увидишь конкретное состояние, ты увидишь только что "ST_GET_FRIENDS" отработал с ошибкой "9" или словами "ERR_PERMISSION". Других логик или кодов там нет.


Слушатели заполнения таблиц

Чтобы узнать когда окончательно заполниться таблица, нужно подвязать слушателя в нужном месте:

  • Таблица лидеров:
    • Cloud.table - добавляемое свойство объекту 'Cloud' успешно загружены лидерборды;
  • Друзья и подарки:
    • Cloud.table_fr - добавляемое свойство объекту 'Cloud' успешно загружены друзья;
  • Неиграющие друзья:
    • Esocial.friendsnotinst - машинка-слушатель успеха объекта 'Esocial 'состояние 5 (изменить состояние объекта - успех задачи)
  • Окно приёма подарка ( заполненность таблицы проверям у объекта "esocial" параметры "new_gifts" и "all_gifts"):
    • Esocial.giftreceivetable - машинка-слушатель объекта 'Esocial' (изменить состояние объекта - заполнена таблица с подарками)


Записи в логах

Отправка подарка

  21/3/2017 13:8:59.800: I/GESocial state() state 42 
  21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 gift = 11674 starting to search usid 
  21/3/2017 13:8:59.800: I/GESocial state() New social system state = 42 fb login = 1 gc login = 0 
  21/3/2017 13:8:59.800: I/GESocial state() state 13 
  21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM gift = 11674 
  21/3/2017 13:8:59.800: I/GESocial state() STATE_GIFT_CONFIRM Got id from param, id = 258188181311449 
  21/3/2017 13:8:59.801: I/GESocial load() load curTime = 1492769339 saveTime = 1492769335 (curTime - saveTime) = 4 
  21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM _giftsCur = 0, gift = 11674, id = 258188181311449, _giftsLimit = 50 
  21/3/2017 13:8:59.801: I/GESocial state() STATE_GIFT_CONFIRM soc_net == netFacebook id = 258188181311449, data = 3,241016273040597,11674 
  21/3/2017 13:8:59.805: I/GESocial state() Viber request gift urlId = -1, url = , text =  
  21/3/2017 13:8:59.808: I/GFacebook stPostRequest() stPostRequest -> title = Gift!, message = Иван Козаченко: Here is a gift for you!, 
  data =    3,241016273040597,11674, userId = 258188181311449, 
  excludeUserIds = , frictionless = 1, type = 2, forcedLogin=1