当前位置: 首页 > news >正文

鸿蒙flutter项目接入极光推送

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

http://www.dtcms.com/a/326107.html

相关文章:

  • Java项目基本流程(三)
  • Orange的运维学习日记--38.MariaDB详解与服务部署
  • linux安装和使用git
  • Elasticsearch 官方 Node.js 从零到生产
  • docker部署elasticsearch-8.11.1
  • 网络的基本概念、通信原理以及网络安全问题
  • YOLOv6深度解析:实时目标检测的新突破
  • 时序数据库为什么选IoTDB?
  • 爬虫与数据分析结合案例
  • STM32 HAL驱动MPU6050传感器
  • p6spy和p6spy-spring-boot-starter的SpringBoot3集成配置
  • 高性能Web服务器
  • java基础概念(二)----变量(附练习题)
  • Go 语言三大核心数据结构深度解析:数组、切片(Slice)与映射(Map)
  • Unity插件DOTween使用
  • 【GPT入门】第45课 无梯子,linux/win下载huggingface模型方法
  • 如何避免团队文件同步过程中版本信息的丢失?
  • GAI 与 Tesla 机器人的具体联动机制
  • 变频器与伺服系统的工作原理,干扰来源及治理方式
  • 软件测试关于搜索方面的测试用例
  • [AI 生成] kafka 面试题
  • 是否有必要使用 Oracle 向量数据库?
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?
  • OmniHuman:字节推出的AI项目,支持单张照片生成逼真全身动态视频
  • 不同FPGA开发板系统移植步骤
  • 《C++中 type_traits 的深入解析与应用》
  • 【Docker实战进阶】Docker 实战命令大全
  • “底层闭源 + Lua 脚本” 开发模式
  • 缺省路由的内容
  • 基于51单片机指纹识别管理门禁密码锁系统设计