两个 Firebase 只链接到一个 Google Cloud Platform?

Posted

技术标签:

【中文标题】两个 Firebase 只链接到一个 Google Cloud Platform?【英文标题】:Two Firebase linked to only one Google Cloud Platform? 【发布时间】:2020-07-23 19:16:55 【问题描述】:

我正在使用游戏服务和 Firebase 开发游戏。

我想要一个调试和发布版本,所以我创建了两个 Firebase 项目。

根据我的理解和所见:

每个新的 Firebase 项目都会创建一个链接的 GCP 项目 在 Google Play 控制台游戏服务中进行调试和发布的正确方法是链接多个应用 在 Google Play 控制台的游戏详情选项卡中,我可以看到我的游戏已链接到 GCP 项目 A。

假设:项目 A = 调试版本,项目 B = 发布版本

首先,在 Play Console 游戏服务中我链接应用调试版本 (A),系统在 OAuth 2.0 Client GCP 项目 A 中创建一个新条目。

但是当我想链接发布版本(B)时,系统会在 OAuth 2.0 客户端中创建一个新条目,但对于 GCP 项目 A 而不是 B,因为游戏已链接到 GCP 项目 A..


那么在 Play Console 中获得两个 Firebase 项目但只有一个游戏的正确方法是什么?

我可以将两个 Firebase 仅链接到一个 GCP 项目吗?

我应该在 Play 管理中心创建两个游戏吗?一个用于调试,一个用于发布?

【问题讨论】:

【参考方案1】:

我没有找到完美的解决方案,因此我选择在 Play Console 中创建两款游戏,一款与 GCP/Firebase 调试版本相关联,一款与发行版相关联。

我将调试和发布应用程序 ID 从“链接的应用程序”添加到我的 Gradle buildTypes 作为 resValue,因此在 androidManifest 中我可以使用正确的 APP ID。

build.gradle:

buildTypes 
    release 
        resValue("string", "GAME_SERVICES_APP_ID", '"MyReleaseAppId"')
    
    debug 
        applicationIdSuffix ".debug"
        resValue("string", "GAME_SERVICES_APP_ID", '"MyDebugAppId"')
    

AndroidManifest:

<meta-data
        android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/GAME_SERVICES_APP_ID" />

希望我去发布应用的时候会没事!

【讨论】:

以上是关于两个 Firebase 只链接到一个 Google Cloud Platform?的主要内容,如果未能解决你的问题,请参考以下文章

com.google.firebase.auth.FirebaseAuth 未链接

Android - Google + 上的 Firebase 动态社交元标记链接

链接现有的Firebase和Google Cloud项目

为啥我无法将电子邮件/密码链接到 Firebase Flutter 中 Google 登录提供商中存在的同一电子邮件?

将 Firebase Analytics 链接到 Big Query 时,何时导出数据?

Firebase.google.com iOS 中的 Firebase 动态链接(Swift)