从Google Play游戏服务获得用户分数?

Sud*_*rya 4 android google-play-games

我是Android App开发的新手.我想从Google Play游戏服务中检索用户的分数,我使用以下代码获得高分,但我不知道它如何返回值以及如何保存它.

Games.Leaderboards.loadCurrentPlayerLeaderboardScore(getApiClient(), getString(R.string.highscore), LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC);
Run Code Online (Sandbox Code Playgroud)

将其保存为int或string不起作用.

Plu*_*gie 7

loadCurrentPlayerLeaderboardScore的完整参数如下所示

     Games.Leaderboards.loadCurrentPlayerLeaderboardScore(getApiClient(),
            getString(R.string.word_attack_leaderboard),
            LeaderboardVariant.TIME_SPAN_ALL_TIME,
            LeaderboardVariant.COLLECTION_PUBLIC).setResultCallback(
            new ResultCallback<LoadPlayerScoreResult>() {

                @Override
                public void onResult(LoadPlayerScoreResult arg0) {
                    LeaderboardScore c = arg0.getScore();
                    long score = c.getRawScore();
                }
             }
Run Code Online (Sandbox Code Playgroud)

R.string.word_attack_leaderboard是从Google Play游戏服务获得的排行榜ID


Oge*_*gen 6

方法:

loadCurrentPlayerLeaderboardScore (GoogleApiClient apiClient, String leaderboardId, int span, int leaderboardCollection)

回报

PendingResult<Leaderboards.LoadPlayerScoreResult>

然后你必须使用类的getScore()方法Leaderboards.LoadPlayerScoreResult来获取它.

请看这些链接......

loadCurrentPlayerLeaderboardScore方法

PendingResult中的LoadPlayerScoreResult

编辑:这是你如何使用它.

Games.Leaderboards.loadCurrentPlayerLeaderboardScore().setResultCallback(new ResultCallback<LoadPlayerScoreResult>() {

            @Override
            public void onResult(LoadPlayerScoreResult arg0) {
                LeaderboardScore c = arg0.getScore();
            }

        });
Run Code Online (Sandbox Code Playgroud)

这就是你得分的方法.