推送的自分類權益 需要審核15個工作日,實際約3個工作日
項目使用極光推送flutter代碼,代碼端已經配置的東西(需要配置flutter端和對應各自平臺原生端),我的工程是多target,所以和單target有一點不同。
一、鴻蒙開發者網站上配置
1、鴻蒙AppGallery Connect上
- 1)、團隊賬號需要添加成員,點擊右上角可切換自己和團隊角色
- 2)、開通推送服務(立刻開通,使用V2版本)
- 3)、推送服務-配置,開通應用回執狀態,(立刻開通)
- 4)、推送服務-配置,開通自分類權益(15個工作日),需要填寫場景和文案
- 5)、切換我的項目-對應應用,我使用HarmonyOS API9以上,所以點擊生成SHA256證書/公鑰指紋,點擊自動出現可供選擇的列表,選擇即可。
- 6)、我的項目-對應應用,記住Client ID和包名,(極光網站上填寫配置需要用)
2、極光后臺網站上
- 1)、推送設置-集成設置,點擊HarmonyOS的標簽,填寫應用包名,包名填寫后不可更改(1.6已記錄)
- 2)、啟用HarmonyOS 默認標題,同其他android iOS 等一致即可
- 3)記住AppKey,代碼集成到項目里會用到。
二、鴻蒙原生端
1、在鴻蒙原生工程下修改oh-package.json5,
- (文檔上寫的是修改entry下的oh-package.json5,但是多target下需要修改項目級別的這個.json5文件)
- 使用自動安裝, 添加
"dependencies": {"@jg/push": "1.2.1"
},
- 終端執行ohpm install
- 安裝成功極光推送的鴻蒙組件。
2、在entry下找到module.json5
- 添加
"module": {"metadata": [{"name": "client_id","value": “去鴻蒙后臺查看client_id”}
]
}
3、修改build-profile.json5
- 添加"useNormalizedOHMUrl": true (此參數已在添加阿里云上傳的時候加了)
"products": [{"name": "default","signingConfig": "default","compatibleSdkVersion": "5.0.0(12)","runtimeOS": "HarmonyOS"},{"name": "target1","vendor": "hhh","versionCode": 1,"versionName": "1.1.0","signingConfig": "--","compatibleSdkVersion": "5.1.0(18)","runtimeOS": "HarmonyOS","bundleName": "--","buildOption": {"arkOptions": {"buildProfileFields": {"appType": "--"}},"strictMode": {"caseSensitiveCheck": true,"useNormalizedOHMUrl": true}}},],
三、flutter工程端
1、去網站下載flutter工程
- 我使用flutter3.22需要下載3x版本(切換分支dev-3.x)(已經支持ohos了)
下載地址 - 查看提交的tag鴻蒙最新版本是1.2.1
- 下載完后放入flutter工程目錄的plugins文件夾下。(文件夾可以自己定義,我使用plugins)
2、配置pubspec.yaml 文件和安裝插件
- 使用jpush自定義路徑。插件名是jpush_flutter(和下載的極光推送插件的pubspec.yaml中name定義的保持一致)
dependencies:jpush_flutter:path: ./plugins/jpush-flutter-plugin-dev-3.x/
- 執行 flutter pub get
3、我使用的是vscode,安裝完必須重啟vscode
- 否則import會報錯
import 'package:jpush_flutter/jpush_flutter.dart';
import 'package:jpush_flutter/jpush_interface.dart';
4、打開下載的jpush項目參考demo寫法
-
打開項目jpush-flutter-plugin-dev-3.x/example/lib/main.dart,查看已無報錯。
-
根據這里的寫法,改寫flutter項目中lib/main.dart
5、打開ohos工程修改推送相關
-
修改main/ets/EntryAbilliy.ets,參考example中ohos下的EntryAbilliy.ets
-
(注意這里有個問題onCreate不是async方法,例子當中使用了promise return的時候會報錯)
四、測試推送
- 1、運行flutter程序,自動彈出是否允許推送授權彈窗。
- 2、打開極光推送后臺,編輯推送HarmonyOS 平臺的配置
- 3、 必填廠商特殊設置,(鴻蒙廠商的消息類型標識,需要申請鴻蒙自分類權益,審核默認15天)
- 自分類權益對應Push API的 notification.hmos.category 字段。
五、推送說明
-
未申請自分類權益默認都是營銷類消息,極光推送發送推送時,廠商配置category需要填寫MARKETING,每日每臺設備限制推送2條。
-
申請自分類權益,工作事項通知。申請需要審核15個工作日,實際3個工作日給答復,通過后發送此類推送場景不可變,如果場景變了需要增加申請。推送數量無限制。
-
證書必須使用個人創建的,不能使用auto自動生成的,否則推送不成功會報錯token失效。