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和個人成就。

有關如何使您的遊戲簡介公開或私密的更多信息,請前往您的設備上玩遊戲。