Android Google Play Games-是否有可能只为我的游戏过滤用户的体验点?
我有一个应用程序,我正在使用Google Play Games实现游戏化。当用户发布成就时,我需要知道该用户的总分是多少,仅通过我的应用程序过滤。例如,假设我的应用程序尝试获取10项成就,而用户发布了其中的4项。如何知道该用户发布的这4项成果的总分?有一种简单而轻巧的方法可以做到这一点吗 更新 我试过这个代码,但总是返回零Android Google Play Games-是否有可能只为我的游戏过滤用户的体验点?,android,google-play,google-play-games,Android,Google Play,Google Play Games,我有一个应用程序,我正在使用Google Play Games实现游戏化。当用户发布成就时,我需要知道该用户的总分是多少,仅通过我的应用程序过滤。例如,假设我的应用程序尝试获取10项成就,而用户发布了其中的4项。如何知道该用户发布的这4项成果的总分?有一种简单而轻巧的方法可以做到这一点吗 更新 我试过这个代码,但总是返回零 public abstract class GetAchievements { public void loadAchievements() {
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);
}
公共抽象类{
公共事业成就(){
Pendingreult PendingAchievents=游戏.成就.加载(mGoogleApiClient,true);
PendingAchievents.setResultCallback(新的ResultCallback(){
@凌驾
public void onResult(acquisitions.loadAchipmentsResult loadAchipmentsResult){
Game Game=Games.GamesMetadata.getCurrentGame(mGoogleApiClient);
提取成就(加载成就结果、游戏);
}
});
}
公共成就(成就。加载成就结果加载成就结果,游戏){
AchievementBuffer buffer=loadAchievementsResult.GetAchievents();
列表实现列表=新建ArrayList();
对于(int i=0;i
您可以尝试使用com.google.android.gms.games.acquisition
软件包中的acquisition
类
- 为解锁此成就而给予玩家的XP值李>
startActivityForResult
](,int))来打开UI。在下面的代码段中,REQUEST\u
是用作请求代码的任意整数
你知道你为什么得到0了吗?
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient),
REQUEST_ACHIEVEMENTS);