【问题标题】:User sign out of Google Play Games Services用户退出 Google Play 游戏服务
【发布时间】:2015-07-12 20:46:52
【问题描述】:

当用户明确退出 Google Play 游戏服务时,我假设他们希望保持退出状态,但我如何确定他们是否这样做了?

当我退出时,onActivityResult() resultCode10001defined as:

需要重新连接时将结果代码发送回调用 Activity。

GoogleApiClient 处于不一致状态,必须重新连接到服务才能解决问题。使用当前连接对服务的进一步调用不太可能成功。

我不确定将此结果代码视为显式退出是否安全,或者是否可能在用户不想保持退出状态的其他情况下发生。

所以我的问题是:我如何确定用户已为我的应用明确退出 Google Play 游戏?

【问题讨论】:

  • 这是我最终在我的应用程序中使用的,到目前为止我还没有遇到任何问题。如果您找到检测退出的更好方法,请告诉我 :)

标签: android google-play-games


【解决方案1】:

根据 Games API 文档(链接如下),您可以使用 Games.signOut() API 异步退出当前用户。

希望这将是适合您的场景使用的 API。

https://developers.google.com/android/reference/com/google/android/gms/games/Games.html#signOut(com.google.android.gms.common.api.GoogleApiClient)

【讨论】:

    【解决方案2】:

    您从 Games 活动中取回该结果代码的唯一原因是用户是否已通过 Google 提供的 UI 退出(除非发生任何非常奇怪的事情)。因此,在这种情况下,您可以合理地假设用户已退出。

    但是,如果您想对此进行检查 - 您可以尝试使用 Games API 重新连接 GoogleApiClient。如果用户已明确退出,这将始终失败并返回 SIGN_IN_REQUIRED 结果。

    正如@TimSim 所述,如果想要在游戏中提供退出功能,则可以使用 Games.signOut API。

    【讨论】:

      猜你喜欢
      • 2016-02-04
      • 1970-01-01
      • 2014-02-02
      • 2017-11-26
      • 2017-05-03
      • 1970-01-01
      • 2013-07-31
      • 2017-09-27
      相关资源
      最近更新 更多