Unable to retrive google play game services leaderboard score

主宰稳场 提交于 2019-12-25 07:50:23

问题


I want to get users score from leaderboard connected to google play game services. I have 6 leaderboards from which game loads only 3 leaderboards other leaderboards data I get null.

if (mGoogleApiClient.isConnected()) {
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_score__normal_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                Log.d("myleader", "score normal : " + mGoogleApiClient.isConnected());
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    int s = (int) c.getRawScore();
                    Log.d("myleader", "score normal : " + s);
                }
            }
        });
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_time__normal_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    long s = c.getRawScore();
                    Log.d("myleader", "time normal : " + s);
                }
            }
        });
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_score__reverse_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    int s = (int) c.getRawScore();
                    Log.d("myleader", "score rev : " + s);
                }
            }
        });
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_time__reverse_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    long s = c.getRawScore();
                    Log.d("myleader", "time rev : " + s);
                }
            }
        });
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_time__zen_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    long s = c.getRawScore();
                    Log.d("myleader", "time zen : " + s);
                }
            }
        });
    Games.Leaderboards.loadCurrentPlayerLeaderboardScore(mGoogleApiClient,
        getString(R.string.leaderboard_best_time__search_mode),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL).setResultCallback(
        new ResultCallback < Leaderboards.LoadPlayerScoreResult > () {
            @Override
            public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
                if (arg0.getScore() != null) {
                    LeaderboardScore c = arg0.getScore();
                    long s = c.getRawScore();
                    Log.d("myleader", "Time search : " + s);
                }
            }
        });

I have score in all 6 leaderboards. Here in first 3 arg0.getScore() is not null and loads leaderboard score but in last 3 leaderboards it shows arg0.getScore() is null... cursor cannot reach to Log writer in that function.

All Leaderboard ID's are correct I have checked that twice before posting Thanks in advance.

来源:https://stackoverflow.com/questions/41468791/unable-to-retrive-google-play-game-services-leaderboard-score

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!