Android 关于极光推送时测试和正式的问题

Android 关于极光推送时测试和正式的问题


极光推送并没有提供区分测试和正式的字段,如果想区分测试和正式的环境,可以重新注册一个,在重新注册时,会让你重新填写包名,

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相同,不然会接受不到广播。

  


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 属性值。
 

转: https://blog.csdn.net/cao126197103/article/details/71081301

你可能感兴趣的:(Android)