在启动时禁用Google Play服务自动登录是否可行?

5
我已经将较新的Google Play游戏服务整合到我的应用程序中,我可以看到在启动我的应用程序时,会自动登录。我想知道是否可以禁用此功能,因为我想给用户提供该选项。我搜索了BaseGameUtils提供的代码,但是我无法看到任何调用登录功能的地方。
如有帮助,敬请回复!
谢谢 :)
2个回答

9
根据此问题,在他们的最佳实践视频中,自动登录是推荐的模式。正如他们在常见问题解答(第4和5个问题)中所指出的:
[4] 为什么GameHelper/BaseGameActivity在应用程序启动时尝试登录? BaseGameActivity和GameHelper的默认行为是在应用程序启动时向用户显示登录流程(同意对话框等)。一旦用户第一次登录,他们就不会再看到同意流程,因此这将是一个无缝的体验。让用户尽早登录非常重要,这样您的应用程序就可以立即利用Google Play游戏API(例如,使用云保存保存用户的进度,解锁成就等)。如果用户取消登录流程,BaseGameAcitivity/GameHelper将记住该取消。如果取消数量总数达到预定义的最大值(默认值为3),则用户将不再被提示在应用程序启动时进行登录。如果发生这种情况,则仍可以通过单击应用程序的“登录”按钮(如果您提供了该按钮)来登录。
[5] 我不喜欢GameHelper的新“自动登录”功能。我该如何禁用它? 要禁用此功能并返回旧行为,您可以编辑GameHelper.java并将DEFAULT_MAX_SIGN_IN_ATTEMPTS常量设置为0,或在运行时调用GameHelper.setMaxAutoSignInAttempts(0),然后调用GameHelper.setup()(或从Activity的onCreate方法中相应地调用)。

非常感谢!我甚至不知道这个视频的存在。我只是无意中使用SDK管理器进行更新,结果把所有东西都毁坏了——我甚至没有意识到有Google Play Games的更新,所以我一直在重写我的成就/排行榜逻辑。再次感谢! - opposite of you

0

是的,这是可能的。我知道这是一个老问题,但我一直在寻找答案,而且我很难找到(感谢Google)。这个问题首先弹出来,所以从另一个问题中,答案是使用getGameHelper().setMaxAutoSignInAttempts(0);,如此处所述。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接