美文网首页
鸿蒙消息推送对接

鸿蒙消息推送对接

作者: 程序员阿兵 | 来源:发表于2025-04-13 15:09 被阅读0次

对接流程:

  • 开通推送服务
  • 鸿蒙鉴权令牌申请
  • 集成推送
  • api 推送mock
  • 华为推送注意事项
  • 携程商旅鸿蒙版证书管理配置
  • 携程商旅推送mock

一、开通推送服务

开通前,保证项目已创建。

AppGallery——我的项目——增长——推送服务——立即开通

二、鸿蒙鉴权令牌申请

1.创建API 服务 HMS API服务申请流程

2.下载API服务证书 API 证书配置 及下载

image.png

注意:已有项目情况下,无需再重复创建项目

image.png

而是直接选择已存在的项目
如果选错项目,会导致Auth不匹配,推送鉴权失败。

三、集成推送
1.配置client id 在项目模块级别下的src/main/module.json5(例如entry/src/main/module.json5)中,新增metadata并配置client_id,如下所示:

"module": {
  "name": "entry",
  "type": "xxx",
  "description": "xxxx",
  "mainElement": "xxxx",
  "deviceTypes": [],
  "pages": "xxxx",
  "abilities": [],
  // 配置如下信息
  "metadata": [
    {
      "name": "client_id",
      // 配置为步骤1中获取的Client ID
      "value": "xxxxxx" 
    }
  ]
}

2.获取pushToken

import { pushService } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { UIAbility, AbilityConstant, Want } from '@kit.AbilityKit';
 
export default class EntryAbility extends UIAbility {
  // 入参 want 与 launchParam 并未使用,为初始化项目时自带参数
  async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): Promise<void> {
    // 获取Push Token
    try {
      const pushToken: string = await pushService.getToken();
      hilog.info(0x0000, 'testTag', 'Get push token successfully: %{public}s', pushToken);
    } catch (err) {
      let e: BusinessError = err as BusinessError;
      hilog.error(0x0000, 'testTag', 'Get push token catch error: %{public}d %{public}s', e.code, e.message);
    }
    // 上报Push Token
  }
}

3.通知权限申请

notificationManager.requestEnableNotification().then(() => {
    console.info(`requestEnableNotification success`);
     
  }).catch((err:BusinessError) => {
 
 
  });

4.申请推送自分类,申请完成后,通知服务端做鸿蒙自分类字段适配。根据鸿蒙设备识别标识


image.png

5.将推送凭证配置文件放置到项目中,可随时查看防丢失。

注意:检查凭证配置中project_id和AppGallery中的项目id是否一致,若不一致,则配置错误(可能是步骤二中项目选择错误)。

四、华为推送服务API mock

Auth 申请 示例代码

image.png
四、鸿蒙推送注意事项 skill 标签设置规则 必须要外层【】 否则收不到消息

相关文章

  • 测试下体验

    以前,华为手机正式推出鸿蒙系统测试版,一直没有等到我的华为手机版本能更新到鸿蒙系统。 昨晚,手机推送消息,说凌晨两...

  • 从此踏上鸿蒙巨舰,见证她乘风破浪,征战天下

    今天,我接到了鸿蒙推送 当打开系统更新的消息时,我的心情是异常激动的!自从华为宣布要推出鸿蒙系统时,我就一直期盼着...

  • 小米oppo离线推送失败的罕见情况

    之前对接了友盟推送,对接了华为小米oppo的厂家推送。本以为会比较稳定的推送,后来发现没在各厂商上架app,推送的...

  • 消息推送

    推送通知的呈现效果总结 推送通知有5种不同的呈现效果1、在屏幕顶部显示一块横幅(显示具体内容)2、在屏幕中间弹出一...

  • 消息推送

    1、.简述一下消息推送的流程 2、如果不依赖APNS,如何在App进入后台时保证能够接收到远程消息?

  • 消息推送

    推送概念? APNs:Apple Push Notification Service,远程通知只能APNs服务器发...

  • 消息推送

    本地推送 @implementation AppDelegate 远程推送http://blog.csdn.net...

  • 消息推送

  • 消息推送

    http://blog.csdn.net/showhilllee/article/details/8631734

  • 消息推送

    https://www.jianshu.com/p/c58f8322a278

网友评论

      本文标题:鸿蒙消息推送对接

      本文链接:https://www.haomeiwen.com/subject/henlbjtx.html