我正在开发一个使用cordova的Android应用程序,我希望使用三个给定的阶段逐步发布它:
但是,我正在使用mixpanel来跟踪一些用户输入。
Mixpanel需要一个令牌才能工作,我有两个令牌,一个用于测试,另一个用于制作,当应用启动时,它会加载mixpanel.init("token1")
。
目前,我构建了一个没有定义为在alpha中运行的令牌的apk,然后我构建另一个用token1运行测试版,然后在另一个带有token2的apk上运行prod。它有效,但这很痛苦。
我希望在Google Play开发者控制台中使用promote
选项,因此我可以构建一个单独的apk(自动),在需要时升级为beta / prod并知道它在哪个阶段,所以它相应地使用令牌。
有可能吗?如果没有,是否有更好的方法使其发挥作用?
TL; DR 想知道应用运行的是哪个阶段(alpha / beta / prod),因此它会相应地使用令牌变量。
答案 0 :(得分:1)
我不确定这是否会有所帮助,但您是否正在使用build.gradle来制作不同的产品风格?你可以使它在每种类型的构建中生成一个具有不同最终常量的类。
因此,对于您的prod构建,您可以执行以下操作:
prod {
applicationId "zuul.com.android"
buildConfigField 'String', 'HOST', '"http://api.zuul.com"'
buildConfigField 'String', 'FLAVOR', '"prod"'
buildConfigField "boolean", "REPORT_CRASHES", "true"
}
它出现了这样:
BuildConfig.HOST
BuildConfig.FLAVOR
BuildConfig.REPORT_CRASHES
然后你可以拥有一个用于dev,beta或其他任何东西。
查看以下链接:
http://blog.brainattica.com/how-to-work-with-flavours-on-android/
Deploying multiple build variants at a time - Android studio gradle