Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Google play排行榜-无法提交分数_Android_Google Play Services - Fatal编程技术网

Android Google play排行榜-无法提交分数

Android Google play排行榜-无法提交分数,android,google-play-services,Android,Google Play Services,我最近在我的应用程序中实现了一个google play服务排行榜,但发现它没有提交分数 我有一个来自MainActivity的GoogleAppClient实例,它被声明为静态的,用于其他活动。访问排行榜的代码位于MainActivity中 public static GoogleApiClient apiClient = apiClient = new GoogleApiClient.Builder(this) .addApi(Games.API)

我最近在我的应用程序中实现了一个google play服务排行榜,但发现它没有提交分数

我有一个来自MainActivity的GoogleAppClient实例,它被声明为静态的,用于其他活动。访问排行榜的代码位于MainActivity中

public static GoogleApiClient apiClient = apiClient = new GoogleApiClient.Builder(this)
                .addApi(Games.API)
                .addScope(Games.SCOPE_GAMES)
                .enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                        Toast.makeText(MainActivity.this, "Failed to connect to google play", Toast.LENGTH_LONG).show();
                    }
                })
                .build();
提交分数的代码位于从第二个活动的onActivityResult调用的方法中(并且在onCreate中一次用于测试)。因为它位于onActivity结果中,所以GoogleAppClient不会立即连接,如果我直接更新,会导致失败,所以我做了如下操作:

MainActivity.apiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
            @Override
            public void onConnected(@Nullable Bundle bundle) {
                PendingResult r = Games.Leaderboards.submitScoreImmediate(MainActivity.apiClient,
                        getString(R.string.leaderboard_most_stars),
                        totalStars);
                ResultCallback callback = new ResultCallback()
                {
                    @Override
                    public void onResult(@NonNull Result result) {}
                };
                r.setResultCallback(callback);
            }

            @Override
            public void onConnectionSuspended(int i) {

            }
        });
但由于某种原因,它未能提交分数。排行榜负载,只是显示没有分数

wierd的问题是,它可以在测试帐户的模拟器上正常工作


有人能帮忙指出错误吗?

如果您还没有这样做,请检查并确保您正确提供了签名证书的SHA-1。请注意,发布证书指纹与调试证书指纹不同

要获取发布证书指纹,请执行以下操作:

keytool -exportcert -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

除此之外,我建议你也要考虑尤其是对./P>>P>如果你没有这样做,检查并确保你已经正确地提供了SHA-1的签名证书。请注意,发布证书指纹与调试证书指纹不同

要获取发布证书指纹,请执行以下操作:

keytool -exportcert -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

此外,我建议你也要考虑尤其是对./P>你是否检查过结果,看看有没有线索?它在模拟器上工作,我检查过日志和祝酒词,这是意料之中的事。由于某些原因,它不能在真正的设备上工作。你有没有试着检查结果,看看其中是否有任何线索?它在模拟器上工作,我用日志和祝酒词检查过,这是意料之中的。只是因为某些原因,它不能在真正的设备上工作。嗯,到目前为止,我从没有在终端上做过任何事情。。我试过了,但它说密钥库存在于该位置,但为空。另外,我目前没有满足检查表中的所有登录要求(没有手动登录。这是原因吗?嗯,到目前为止,我从未从终端做过任何事情。我尝试过,但它说密钥库存在于该位置,但为空。此外,我目前没有满足检查表中的所有登录要求(没有手动登录。这是原因吗?