我们 Android 开发者在使用极光推送时可能会发现,在通过官方控制台进行推送时。只有 iOS 区分了开发和生产环境,而 Android 则没有。但实际开发中又确实经常需要针对开发和生产环境分别来推送,这里就讲解下 JPush 如何实现 Android 应用的不同环境推送。
首先,我们在极光推送官网控制台中创建两个应用,一个用于生产环境,一个用于开发环境。就像这样:
这里推荐开发环境的包名为生产环境的包名加上 .debug 后缀。即包名分别类似于:
这样我们就得到了两个 AppKey ,之后来设置下应用的 AndroidManifest.xml ,在填写 JPUSH_APPKEY 的地方这样写:
<meta-data
android:name="JPUSH_APPKEY"
android:value="${JPUSH_APPKEY_VALUE}"/>
将和 JPush 相关的配置中的您应用的包名替换为 ${PACKAGE_NAME}
然后再设置应用的 build.gradle 文件:
buildTypes {
release {
...
manifestPlaceholders = [JPUSH_APPKEY_VALUE: "生产环境应用的 APP_KEY",
PACKAGE_NAME : "com.jpush.test"]
}
debug {
...
applicationIdSuffix ".debug"
manifestPlaceholders = [JPUSH_APPKEY_VALUE: "开发环境应用的 APP_KEY",
PACKAGE_NAME : "com.jpush.test.debug"]
}
}
到这里就已经大功告成了,通过 Android Studio 直接运行或打包时 Build Type 选择为 debug 生成的应用便是开发环境。而在打包时 Build Type 选择为 release 生成的应用则为生产环境,即正式环境。
作者: Hevin - 极光( JPush 为极光团队账号,欢迎关注)
知乎专栏:极光日报