1

我做了一个游戏应用程序,我现在想要添加谷歌成就xp到我的应用程序我应该怎么做,我已经使用这个guide 添加成就,但没有互联网上的指南,我可以发现应该添加玩家的xp。添加XP到Android游戏的应用程序

这里是我的代码解锁的成就,但它不是解锁XP:

void giveAchievements(int counter) { 
    if (counter == 10) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_first_10_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), "CgkI- eXOwZsFEAIQBg", counter); 
     } 
    } 
    if (counter == 50) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_50_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), "CgkI-eXOwZsFEAIQBg", counter); 
     } 
    } 
    if (counter == 100) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_100_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
    if (counter == 250) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_250_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), "CgkI-eXOwZsFEAIQBg", counter); 
     } 
    } 
    if (counter == 500) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_500_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
    if (counter == 1000) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_1000_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
    if (counter == 1500) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_1500_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
    if (counter == 3000) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_3000_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
    if (counter == 5000) { 
     if (getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), 
        getString(R.string.achievement_5000_clicks)); 
      Games.Leaderboards.submitScore(getApiClient(), getString(R.string.leaderboard_leaderboard), counter); 
     } 
    } 
} 
+0

如果我的答案解决了您的问题,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 –

+0

@SimonSchubert你真是一个救命恩人! – superhuman

+0

伟大的,它的作品! –

回答

2

的XP不是基于你的游戏它是基于Google+个人资料。假设您在游戏Orc Genocide中解锁成就,并且您的Google+个人资料将获得500xp的分数。之后,你在游戏中解锁成就并获得1000xp。所以你的Google+个人资料总共有1500xp。

但是你可以很容易地通过自己计算XP并将其存储在SharedPreferences :)

void giveAchievements(int counter) { 
    if (counter == 10) { 
     int xp = getXp(); 
     xp += 500; 
     saveXp(xp); 
     if(getApiClient().isConnected()) { 
      Games.Achievements.unlock(getApiClient(), getString(R.string.achievement_first_10_clicks)); 
      Games.Leaderboards.submitScoreImmediate(getApiClient(), "CgkI- eXOwZsFEAIQBg", counter); 
     } 
    } 
} 

private int getXp() { 
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); 
    return sharedPref.getInt("xp", 0); 
} 

private void saveXp(int xp) { 
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor = sharedPref.edit(); 
    editor.putInt("xp", xp); 
    editor.apply(); 
} 

https://support.google.com/googleplay/answer/3129940?hl=en

当你在游戏中取得的成就,你可以赚取经验值(XP) 和您的Play游戏配置文件中的级别。

当你玩游戏时,当你有 获得的XP或足够的积分来升级你的Play游戏配置文件时,你会看到一个通知。当您升级到 时,您还会在屏幕顶部附近的移动设备 通知栏以及您的Play游戏菜单中看到通知 。

你可以在你与你玩游戏的个人资料页上 玩游戏用游戏查看您的XP和个人成就。

有关如何使您的游戏简介公开或私密的更多信息,请前往您的设备上玩游戏。