load-CurrentPlayerLeaderboardScore总是失败

时间:2018-01-08 10:13:56

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

我想让用户在Playstore获得最后一个分数但是我研究了2天而我什么也没得到。最后,我编写了代码(我不确定它是不是错误的代码)但总是失败。

写入load-CurrentPlayerLeaderboardScore删除fk17bH1SYLoBdGsBaDedPR2EE3JUt8oRS7qd的“ - ”

这是代码;

                Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
                .loadCurrentPlayerLeaderboardScore(
                "CgkIiMyT6f0SEAIQHg", LeaderboardVariant.TIME_SPAN_ALL_TIME,
                LeaderboardVariant.COLLECTION_PUBLIC)
                .addOnSuccessListener(this, new OnSuccessListener<AnnotatedData<LeaderboardScore>>(){
                    @Override
                    public void onSuccess(AnnotatedData<LeaderboardScore> leaderboardScoreAnnotatedData) {
                        if (leaderboardScoreAnnotatedData != null) {
                            long score = 0;
                            if (leaderboardScoreAnnotatedData.get() != null) {
                                score = leaderboardScoreAnnotatedData.get().getRawScore();

                                Toast.makeText(MenuActivity.this, Long.toString(score), Toast.LENGTH_SHORT).show();
                            } else
                                Toast.makeText(MenuActivity.this, "null 2", Toast.LENGTH_SHORT).show();
                        } else
                            Toast.makeText(MenuActivity.this, "null 1", Toast.LENGTH_SHORT).show();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(MenuActivity.this, "addOnFailureListener", Toast.LENGTH_SHORT).show();
                    }
                });

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据这些链接12,进行过多调用可能会导致此类错误。建议采取的措施是避免过多滥用游戏服务。此外,您可以尝试传播您的请求,而不是一次性完成所有请求。