在我的 Flutter 应用程序中,我使用 games_services 来管理 Google Play 游戏上的排行榜和游戏保存。这在调试模式下以及使用
flutter run --release
时都可以正常工作。在这两种情况下,应用程序在打开时都会在顶部显示登录横幅,当我尝试访问排行榜等时,它工作得很好。
但是,当我通过
flutter build appbundle
构建 AAB 并将其上传到 Play 商店时,下载的应用程序无法正确连接。它显示的不是顶部的横幅,而是一个覆盖层,要求我选择我的帐户。提交后,它会显示加载旋转器半秒,然后就没有其他内容了。排行榜等不起作用。
不幸的是,我不知道如何调试这个问题,因为它只发生在商店加载的版本中。
flutter build appbundle
应该以与 flutter run --release
相同的方式签署和设置所有内容,所以我不明白这个问题从何而来。我的发布签名密钥与游戏服务上用于 OAuth 的密钥相匹配,并且适用于 flutter run --release
。
我之前也遇到过与
flutter run --release
相同的问题,并通过清理 gradle 缓存来修复它。然而,这似乎对 AAB 不起作用。
Google Play 显然在我不知情的情况下启用了自动应用程序签名。因此它使用附加密钥对应用程序进行了签名,导致与 OAuth 密钥不匹配。