Google Play 游戏 - Activity 自动调用 beginUserInitiatedSignIn()

Posted

技术标签:

【中文标题】Google Play 游戏 - Activity 自动调用 beginUserInitiatedSignIn()【英文标题】:Google Play Games - Activity automatically calling beginUserInitiatedSignIn() 【发布时间】:2014-04-03 17:12:36 【问题描述】:

我最近更新了我的应用中的 Google Play 服务库以使用新的 Google API。这样做时,每当我第一次在未登录的情况下启动 Activity(扩展 BaseGameActivity)时,Activity 都会自动出现登录对话框。

我没有在任何地方拨打任何beginUserInitiatedSignIn() 电话。这很烦人 - 有没有办法解决这个问题?

这是一个日志猫:

03-02 21:13:08.067: W/PopupManager(12332): You have not specified a View to use as content view for popups. Falling back to the Activity content view which may not work properly in future versions of the API. Use setViewForPopups() to set your content view.
03-02 21:13:08.137: D/dalvikvm(12332): GC_FOR_ALLOC freed 223K, 3% free 9306K/9560K, paused 16ms, total 16ms
03-02 21:13:08.197: I/Adreno-EGL(12332): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
03-02 21:13:08.228: D/OpenGLRenderer(12332): Enabling debug mode 0
03-02 21:13:39.771: W/PopupManager(12432): You have not specified a View to use as content view for popups. Falling back to the Activity content view which may not work properly in future versions of the API. Use setViewForPopups() to set your content view.
03-02 21:13:39.891: D/dalvikvm(12432): GC_FOR_ALLOC freed 227K, 3% free 9303K/9560K, paused 17ms, total 17ms

【问题讨论】:

你能发布 Logcat 吗? @MarcoAcierno 我已经添加了一个,但我认为它没有帮助。 对不起我的错误。我以为你出了车祸(也许是糟糕的一天。)。 【参考方案1】:

这是this issue 的默认行为。

FAQ 声明:

[4] 为什么 GameHelper/BaseGameActivity 尝试登录 应用启动?

BaseGameActivity 和 GameHelper 的默认行为是向用户显示 应用程序启动后的登录流程(同意对话框等)。 自然,一旦用户第一次登录,他们就不会看到 同意流程再次,所以这将是一个无缝的体验。这很重要 让用户尽早登录,以便您的应用程序可以使用 立即使用 Google Play Games API(例如,保存 用户使用云保存的进度、解锁成就等)。如果用户 取消登录流程,BaseGameAcitivity/GameHelper 会记住 消除。如果取消的总数达到预定义的 最大值(默认为 3),将不再提示用户登录 应用程序启动。如果发生这种情况,他们仍然可以通过单击登录 您的应用程序的登录按钮(如果您提供)。

[5] 我不喜欢 GameHelper 的新“自动登录”功能。怎么能 我禁用它?

要禁用此功能并返回旧行为,您可以编辑 GameHelper.java 并将 DEFAULT_MAX_SIGN_IN_ATTEMPTS 常量设置为 0,或者 在运行时调用 GameHelper.setMaxAutoSignInAttempts(0),然后调用 GameHelper.setup() (或者,相应地,来自您的 Activity 的 onCreate 方法)。

【讨论】:

以上是关于Google Play 游戏 - Activity 自动调用 beginUserInitiatedSignIn()的主要内容,如果未能解决你的问题,请参考以下文章

带有活动切换的 Google Play 游戏服务多人游戏

打开游戏的时候提示没有google play 服务怎么办?

如何将 Firebase 帐户关联到 Google Play 游戏帐户

Google Play 游戏强制登录

实施 Google Play 游戏时出错

Google Play 游戏服务:编写保存的游戏