Google Play游戏是否支持排名匹配和排行榜?

时间:2016-02-04 01:00:57

标签: google-play-services google-play-games

我几乎决定使用谷歌播放服务来实现我的Android和ios的实时多人游戏。

  1. 我试图弄清楚我是否能够通过在每场比赛结束时根据游戏状态信息增加和减少他们的等级来管理玩家等级。这可能使用他们的XP系统吗?
  2. 我需要能够根据等级进行配对。 (创建有资格互相比赛的球员子集)
  3. 我需要能够显示所有排名和相应用户名的全局排行榜
  4. 这三件事是否可以使用Google Play游戏?

2 个答案:

答案 0 :(得分:1)

  

我正在试图弄清楚我是否能够管理玩家等级   根据比赛状态增加和减少他们的等级   每场比赛结束时的信息。这可能使用XP   他们有系统吗?

您可以使用他们的排行榜来实现xp系统。只需将当前值作为分数保存到排行榜。在下一次xp增加时,您可以加载玩家得分并更新值。以下是此任务的示例代码:

    private int myScore; // collect the new xp in a variable        

    ....

    // save it a specific time, e.g. game end
    if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) {
        PendingResult<Leaderboards.LoadPlayerScoreResult> result = Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,leaderboardId,LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC);        
        result.setResultCallback(new ResultCallback<Leaderboards.LoadPlayerScoreResult>() {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult loadPlayerScoreResult) {
                if(loadPlayerScoreResult != null && loadPlayerScoreResult.getScore() != null){
                    // update the xp value
                    Games.Leaderboards.submitScore(mGoogleApiClient, leaderboardId, loadPlayerScoreResult.getScore().getRawScore()+myScore);
                }
                else {
                    // never submited xp, do it a first time
                    Games.Leaderboards.submitScore(mGoogleApiClient, leaderboardId, myScore);
                }
            }
        });
    }
  

我需要能够根据等级进行配对。 (创建。的子集   有资格互相比赛的球员)

您可以使用RoomConfig Builder中的setVariant()方法实现目标。假设我们用数字1标记XP少于100的玩家。对于那些人,你将在新游戏开始时调用roomConfigBuilder.setVariant(1)。只有具有相同号码的玩家才能相互连接。

Further information: developers google

  

我需要能够显示所有排名和相应用户名的全局排行榜

排行榜系统提供公共和社交(仅限朋友)列表。

答案 1 :(得分:0)

是的,它支持!

这里记录了你需要的一切吗?

Coexisting with Game CenterPlay Games Services