Cloud — различия между версиями
Vlegkun (обсуждение | вклад) м (→Сообщения в лог) |
Vlegkun (обсуждение | вклад) (→Добавляемые параметры) |
||
Строка 24: | Строка 24: | ||
== Добавляемые параметры == | == Добавляемые параметры == | ||
− | [[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' | + | |
+ | [[Файл:+.png]] '''ошибка загрузки данных из cloud: изменить состояние объекта''' - сейчас не применяется, т.к. используем ErrorManager. | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' | + | |
+ | [[Файл:+.png]] '''нечего загружать из cloud: изменить состояние объекта''' - обработчик неуспеха ''parse_load'' в случае отсутствия данных на сервере. | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта''' - | + | |
+ | [[Файл:+.png]] '''подтверждение применения данных из cloud: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия данных на сервере с таким же ''device_id'' | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - | + | |
+ | [[Файл:+.png]] '''применены данные из cloud: изменить состояние объекта''' - обработчик успеха ''parse_apply'', желательно перегрузить лайаут. | ||
*'''объект''' - объект у которого мы меняем состояние. | *'''объект''' - объект у которого мы меняем состояние. | ||
*'''состояние''' - Значение нового состояния. | *'''состояние''' - Значение нового состояния. | ||
− | [[Файл:+.png]] '''синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse | + | [[Файл:+.png]] '''подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта''' - обработчик успеха ''parse_load'' в случае наличия двух комплектов данных на сервере (например, по facebook_id) |
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''в cloud опции хуже, не применям их: изменить состояние объекта''' - обработчик неуспеха ''parse_load'' в случае, когда данные на сервере хуже, чем на текущем устройстве. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''голосование загружено: изменить состояние объекта''' | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проголосовали: изменить состояние объекта''' | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''запрос в парсе успешно выполнен (любой)''' - обработчик успеха любого запроса. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''ошибка, нужно обновить приложение''' - обработчик неуспеха ''parse_load'', когда версия текущего приложения ниже, чем версия опциях на сервере. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проведен серверный resolve''' - обработчик успеха ''parse_apply_server'', желательно перезагрузить лэйаут. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проведена изоляция''' - обработчик успеха ''parse_isolate''. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние'''- новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''успешно проведена разизоляция''' - обработчик успеха ''parse_un_isolate''. | ||
+ | *'''объект''' - объект, состояние которого меняем. | ||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля. | ||
+ | |||
+ | |||
+ | [[Файл:+.png]] '''синхронизируемый параметр между приложениями устройства''' - позволяет синхронизировать конкретный параметр между разными приложениями через parse. | ||
*'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр | *'''группа''' - имя группы, общее для различных приложений, которые синхронизируют данный параметр | ||
*'''параметр''' - имя параметра в группе, общее для различных приложений | *'''параметр''' - имя параметра в группе, общее для различных приложений |
Версия 13:54, 20 ноября 2015
Объект необходим для синхронизации приложения с облаком.
Содержание
Параметры объекта Cloud
parse general
- app - Код приложения из parse
- key - Ключ приложения из parse
- имя игры - Наше внутреннее имя игры в parse
- имя игрока - Имя игрока. Заполнить до любых вызовов состояний
- cloud major field - Главное поле в опциях, по которому будет выбираться версия опций в cloud при кофликте (наибольшее из значений будет приоритетнее)
- автоприменение - Применять лучшие опции автоматически. Если "нет" то нужно подтверждение пользователя.
parse leaderboards
- лидерборд - id таблицы на сервере, в которую будет засылать очки. Начинается с латинской буквы! Не содержит левых символов!
- очки - Очки для отправки. Валидное целое число!
- таблица - объект-таблица, в который сложим очки. Должна иметь три колонки (место-имя-очки), заполнение по строкам - в случае если не указан "шаблон".
- шаблон - объект типа leaderboardsitem для помещения в таблицу
- свое место - каунтер в котором будет место игрока
- свои очки - каунтер в котором будут очки игрока
- запрашивать записей - сколько записей запросить из таблицы
Добавляемые параметры
ошибка загрузки данных из cloud: изменить состояние объекта - сейчас не применяется, т.к. используем ErrorManager.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
нечего загружать из cloud: изменить состояние объекта - обработчик неуспеха parse_load в случае отсутствия данных на сервере.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
подтверждение применения данных из cloud: изменить состояние объекта - обработчик успеха parse_load в случае наличия данных на сервере с таким же device_id
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
применены данные из cloud: изменить состояние объекта - обработчик успеха parse_apply, желательно перегрузить лайаут.
- объект - объект у которого мы меняем состояние.
- состояние - Значение нового состояния.
подтверждение применения данных из cloud при наличии двух комплектов данных в сети: изменить состояние объекта - обработчик успеха parse_load в случае наличия двух комплектов данных на сервере (например, по facebook_id)
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
в cloud опции хуже, не применям их: изменить состояние объекта - обработчик неуспеха parse_load в случае, когда данные на сервере хуже, чем на текущем устройстве.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
голосование загружено: изменить состояние объекта
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проголосовали: изменить состояние объекта
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
запрос в парсе успешно выполнен (любой) - обработчик успеха любого запроса.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
ошибка, нужно обновить приложение - обработчик неуспеха parse_load, когда версия текущего приложения ниже, чем версия опциях на сервере.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проведен серверный resolve - обработчик успеха parse_apply_server, желательно перезагрузить лэйаут.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
успешно проведена изоляция - обработчик успеха parse_isolate.
- объект - объект, состояние которого меняем.
- состояние- новое состояние для объекта из предыдущего поля.
успешно проведена разизоляция - обработчик успеха parse_un_isolate.
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
синхронизируемый параметр между приложениями устройства - позволяет синхронизировать конкретный параметр между разными приложениями через parse.
- группа - имя группы, общее для различных приложений, которые синхронизируют данный параметр
- параметр - имя параметра в группе, общее для различных приложений
- объект - объект у которого синхронизируем параметр.
- параметр объекта - параметр который синхронизируем.
Состояния
- parse_load - загружает из облака опции
- parse_save - сохраняет опции в клауд. Автоматически сохраняется при переходе с экрана на экран и при выходе из приложения.
- parse_apply - применяет загруженные опции.
- parse_leaderboards - загружает в таблицу лидербордов записи.
- parse_submit - отправляет очки в клауд. Предварительно нужно записать кол-во очков в параметр score.
Сообщения в лог
Объект пишет в опции строки: I/GCloud GCloud::state() state val = 2 state = 3
Где val = 2 - это состояние в которое хотим перейти в дальнейшем ( в зависимости от текущего состояния, или сстанет в очередь или выполниться следующим тиком).
- state = 3 - это состояние в котором сейчас находиться объект;
Номера состояний:
- 0 - ST_LOCAL_DEVICE_SYNCHRONIZATION //!< синхронизация параметров между приложениями одного устройства;
- 1 - ST_PARSE_RESOLVE //!< ресолвим конфликт и ждем подтверждения;
- 2 - ST_PARSE_IDLE //!< состояние простоя, означает, что мы не ждем ответа ни на один запрос;
- 3 - ST_PARSE_LOAD //!< загрузить опции из парса (вызываться должно снаружи, после ввода имени) ;
- 4 - ST_PARSE_SAVE //!< сохранить опции в парс c учетом предохранительной задержки SAVE_DELAY_SEC (на 2014-09-17 вызывается из единственного места - GOptions::save);
- 5 - ST_PARSE_LEADERBOARDS //!< загрузить лидерборды из парса и сложить в соответствующую таблицу;
- 6 - ST_PARSE_LEADERBOARDS_FRIENDS //!< загрузить лидерборды из парса и сложить в соответствующую таблицу;
- 7 - ST_PARSE_SUBMIT //!< заслать очки в парс взяв очки из поля score и уровень из поля level;
- 8 - ST_PARSE_APPLY //!< применить скачанные опции;
- 9 - ST_GET_PUBLIC_LB //!< скопировать паблик данные кликнутого юзера из лидербордов в доступную область;
- 10 - ST_PARSE_POLL //!< получить данные о текущем опроснике от клауда. Заполнить таблицу ответов;
- 11 - ST_PARSE_POLL_PREV //!< получить данные о предыдущем опроснике от клауда. Заполнить таблицу ответов №2;
- 12 - ST_PARSE_VOTE //!< проголосовать в текущем опроснике (номер ответа возьмем из таблицы) TODO - не нужно ли состояний против и за?;
- 13 - ST_PARSE_SHARE_POLL //!< зашарить результаты текущего опроса;
- 14 - ST_PARSE_FORCED_SAVE //!< сохранить опции в парс незамедлительно (на 2014-09-17 вызывается из единственного места - GOptions::save);
- 15 - ST_PARSE_APPLY_SERVER //!< применить опции и отправить ресолв;
- 16 - ST_PARSE_CLEAR_NOTIFICATIONS //!< отписаться от уведомлений;
- 17 - ST_PARSE_ADD_NOTIFICATION //!< добавить уведомление (не требует действий с сетью, реальная отправка - по потере фокуса);
- 18 - ST_PARSE_TIME //!< запросить время;
- 19 - ST_PARSE_FRIENDS //!< заполнить таблицу всех друзей (новые подарки);
- 20 - ST_PARSE_ISOLATE //!< отказаться от слияния аккаунтов;
- 21 - ST_PARSE_UN_ISOLATE //!< отменить изоляцию