Игры Google Play: getRawScore не получает локальный счет в автономном режиме

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

http://developer.android.com/reference/com/google/android/gms/games/leaderboard/OnScoreSubmittedListener.html#onScoreSubmitted(int, com.google.android.gms.games.leaderboard.SubmitScoreResult), если устройство не в сети или в противном случае невозможно опубликовать оценку на сервере. Оценка была сохранена локально и будет отправлена ​​на сервер в следующий раз, когда устройство подключится к сети и сможет выполнить синхронизацию (от клиента не требуется никаких дополнительных действий).

Итак, представьте, что у пользователя есть 100 баллов, баллы вырастут до 200 300 и т. д. и будет обновляться при выходе в онлайн.

К сожалению, при запросе счета с помощью getRawScore Возвращаемая оценка не является автономной, а скорее последним значением с сервера.

Есть ли способ исправить это? Любое обходное решение?


person Waza_Be    schedule 31.01.2014    source источник


Ответы (1)


Я думаю, что это намного хуже: согласно моим тестам, getRawScore() (или любые другие методы, такие как getRank(), ...) возвращают только актуальные данные, если вы отобразили соответствующую таблицу лидеров с намерением по умолчанию. Если вы этого никогда не делали, вы даже не получите значения.

Смотрите мой пост здесь: Играть в игры loadLeaderboardMetadata() возвращает устаревшие данные

[Обновление] Очевидно, вы можете использовать метод loadCurrentPlayerLeaderboardScore вместо метода loadLeaderboardMetadata. Похоже, что он не возвращает устаревшие данные. Проверьте это здесь

person Stéphane    schedule 31.01.2014
comment
Я постараюсь следить за вашим постом, чтобы увидеть, сможем ли мы найти хорошее решение для этого... - person Waza_Be; 31.01.2014