項目需要 替換原有推送 改成極光推送加廠商渠道,集成極光推送 很簡單集漾,這里不再多介紹。接下來說一下極光的廠商對接流程:
首先極光推送對各個廠商通道對接是沒有在開發(fā)者平臺提供文檔的絮爷,需要申請VIP資格后聋庵,極光才會提供對應對接文檔炊邦。
2.1小米通道對接:
1.在小米開發(fā)者平臺申請對應推送賬號 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 上創(chuàng)建和 JPush 上同包名的待發(fā)布應用,創(chuàng)建完成后下載該應用的 agconnect-services.json 配置文件并添加到應用的 module 目錄下类垦。
在根級 build.gradle 中添加規(guī)則,以納入 HMS 服務插件 和 華為 的 Maven 代碼庫,可根據華為開發(fā)者聯(lián)盟發(fā)布的版本更新選擇最新版本:
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 節(jié)點添加如下代碼菊匿,可根據 華為 發(fā)布的版本更新選擇最新版本:
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
}
}
下面是在華為推送平臺去創(chuàng)建賬號 信息以及config文件陪汽,華為開發(fā)者地址
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"/>