微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

> Alpha用于IT测试
>合作伙伴测试版
>为其他人生产

但是,我正在使用mixpanel来跟踪一些用户输入.
Mixpanel需要令牌才能工作,我有2个令牌,一个用于测试,另一个用于制作,当应用启动时,它会加载mixpanel.init(“token1”).

目前,我构建了一个apk,没有定义为在alpha中运行的令牌,然后我构建另一个用token1运行测试版,然后在另一个带有token2的apk上运行prod.它有效,但这很痛苦.

我希望在Google Play开发者控制台中使用促销选项,因此我可以构建一个单独的apk(自动),在需要时升级为beta / prod,并知道它在哪个阶段,因此它会相应地使用令牌.

可能吗?如果没有,有没有更好的方法使它工作?

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

解决方法:

我不确定这是否会有所帮助,但您是否正在使用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  

然后你可以有一个用于开发,测试或其他任何东西.

看看这些链接

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

Deploying multiple build variants at a time – Android studio gradle

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐