在排行榜中保存得分时遇到问题。
在我的情况下,首先在登录屏幕中是哪个用户使用谷歌登录。 第二个屏幕是游戏活动,在完成游戏后我希望得分保存在排行榜中。
我正在使用以下代码进行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来保存游戏分数。
任何形式的帮助都将受到赞赏。
答案 0 :(得分:0)
如果您正在使用BaseGameActivity
,则不再需要扩展您的活动。相反,使用BaseGameUtils
库来解决连接错误并显示对话框。
尝试通过实施GoogleApiClient.ConnectionCallbacks
和GoogleApiClient.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 {
有关其他见解,您可能需要查看以下内容: