推送的自分类权益 需要审核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失效。