Google排行榜提交错误:必须连接GoogleApiClient

时间:2017-05-24 10:36:22

标签: android google-play-games

在排行榜中保存得分时遇到问题。

在我的情况下,首先在登录屏幕中是哪个用户使用谷歌登录。 第二个屏幕是游戏活动,在完成游戏后我希望得分保存在排行榜中。

我正在使用以下代码进行GoogleApiClient初始化: -

mGoogleApiClient = new GoogleApiClient.Builder(this)

        .addConnectionCallbacks(this)
        .addOnConnectionFailedListener(this)
        .addApi(Games.API).addScope(Games.SCOPE_GAMES)
        .build();
setContentView(R.layout.activity_game);

保存游戏分数: -

 Games.Leaderboards.submitScore(mGoogleApiClient, getResources().getString(R.string.leaderboard_id), millis);

但是它说: - GoogleApiClient必须连接。

但是当像下面的谷歌客户端添加api标志时,它说你不能使用带有Sign_in_api的Games.Api。

mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this , this )
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addApi(Games.API).addScope(Games.SCOPE_GAMES)
            .build();

基本上我的问题是如何在我的secound活动中连接GoogleApiClient,以便我可以使用Games.Leaderboards.submitScore来保存游戏分数。

任何形式的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

如果您正在使用BaseGameActivity,则不再需要扩展您的活动。相反,使用BaseGameUtils库来解决连接错误并显示对话框。

尝试通过实施GoogleApiClient.ConnectionCallbacksGoogleApiClient.OnConnectionFailedListener接口来初始化GoogleApiClient。有关详细信息,请参阅此documentation

import com.google.android.gms.*;
import com.google.example.games.basegameutils.BaseGameUtils;

public class MyGameActivity extends Activity implements
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener {

有关其他见解,您可能需要查看以下内容: