2013-11-07 3 views
1

Я столкнулся со странной ситуацией. При подключении к сервисам Google Play я запрашиваю массив достижений, вызывающий GamesClient.loadAchievements (this, true); В методе onAchievementsLoaded() я вижу, что все мои достижения имеют правильный тип. Чтобы гарантировать, что я вызываю Achievement.getType(), и для каждого из моих достижений он возвращает Achievement.TYPE_INCREMENTAL.Достигнутая игровая система Google Play не является обязательной.

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

GamesClient.incrementAchievementImmediate(this, id, 1); 

В onAchievementUpdated() я получаю StatusCode 3002 (STATUS_ACHIEVEMENT_NOT_INCREMENTAL).

Я в полном расстройстве. Дело в том, что все достижения изначально были другого типа (не инкрементальные), но затем в dev консоли тип был изменен. С тех пор прошло 2 дня.

ответ

1

Это была моя ошибка, я снова пересмотрел свой код и обнаружил, что я отправляю неверный идентификатор достижения. Но ребята из Google тоже уродливы - они сообщают о неправильном коде состояния для этого. В соответствии с документацией ответ должен быть STATUS_ACHIEVEMENT_UNKNOWN. Вместо этого я принимал 3002 STATUS_ACHIEVEMENT_NOT_INCREMENTAL, что меня очень смутило.

 Смежные вопросы

  • Нет связанных вопросов^_^