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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Очки)
(Очки)
Строка 36: Строка 36:
 
[[Файл:Gc2_new.jpg]]
 
[[Файл:Gc2_new.jpg]]
  
Далее когда у нам нужно отправить какое то достижение мы  
+
Далее когда у нам нужно отправить какое то достижение мы объекту в параметре передаем внутренний id ачивки которую нужно отправить и передаем состояние
  
 
[[Файл:Gc3_new.jpg]]
 
[[Файл:Gc3_new.jpg]]

Версия 10:03, 20 февраля 2014

Объект используется для отправки данных на gamecenter. Отправлять можно набранные очки (score) или достижения (achievement).

Параметры и модификаторы

Gc1.jpg
  • положение - определяет положение объекта на сцене.
  • размер - определяет размер объекта на сцене.
  • achievement - достижение, которое будем отправлять.
  • achievement percent - на сколько процентов завершено достижение.
  • score - очки, которые мы будем отправлять.
  • score category - категория, в которую мы отправляем очки (ссылка на leaderboard).
  • состояние - состояние, которое мы передаем объекту gamecenter
authenticate - состояние, по которому начинается авторизация мобильного 
устройства на геймцентре.
score - состояние, по которому отправляются очки.
achievement - состояние, по которому отправляются достижения.
score_show - состояние, по которому можно посмотреть очки на геймцентре.
achievements_show - состояние, по которому можно посмотреть достижения.

Пример применения

На геймцентр можно отправлять очки и достижения. Для того, чтобы к объекту gamecenter был доступ, его лучше размещать на глобальном экране. Рассмотрим на примере отправку очков и достижений.

Очки

Для того, чтобы объект gamecenter мог обмениваться данными с геймцентром, он должен сначала авторизироваться. Проводить авторизацию нужно на экране, предшествующему экрану, где нужно отправлять очки. Для этого можно сделать отдельную машину.

Gc2.jpg

Все очки, лидер бордеры, ачивки прописываются в обеъкте Gamecenter, каждая ачивка или score добавляется дополнительным параметром.

Gc1 new.jpg

Для каждой ачивки или score нужно прописать ее внутренний id и заполнить поля внешние ссылки для различных платформ iOS, Amazon и т.д.

Gc2 new.jpg

Далее когда у нам нужно отправить какое то достижение мы объекту в параметре передаем внутренний id ачивки которую нужно отправить и передаем состояние

Gc3 new.jpg

Чтобы посмотреть очки мы передаем объекту gamecenter состояние score_show.

Достижения

Аналогично очкам, для отправки достижений нужно сначала авторизироваться. Для отправки достижений необходимо последовательно заполнить следующие параметры.

Gc4.jpg

Для просмотра достижений нужно передать объекту gamecenter состояние achievements_show.

Отличительной особенностью достижений является то, что при успешной авторизации в опции записывается параметр, отвечающий за то или иное достижение. Поэтому эту информацию всегда можно считать из опций и использовать в игре. Выглядит она в опциях как параметр Gc5.jpg, значение которого = 1.

Примечания и дополнения

Для того, чтобы понимать что происходит с объектом gamecenter по логу viewer, приведен ряд значений, которые может получать GGamecenter (state=n, где n - номер состояния):

n     состояние                          пояснение
0    ST_IDLE=0,                         // состояние простоя
1    ST_NOT_SUPPORTED,                  // геймцентр не поддерживается на устройстве
2    ST_AUTHENTICATE,                   // попытаться авторизоваться
3    ST_AUTHENTICATION_ERROR,           // ошибка авторизации
4    ST_AUTHENTICATED,                  // успешно авторизовались
5    ST_REPORT_ACHIEVEMENT,             // запостить ачивку
6    ST_ACHIEVEMENT_SUCCESS,            // ачивка успешно отправлена
7    ST_ACHIEVEMENT_FAILED,             // не удалось отправить ачивку
8    ST_SHOW_ACHIEVEMENTS,              // показать стандартный гуи с ачивками
9    ST_REPORT_SCORE,                   // отправить очки
10   ST_SCORE_SUCCESS,                  // очки успешно отправлены
11   ST_SCORE_FAILED,                   // не удалось отправить очки
12   ST_SHOW_LEADERBOARDS,              // показать стандартный гуи с очками

Например, GGameCenter::state old_state = 1, state = 5,
где:
old_state - предыдущее состояние,
state - текущее состояние.

Проверка получения achievement

Есть возможность проверять из редактора (на компьютере) приходят ли achievements - для этого в файлике Viewer_Log нужно найти строчку:

GGameCenter::reportAchievement achievement = %s, percent = %d


где,
%s - имя ачивмента (ссылочка которую дают маркетологи)
%d - число процента

Отключение неиспользуемого функционала

Если в проекте не используются лидерборды, ачивки, синхронизацию между устройствами, то их можно принудительно отключить вписав в app.icf или platform.icf следующие строки:


[GameCenter]
Achievements=1 
Leaderboards=1
Whispersync=0

1 - используется, 0 - не используется

по умолчанию:

Achievements=1
Leaderboards=1
Whispersync=0


Whispersync