HarmonyOS NEXT Push接入

接入HarmonyOS NEXT Push 推送功能,相比于 Android 真的是简单太多。不再需要适配接入各个厂家的推送 SDK,真是舒服。

1.开通推送服务与配置Client ID

1.1 创建应用获取Client ID

按照官方文档来就可以了:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-config-setting-V5

1.2 配置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.获取 push token 并上传

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 {
   
  
  async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): Promise<void> {
   
    // 获取Push Token
    try {
   
      const pushToken: string = await pushService.getToken();
      hilog.info(0x0000, 'testTag', 'Succeeded in getting push token: %{public}s', pushToken);
    } catch (err) {
   
      let e: BusinessError = err as BusinessError;
      hilog.error(0x0000, 'testTag', 'Failed to get push token: %{public}d %{public}s', e.code, e.message);
    }
    // 上报Push Token 到服务器
    uploadPushToken()
  }
}

3. AAID

上传 push token 时,可以使用 AAID 当作 识别设备的唯一标识,即类是 Android 中的 deviceId 使用。i按照官方文档说明:

AAID(Anonymous Application Identifier):应用匿名标识符,标识运行在移动智能终端设备上的应用实例,只有该应用实例才能访问该标识符,它只存在于应用的安装期,总长度32位。与无法重置的设备级硬件ID相比,AAID具有更好的隐私权属性。

AAID具有以下特性:
匿名化、无隐私风险:AAID和已有的任何标识符都不关联,并且每个应用只能访问自己的AAID。
同一个设备上,同一个开发者的多个应用,AAID取值不同。
同一个设备上,不同开发者的应用,AAID取值不同。
不同设备上,同一个开发者的应用,AAID取值不同。
不同设备上,不同开发者的应用,AAID取值不同。
场景介绍
AAID会在包括但不限于下述场景中发生变化:
应用卸载重装。
应用调用删除AAID接口。
用户恢复出厂设置。
用户清除应用数据。
获取 AAID :

import {
    AbilityConstant, UIAbility, Want } 

相关推荐

  1. pinpoint接入接入tomcat

    2024-06-06 08:18:05       15 阅读
  2. 萤石视频接入api接口示例

    2024-06-06 08:18:05       8 阅读
  3. springboot接入influxdb

    2024-06-06 08:18:05       33 阅读
  4. kyuubi 接入starrocks | doris

    2024-06-06 08:18:05       31 阅读
  5. Springboot-接入WebSocket服务

    2024-06-06 08:18:05       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 08:18:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 08:18:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 08:18:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 08:18:05       18 阅读

热门阅读

  1. 解决VIvado编程中遇到的bug 2

    2024-06-06 08:18:05       8 阅读
  2. spark相关知识

    2024-06-06 08:18:05       7 阅读
  3. arm系统中双网卡共存问题

    2024-06-06 08:18:05       12 阅读
  4. Transformer的Encoder和Decoder之间的交互

    2024-06-06 08:18:05       12 阅读
  5. MyBatis二、搭建 MyBatis

    2024-06-06 08:18:05       9 阅读