版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cao126197103/article/details/71081301
极光推送并没有提供区分测试和正式的字段,如果想区分测试和正式的环境,可以重新注册一个,在重新注册时,会让你重新填写包名,
release: com.jpush.test
debug: com.jpush.test.debug
然后我们配置gradle,
buildTypes {
release {
manifestPlaceholders = [
JPUSH_PKGNAME: "极光注册时填写的包名",
JPUSH_APPKEY : "正式appkey",
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
}
debug {
...
applicationIdSuffix ".debug"
manifestPlaceholders = [
JPUSH_PKGNAME: "极光注册时填写的包名",
JPUSH_APPKEY : "测试appkey",
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
]
}
}
在配置manifast时配置极光的广播的时候会需要一个包名,这个包名你不能固定,要和applicationId相同,不然会接受不到广播。
<category android:name="${JPUSH_PKGNAME}" />
applicationIdSuffix :applicationId 的后缀,添加上这个后,你的applicationId 就是拼接上这个后缀。
PackageName和ApplicationId的区别:
Android 利用 Gradle 作为 Build System 之后:不同的 flavor 或者 build type 可以拥有不同的 application id,也就是不同的进程 id。
productFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "com.example.my.pkg.free"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
**application id 与 package name 分工明确。
application id 负责 App 的进程 ID
package name 负责 R 的包名以及 Manifest 中 Activity 等四大组件的相对包名**
如果 build.gradle 中没有指定 applicationId,那么 application id 的默认值就是 manifest 的 package 属性值。
关于极光推送的另一种方法:
只需要注册一个应用,在给服务器RegistrationID的时候,给这个RegistrationID添加一个字段比如说beta,根据让服务器根据这个字段来判断是不是测试服,来推送
笔记一下时间久了有点忘了
三元运算 1==2?true:false;