我有一个应用程序,使用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