检测应用程序的阶段(alpha、beta 或生产)

tps*_*lva 6 android mixpanel google-play cordova

我正在使用cordova开发一个android应用程序,我希望使用三个给定的阶段来逐步发布它:

  • IT 测试的 Alpha
  • 合作伙伴测试版
  • 为其他人生产

但是,我使用 mixpanel 来跟踪一些用户输入。Mixpanel 需要一个令牌才能工作,我有 2 个,一个用于测试版,另一个用于生产,它mixpanel.init("token1")在应用程序启动时加载。

目前,我构建了一个没有定义令牌的 apk 以在 alpha 中运行,然后我构建了另一个带有 token1 的 apk 以在 beta 中运行,然后又构建了另一个带有 token2 的 apk 以在 prod 中运行。它有效,但很痛苦。

我希望使用promoteGoogle Play Developer Console 中的选项,这样我就可以构建一个单独的 apk(自动化),在需要时升级到 beta/prod 并知道它处于哪个阶段,因此它相应地使用令牌。

是否可以?如果没有,有没有更好的方法让它工作?

TL;DR想知道应用程序在哪个阶段(alpha/beta/prod)运行,因此它相应地使用令牌变量。

Spe*_*eed 1

我不确定这是否有帮助,但是您是否使用 build.gradle 来制作不同的产品口味?您可以使其在每种类型的构建中生成具有不同最终常量的类。

因此,对于您的产品构建,您可以执行以下操作:

prod {  
applicationId "zuul.com.android"
buildConfigField 'String', 'HOST', '"http://api.zuul.com"'
buildConfigField 'String', 'FLAVOR', '"prod"'
buildConfigField "boolean", "REPORT_CRASHES", "true"
}
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

BuildConfig.HOST  
BuildConfig.FLAVOR  
BuildConfig.REPORT_CRASHES  
Run Code Online (Sandbox Code Playgroud)

然后你就可以拥有一个用于开发版、测试版或其他用途的版本。

查看这些链接:

http://blog.brainattica.com/how-to-work-with-flavors-on-android/

一次部署多个构建变体 - Android studio gradle