背景
近日接到榮耀官方通知,榮耀品牌近期發布的新機以及 2024 年發布的新機都只支援榮耀推送,存量裝置計劃在 2024 年 Q1 完成推送服務升級,屆時存量裝置只支援榮耀推送,不再支援華為推送。為了保障接入 mPaaS 推送服務的 App 後續可繼續通過廠商通道推送到榮耀裝置,建議您按照以下指南,儘快完成榮耀推送的適配與升級工作。
用戶端升級相關事項
如當前使用 10.2.3 基準,請升級到 10.2.3.38 或以上版本。
如當前使用其他定製基準,請聯絡 mPaaS 技術服務人員確認。
mPaaS 榮耀推送適配安卓端接入
下面介紹榮耀推送的接入流程,主要包括以下三個步驟。
註冊榮耀推送
登入榮耀開發官網,註冊帳號並且開啟推送服務。詳情請參見 榮耀推送開啟步驟。
接入榮耀推送
添加 推送 > HONOR 組件,方式與添加推送 SDK 相同,參考 添加推送 SDK 。
說明推送 > HONOR 組件僅包含適配代碼,不包含榮耀推送 SDK,請按照下文單獨添加榮耀推送 SDK 依賴。
請引入相應版本的基準版本(10.2.3.38 或以上版本),並添加榮耀推送適配的依賴 SDK,範例程式碼如下:
implementation platform("com.mpaas.android:mpaas-baseline:10.2.3-38") implementation 'com.mpaas.android:push-honor'
開發環境準備。開發環境需要符合榮耀推送整合的環境,具體可以參考 開發準備 > 環境資訊。
添加設定檔。 在 榮耀開發人員服務平台 中下載
mcs-services.json
設定檔,具體參考 添加應用設定檔。配置 SDK 的倉庫地址。具體參考官方連結文檔 配置 SDK 的 Maven 倉庫地址。
添加依賴配置。在應用級的
build.gradle
檔案中,在 dependencies 中添加如下編譯依賴。具體請參考 添加依賴配置。dependencies { // 添加如下配置 implementation 'com.hihonor.mcs:push:7.0.61.302' }
如果需要更新版本,可參考 版本資訊。
mPaaS 當前適配的版本為 7.0.61.302,如需使用更高版本,可根據需求修改,通常來說廠商 SDK 都會向下相容。
如需使用混淆,則要添加相關混淆配置:
測試榮耀推送
接入榮耀推送後,您可以在榮耀手機上啟動應用並確保調用了初始化方法(參見 快速開始),推送 SDK 動擷取榮耀推送的廠商 token 並上報。
您可以在 App 啟動後一段時間手動退出 App,然後推送測試訊息:
如果仍然能收到訊息,說明您的應用成功接入榮耀推送。
如果不能收到訊息,請按照下文進行問題排查。
用戶端排查問題
檢查榮耀配置和參數是否和榮耀推送後台一致,檢查
AndroidManifest.xml
中相關配置是否添加,com.hihonor.push.app_id
是否和榮耀推送後台一致。
檢查
mcs-services.json
檔案是否存在,存放位置是否正確。檢查 mPaaS 控制台是否開啟了榮耀通道(參見 配置榮耀推送渠道),以及相關配置是否和榮耀推送後台一致。
查看 logcat 日誌進行排查:
選擇 push 進程,過濾
mPush.PushProxyFactory
,檢查是否存在以下日誌:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.honor.Creator
選擇主進程,過濾 mHonor,檢查是否擷取到了榮耀推送的廠商 token,如出現日誌
get token failed
則說明擷取榮耀廠商 token 失敗,錯誤碼參見 榮耀推送錯誤碼。選擇主進程,過濾
report channel token
, 檢查上報榮耀廠商 token 是否成功,如出現以下日誌:report channel token error: xxxx
說明上報廠商 token 失敗,請檢查 將設定檔添加到專案中 的
base64Code
是否有值,以及擷取設定檔時上傳的 apk 簽名和當前應用是否一致。若無,說明添加 推送 > HONOR 組件可能存在問題,請確認是否正確添加。
服務端升級相關事項
配置榮耀推送渠道
從左側導覽列進入 訊息推送 > 設定 > 通道配置 標籤頁。
單擊 榮耀推送通道 配置地區右上方的 配置,頁面上展示配置入口。
參數 | 是否必填 | 說明 |
狀態 | 是 | 渠道的接入狀態開關。開啟開關,MPS 將根據配置接入榮耀推送渠道;關閉開關,即取消接入。 |
包名 | 是 | 支援自訂榮耀應用程式套件名。 |
榮耀 AppID | 是 | 唯一應用標識符,在開發人員平台開通對應應用的榮耀推送服務時產生。 |
榮耀應用 ID | 是 | 應用的客戶 ID,用於擷取發送訊息令牌的 ID,在開發人員平台開通對應應用 PUSH 服務時產生。 |
榮耀應用密鑰 | 是 | 輸入榮耀應用的密鑰(App Secret)。 |
可登入 榮耀開發人員聯盟 官網,進入 管理中心 > 我的產品 > 行動裝置 App詳情 頁面中擷取應用程式套件名、應用 App ID 和密鑰。
單擊 確定 按鈕,儲存配置。
驗證榮耀廠商通道推送功能
使用 Magic OS 8.0 及以上版本榮耀手機,並安裝整合新版 mPaaS 推送 SDK 後的 App,App 啟動後一段時間手動退出 App,在 mPaaS 訊息推送控制台使用 極簡訊息推送 > 優先廠商通道策略,對目標裝置進行推送下發,若榮耀終端裝置可以成功收到通知欄訊息,則證明榮耀廠商通道整合成功。