【发布时间】:2021-07-02 17:14:02
【问题描述】:
我正在开发一个使用 Firebase 来实现一些不同功能的 Android 应用。我目前正在尝试从单个 Firebase 项目扩展到 3 个来代表开发、暂存和生产环境。
由于我正在使用的另一个工具 (RevenueCat) 的限制,我的所有项目都需要使用相同的包 ID。我注意到这个设置是,即使使用不同的 google-services.json 文件,我总是指向我原来的生产 Firebase 项目。
我四处搜索并看到了一些关于需要在 Android 上添加 SHA-1 值以区分应用程序的内容。我尝试将 SHA-1 从 Google Play 控制台中的应用程序签名密钥证书添加到生产项目,并将 SHA-1 从 ./gradlew signingReport 输出添加到暂存项目。不幸的是,仍然没有骰子。
有没有人有这种设置的经验或任何其他想法可以尝试?非常感谢!
【问题讨论】:
-
你能解释一下为什么你需要对 debug/uat/prod 使用完全相同的包 ID,我没有使用 RevenueCat 的经验,但是有什么限制。
-
是的,当然。 RevenueCat 主要充当 Android/iOS 上的原生支付和应用程序代码之间的抽象层。但是,您的应用内购买设置方式全部在本地商店中,并且商店要求您为您的应用指定单个捆绑 ID(据我所知)。例如,我无法在 Google Play 控制台上将我的捆绑包 ID 指定为
com.example.app/com.example.app.dev/com.example.staging。 -
您为什么不在 RevenueCat 中也制作三个应用程序?那么 Firebase + RevenueCat 中的每个环境都有一个应用程序吗?
-
不幸的是,事实的来源是 App Store/Google Play Store。所以我很确定这将涉及在每个应用程序中创建 3 个单独的应用程序,我觉得肯定有比这更好的解决方案。