本章節介紹當您自行接入廠商通道原生SDK時,如何使用移動推送需要的配置。
前言
除了使用EMAS已經提供的輔助通道SDK,您也可以自行接入廠商提供的通道SDK。
自行接入方式,需要自行接入廠商通道SDK和自行進行初始化,然后在廠商通道初始化成功后,將廠商的設備ID通過接口上傳即可,主要針對以下場景:
EMAS已經提供的輔助通道SDK獲取其他SDK發生沖突。
EMAS未提供廠商通道某個SDK版本。
準備工作
已經按照Android SDK接入完成了移動推送SDK的接入。
第一步:將SDK添加到您的應用
我們提供了Maven依賴和本地依賴兩種集成方式,方便您根據需要將SDK添加到您的應用中。
建議開發者采用Maven依賴方式進行集成,配置簡單,不容易出問題,后續更新方便。
下面添加的SDK最低使用3.2.3版本。
1 Maven依賴方式
在您的模塊(應用級)Gradle 文件(通常是<project>/<app-module>/build.gradl
)中,在dependencies
中添加SDK依賴。
請閱讀Android SDK版本說明,下載對應版本SDK或獲取最新SDK配置信息。
dependencies {
implementation 'com.aliyun.ams:alicloud-android-third-push:x.x.x'
}
2 本地依賴方式
2.1 下載SDK
參考下載和集成SDK,選擇移動推送進行下載,將SDK包內所有文件拷貝至您的模塊(應用級)的<project>/<app-module>/libs
目錄下。
2.2 添加SDK依賴
2.2.1 配置本地SDK目錄
在您的模塊(應用級)Gradle 文件(通常是<project>/<app-module>/build.gradle
)中,添加本地SDK文件目錄地址。
repositories {
flatDir {
dirs 'libs'
}
}
2.2.2 添加SDK依賴
在您的模塊(應用級)Gradle 文件(通常是<project>/<app-module>/build.gradle
)中,的dependencies
中添加SDK依賴。
dependencies {
implementation(name: 'alicloud-android-third-push-x.x.x', ext: 'aar')
}
第二步:配置使用SDK
1 SDK初始化
請根據您要接入的廠商通道接入文檔進行接入初始化。
2 上傳廠商設備ID
在廠商通道初始化成功后,調用ThirdPushManager.reportToken()
上傳廠商設備ID:
/**
* 以華為為例
*
* @param context 上下文對象,建議傳ApplicationContext
* @param thirdTokenKeyword 廠商設備ID的標識,下面做詳細介紹
* @param token 廠商設備ID,廠商設備ID叫法不同,此處以token為統稱
*/
ThirdPushManager.reportToken(context, ThirdPushReportKeyword.HUAWEI.thirdTokenKeyword, token);
3 注冊廠商推送通知數據解碼器
用戶點擊廠商推送通知后,輔助彈窗會接收處理推送數據,您需要注冊對應的數據解碼器。
//此處以華為為例
ThirdPushManager.registerImpl(new HuaweiMsgParseImpl());
消息解碼器支持HuaweiMsgParseImpl、XiaoMiMsgParseImpl、OppoMsgParseImpl、VivoMsgParseImpl、MeizuMsgParseImpl。
4 處理廠商推送透傳消息數據
在廠商通道接收到透傳消息時,可以使用ThirdPushManager.onPushMsg
把消息內容傳到EMAS移動推送SDK進行處理。
/**
* 以華為為例
*
* @param context 上下文對象,建議傳ApplicationContext
* @param thirdTokenKeyword 廠商消息的標識
* @param token 廠商的消息內容
*/
ThirdPushManager.onPushMsg(context, ThirdPushReportKeyword.HUAWEI.thirdMsgKeyword, msgContent);