You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Play Games Services V2登录时如何获取GoogleSignInAccount对象

解决方案:从Play Games Services V2获取GoogleSignInAccount对接Firebase

Play Games Services V2的登录逻辑和旧版有差异,你可以通过以下两种方式获取GoogleSignInAccount对象:

1. 从Play Games登录回调中提取

在Play Games登录成功的回调里,通过返回的登录结果获取凭证,再从中提取GoogleSignInAccount:

// 初始化Play Games登录客户端
GamesSignInClient gamesSignInClient = Games.getGamesSignInClient(getApplicationContext());

gamesSignInClient.signIn()
    .addOnCompleteListener(task -> {
        if (task.isSuccessful()) {
            // 获取Play Games授权凭证
            PlayGamesAuthCredential credential = PlayGamesAuthProvider.getCredential(task.getResult().getServerAuthCode());
            // 从凭证中获取GoogleSignInAccount
            GoogleSignInAccount signInAccount = credential.getGoogleSignInAccount();
            
            // 传入Firebase登录方法
            firebaseAuthWithPlayGames(signInAccount);
        } else {
            // 处理登录失败逻辑
        }
    });

2. 直接获取当前已登录的账号

如果Play Games登录已完成,也可以直接调用Google Sign-In基础库的方法获取当前账号:

GoogleSignInAccount signInAccount = GoogleSignIn.getLastSignedInAccount(getApplicationContext());
if (signInAccount != null) {
    firebaseAuthWithPlayGames(signInAccount);
}

关键注意点

  • 确认Firebase控制台已启用Google登录方式,且项目已关联你的Google Play开发者账号。
  • 确保AndroidManifest.xml中配置了必要的网络权限,同时Play Games和Firebase的配置文件已正确导入项目。

内容的提问来源于stack exchange,提问作者AnMe3z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:25:26