项目需要 替换原有推送 改成极光推送加厂商渠道,集成极光推送 很简单,这里不再多介绍。接下来说一下极光的厂商对接流程:
首先极光推送对各个厂商通道对接是没有在开发者平台提供文档的,需要申请VIP资格后,极光才会提供对应对接文档。
2.1小米通道对接:
1.在小米开发者平台申请对应推送账号 appId key 等
2 增加小米插件包及小米推送包
3 配置小米推送sdk所需要的权限
4 配置小米必须的组件
5 配置JPush接受的小米sdk的消息接受类
6 将XIAOMI_APPKEY与XIAOMI_APPID替换为在小米后台注册对应该应用的AppKey/AppID
小米的流程相对简单 根据提供的vip 文档复制粘贴就行了。
2.2华为通道对接:
- 1添加 Huawei SDK 到项目中
- 2 配置接收 HMS 消息的广播接收器
- 3 在build.gradle中配置在华为后台添加的指纹证书对应的签名
添加 Huawei SDK 到项目中
-
拷贝third-push/huawei/libs中的插件包(jpush-android-plugin-huawei-v3.x.x.jar)到工程libs目录下
注意:也可使用jcenter集成方式,无需拷贝jpush-android-plugin-huawei-v3.x.x.jar文件,也无需配置cn.jpush.android.service.PluginHuaweiPlatformsService组件
示例:implementation 'cn.jiguang.sdk.plugin:huawei:3.x.x'
在 Huawei 上创建和 JPush 上同包名的待发布应用,创建完成后下载该应用的 agconnect-services.json 配置文件并添加到应用的 module 目录下。
在根级 build.gradle 中添加规则,以纳入 HMS 服务插件 和 华为 的 Maven 代码库,可根据华为开发者联盟发布的版本更新选择最新版本:
ldscript {
repositories {
google()
jcenter()
maven {url 'http://developer.huawei.com/repo/'}
}
}
buildscript {
dependencies {
classpath 'com.huawei.agconnect:agcp:1.2.1.301'
}
}
allprojects {
repositories {
google()
jcenter()
maven {url 'http://developer.huawei.com/repo/'}
}
}
- 在应用 module 的 build.gradle 文件底部添加 apply plugin 代码行,以启用 gradle 插件:
apply plugin: 'com.huawei.agconnect'
- 在应用 module 的 gradle 中 dependencies 节点添加如下代码,可根据 华为 发布的版本更新选择最新版本:
dependencies {
implementation 'com.huawei.hms:push:4.0.2.300'
//引入极光-华为插件,如果采用此配置,无需拷贝jpush-android-plugin-huawei-v3.x.x.jar文件,也无需配置cn.jpush.android.service.PluginHuaweiPlatformsService组件
implementation 'cn.jiguang.sdk.plugin:huawei:3.x.x'
}
2. 配置接收 HMS 消息的服务
<service
android:name="cn.jpush.android.service.PluginHuaweiPlatformsService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service
下面注意!
注:HMS 服务必须要求 app 签名才能注册成功。指纹证书是在终端采用keytool -list -v -keystore keystorefileName 获取偶对应的指纹证书.获取结果如下:
记得必须要签名后的包
signingConfigs {
release {
storeFile file("release.keystore")//签名文件的path
storePassword "123456"
keyAlias "android.keystore"
keyPassword "123456"
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug{
minifyEnabled false
signingConfig signingConfigs.release
}
}
下面是在华为推送平台去创建账号 信息以及config文件,华为开发者地址
https://developer.huawei.com/consumer/cn/service/josp/agc/index.html?cid=1&tid=13&id=9249519184595935890#/myApp/103194983/9249519184596012000
在我的项目中获取当前需要添加配置的参数
添加刚刚生成的sha256
拷贝你获取的参数 ,下载 agconnect-services.json
- 讲下载的agconnect-services.json 放在主项目目录下:
- 根据配置运行查看log 是否配置成功
此时如果像上图那样 就表示成功了,但应该不会成功,嘿嘿,接下来 有两个坑点:
- 极光推送平台需要配置你各推送平台申请的key ,但文档并没有说明:
- 对上面添加的agconnect-services.json 虽然放在主工程目录下了,并不一定能读取成功,这时候你还需要添加配置防止解析不到agconnect-services.json 导致初始化失败:
<meta-data
android:name="com.huawei.hms.client.appid"
android:value="配置文件里面的appID"/>
<meta-data
android:name="com.huawei.hms.client.cpid"
android:value="配置文件里面的cpid"/>