我相信这个问题很常见,并且与它斗争了很多年。令人惊讶的是,到目前为止,谷歌还没有采取任何措施。
我的游戏支持通过 Google Play 服务 (RealTimeMultiplayer) 玩,但它也可以在本地(无网络)或通过蓝牙玩,无需登录 Google。
当玩家收到通知,接受邀请并且应用程序启动时,它需要一个指示(Intent
可能是一个额外的字段)该应用程序是由邀请激活的(提供GoogleSignInAccount
并且可能Invitation
比两者都好Parcelable
)。有了这样的指示,应用程序会将玩家签到谷歌,接受邀请并直接进入游戏,否则它只会显示启动屏幕而不请求登录。不幸的是,我看不到这样的指示。
我试过 了getLastSignedInAccount
,silentSignIn
希望能打开与邀请相关的帐户。没有!通常,在被邀请激活的情况下 getLastSignedInAccount
返回null
,而silentSignIn
失败(代码显然是 4: SIGN_IN_REQUIRED)。
又一次绝望的尝试。当应用程序由启动器启动时,它使用类别android.intent.category.LAUNCHER
,否则 android.intent.category.INFO
。但是,它不是 100% 的证明,因为当应用程序从 Google Play 商店应用程序启动时,android.intent.category.INFO
也会使用。