当前位置: 首页 > 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.lryc.cn/news/617731.html

相关文章:

  • golang包管理工具中 GOPATH 与 Go Modules 的区别总结
  • 新人如何简化学习Vue3文件
  • while循环结合列表或字典
  • YOLOv6深度解析:实时目标检测的新突破
  • 企业架构工具篇之ArchiMate的HelloWorld(2)
  • Eino中的两种应用模式:“单独使用”和“在编排中使用”
  • 软考架构师:数据库的范式
  • 分治-归并-912.排序数组-力扣(LeetCode)
  • Catalyst 日志记录(Logging)
  • 石材 × 设计:解锁永恒材质的四大灵感密码
  • 获取MaixPy系列开发板机器码——MaixHub 模型下载机器码获取方法
  • ESP32 配合上位机串口打印数据
  • 【Web 服务的铁三角架构】Flask、Nginx 与 Docker 的分工与协作
  • FFmpeg - 基本 API大全(视频编解码相关的)
  • macOS 搭建 Gitea 私有 Git 服务器教程
  • wed前端第三次作业
  • 算法训练营DAY57 第十一章:图论part07
  • 缓存的三大问题分析与解决
  • STM32蓝牙模块驱动开发
  • 第10节 大模型分布式推理典型场景实战与架构设计
  • 《算法导论》第 19 章 - 斐波那契堆
  • 【SpringBoot】持久层 sql 注入问题
  • 一周学会Matplotlib3 Python 数据可视化-绘制直方图(Histogram)
  • 银河麒麟V10配置KVM的Ubuntu虚机GPU直通实战
  • 梯度裁剪总结
  • 做调度作业提交过程简单介绍一下
  • Spring Cloud Gateway 路由与过滤器实战:转发请求并添加自定义请求头(最新版本)
  • 如何安装 Git (windows/mac/linux)
  • 【数据可视化-85】海底捞门店数据分析与可视化:Python + pyecharts打造炫酷暗黑主题大屏
  • Java数据库编程之【JDBC数据库例程】【ResultSet作为表格的数据源】【七】