作为 Android 开发人员,我应该如何管理生产 API 密钥与开发 API 密钥?

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

我一直在开发这个应用程序,对吧?这是一个涉及所有这些不同 API 的旅程 - Map API 密钥、AdMob 内容和 Firebase 位。但问题在于:当我进行开发时,我需要使用这些测试 API 并将 Firebase 排除在外,这意味着需要进行大量的手动调整。然后,当需要推出最终版本时,我必须将所有内容切换到生产 API,并再次手动将 Firebase 重新投入使用。老实说,这让我很恼火,因为有时我忘记删除那些测试 API,然后就会出现混乱。作为一个对 Android 开发还很陌生的人,我确实可以使用一些关于如何简化此过程的技巧。有人给点建议吗?

以下是我如何管理 Admob ID 的示例:

<!-- production ids -->

<string name="ad_unit_banner">ca-app-45s4d54</string>
<string name="ad_unit_interstitial">ca-app-45s4d54</string>

<!-- Test Ids  -->

<string name="ad_unit_banner">ca-56sd556s</string>
<string name="ad_unit_interstitial">ca-56sd556s</string>

现在在上面的代码中我手动注释了我不需要的内容。这只是为了让您了解我的代码目前有多混乱。

非常感谢!

android android-gradle-plugin android-jetpack-compose android-developer-api
1个回答
0
投票

您可以通过引入新的风格来在 gradle 脚本中进行分离,并为不同的输出风格使用相同的键和不同的值:

productFlavors {
        develop {
            dimension "develop"
            applicationIdSuffix '.develope'
            buildConfigField("String", "BASE_URL", "")

        }
        production {
            buildConfigField("String", "BASE_URL", "")

        }
    }

您可以通过BuildConfig.BASE_URL在android代码中访问BASE_URL

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