Flutter Google Play 服务

问题描述 投票:0回答:1

我正在创建一个利用 Google Play 游戏的 Flutter 游戏。我使用 game_services 包。

当我尝试登录时,日志显示如下:

代码:

void signin() async {
    try {
      print('account before: $account');
      account = await GamesServices.signIn();
      print('account: $account');
    } catch (e) {
      print('Error on signing: $e');
    }
}

@override
  void initState() {
    signin();
    super.initState();
  }

日志:

I/PlayService( 2169): isAuthenticated: true toString: com.google.android.gms.games.AuthenticationResult@c64b8d0 I/signin  ( 2169): success I/flutter ( 2169): account: null

即使说成功,你也可以看到账户字符串是空的。

我已经完成了这些步骤

  1. 添加了
    game_services
  2. 将 app_id 包含在
    AndroidManifest
  3. 在 Google 云项目中创建了 OAuth 2.0 客户端 ID 和身份验证同意屏幕
  4. 在 android/app/src/main/res/values/games-ids.xml 中添加了 xml 文件

我想知道为什么

account
为空。

flutter flutter-dependencies
1个回答
0
投票

对于那些有同样问题的人,我通过更改代码来解决,如下所示:

try {
      await GamesServices.signIn();
      if (await GamesServices.isSignedIn) {
        // user is signed
      }
}

还要确保您在凭证(OAuth 客户端)内添加了调试和生产的 SHA1 指纹。

© www.soinside.com 2019 - 2024. All rights reserved.