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