为什么我不能为同一个包名创建多个OAuth 2.0客户端ID?

Hải*_*ong 9 android oauth google-play-services

这里的教程中,它表明完全可以为同一个包名使用两个OAuth 2.0客户端ID.

您应该创建两个客户端ID,一个具有发布证书指纹,另一个具有调试证书指纹.确保为两者使用相同的包名称.这允许Play游戏服务识别来自您使用任一证书签名的链接APK的呼叫

于是,我按照上面的链接教程:第一去Game ServiceDeveloper Console,Add a new Game.然后我添加了一个Linked app这个游戏,它需要我创建一个OAuth 2.0客户端ID.使用我的发布密钥的SHA1创建第一个客户端ID后,我找不到任何按钮来创建另一个客户端ID.所以我转到Cloud Developer Console,发现我可以在APIs & auth- > 下创建第二个客户端ID Credentials.我使用我debug.keystore的SHA1作为第二个客户端ID.然后我用调试密钥和释放密钥编译和测试我的示例游戏.

但是,在运行应用程序并尝试登录后,结果是只接受使用发布密钥的应用程序(使用第一个客户端ID),而使用调试密钥的应用程序(使用第二个客户端ID)不是公认.

然后我尝试在Cloud Developer Console中删除我的发布密钥的客户端ID(以便调试密钥的客户端ID仍然是那里唯一的客户端ID)并再次测试我的应用程序.这次,接受使用调试密钥的应用程序,并且当然不接受使用释放密钥的应用程序.

这是否意味着我无法为同一个包名创建多个OAuth 2.0客户端ID?

ian*_*ake 11

如同一教程中的红色警告说明所述:

警告:请勿通过Google Developers Console为您的游戏创建新的客户端ID.如果您这样做,Play游戏服务不会将您的游戏设置与客户端ID相关联,这可能会在游戏过程中导致错误.

相反,在开发者控制台的游戏服务部分,转到2. Linked Apps并选择Link another app并按照那里的指示,为其命名,如"游戏名称调试",并使用调试密钥SHA1(每个其他字段应与您的版本相同)应用程序).