我有一個應用程序,使用Google Play遊戲來實施遊戲化。當用戶發佈成就時,我需要知道該用戶的總分是多少,只能通過我的應用進行過濾。例如,假設我的應用試圖獲得10項成就,並且用戶已經發布了其中的四項成就。如何知道用戶發佈的這4項成就所產生的總分?有一種簡單輕便的方法可以做到這一點?Google Play遊戲 - 是否可以獲取僅用於我的遊戲的用戶經驗值?
UPDATE
嗯,我想這代碼,但跳投返回零。
public abstract class GetAchievements {
public void loadAchievements() {
PendingResult<Achievements.LoadAchievementsResult> pendingAchievements = Games.Achievements.load(mGoogleApiClient, true);
pendingAchievements.setResultCallback(new ResultCallback<Achievements.LoadAchievementsResult>() {
@Override
public void onResult(Achievements.LoadAchievementsResult loadAchievementsResult) {
Game game = Games.GamesMetadata.getCurrentGame(mGoogleApiClient);
extractAchievements(loadAchievementsResult, game);
}
});
}
public void extractAchievements(Achievements.LoadAchievementsResult loadAchievementsResult, Game game) {
AchievementBuffer buffer = loadAchievementsResult.getAchievements();
List<Achievement> achievementList = new ArrayList<>();
for (int i = 0; i < game.getAchievementTotalCount(); i++) {
achievementList.add(buffer.get(i));
Achievement a = buffer.get(i);
// aways return 0
Log.d(TAG, "XP = " + a.getXpValue());
}
notifyAchievements(achievementList);
}
public abstract void notifyAchievements(List<Achievement> achievementList);
}
請檢查我的更新 – sThiago