Ich habe eine Anwendung, wo ich Gamification mit Google Play Games implementieren. Wenn ein Benutzer eine Leistung freigibt, muss ich wissen, wie hoch die Gesamtpunktzahl für diesen Nutzer ist, und filtere nur nach meiner App. Angenommen, meine App versucht, 10 Erfolge zu erzielen, und der Nutzer hat vier davon veröffentlicht. Wie kann ich die Gesamtpunktzahl ermitteln, die durch diese 4 vom betreffenden Nutzer veröffentlichten Leistungen erzielt wurde? Es gibt eine einfache und leichte Möglichkeit, dies zu tun?Google Play Games - Ist es möglich, die Erfahrungspunkte des Nutzers nur für mein Spiel zu filtern?
UPDATE
Nun, habe ich versucht, diesen Code, aber aways Null zurück.
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);
}
Bitte überprüfen Sie mein Update – sThiago