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 Tokentry {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 } 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用的接口测试工具

大家好&#xff0c;当谈到软件开发中的质量保证时&#xff0c;接口测试无疑是至关重要的一环。在当今快节奏的开发环境中&#xff0c;确保应用程序的各个组件之间的交互正常运作是至关重要的。而接口测试工具则成为了开发人员和测试人员的得力助手&#xff0c;帮助他们有效地测…

关于抽样检验的案例来说明95%置信区间

抽样检验是统计学中常用的一种方法&#xff0c;通过分析样本数据来推断总体特征。95%置信区间在抽样检验中扮演着重要角色&#xff0c;因为它提供了对总体参数估计的可靠性区间。下面是一个具体的案例来说明如何使用95%置信区间进行抽样检验。 案例背景 假设一家制药公司正在…

LLM推理加速原理(一)

1.大语言模型的基本结构 transfomer block: 输入--->正则化-->qkv三个矩阵层(映射到三个不同空间中)---->q,k,v之后self attention进行三0合一---->线性映射,正则化。 2.大语言模型的推理 目前主流的语言大模型都采用decoder-only的结构,其推理过程由两部分…

YOLOv3训练自己的数据集

简要笔记 一、数据标注 1.安装好labelme工具 2.标注自己的数据&#xff0c;拿到json文件 二、编辑训练代码所需要的配置文件 config文件夹&#xff0c;create_custom_model.sh &#xff08;参数&#xff1a;类别个数&#xff09; 自动生成网络cfg文件 三、标签格式转换 1.la…

基于R语言的糖尿病检测模型准确率97%

使用R语言构建糖尿病检测模型的示例。我们将使用常见的机器学习算法(如逻辑回归)来构建模型,并使用Pima Indians Diabetes数据集进行训练和评估。 1. 安装和加载必要的包 首先,我们需要安装并加载必要的R包。我们将使用caret包来进行数据预处理、模型训练和评估。 # 安装…

辞职后,如何理性面对公司的挽留?我的职场选择之路

辞职后&#xff0c;面对公司的挽留&#xff0c;你会决定留下还是离开呢&#xff1f;这是一个让人犹豫不决的问题。 让我们来分析一下个人在职场中的价值和期望。每个人都有自己的职业规划和发展目标&#xff0c;这是非常正常的。在工作中&#xff0c;我们希望自己能够得到充分的…

常规操作-ArcGIS常用标注技巧

常规操作-ArcGIS常用标注技巧 1、简单的"&“符号&#xff1a;多字段表达只需要用”&"符号&#xff0c;多个字段之间需要空格&#xff0c;空格符号需要加双引号。 表达式为&#xff1a; [字段] & " " & [字段] 2、“VBnewline"应用…

vue 将echart 下载为base64图片

1 echart是页面的子组件&#xff0c; 2 页面有多个echart 3 将多个echart下载为base64图片 // 子组件 echart&#xff0c;要保存echartconst chart this.$echarts.init(this.$refs.chart, light) this.chartData chart; //保存数据&#xff0c;供父组件alarmReport调用(th…

Web前端开发基础笔记(6)

Web前端开发基础笔记&#xff08;6&#xff09; 一、Html基础 html的介绍 html的定义 HTML的全称为&#xff1a;HyperText Mark-up-Language,指的是超文本标记语言。标记&#xff1a;就是标签&#xff0c;<标签名称> </标签名称>&#xff0c;比如<html>&…

Introduction to HAL3

目录 HAL3 behavior Overview of HAL1 v.s HAL3 HAL3 behavior: HAL3 - detail: HAL3 operation and pipeline Framework Diagram Problem of current code Operation mode Full v.s limited Do: Don’t: Metadata Manual control – ISP control

【CTF MISC】XCTF GFSJ0155 simple_transfer Writeup(流量分析+文件提取)

simple_transfer 文件里有flag&#xff0c;找到它。 解法 用 wireshark 分析&#xff0c;大部分都是 TCP 协议。 打开协议分级统计&#xff0c;有个 DLEP 占了 94.2% 的数据。 作为过滤器使用。全都是 Unknown。 用 binwalk 扫描。 binwalk f9809647382a42e5bfb64d7d447b409…

集合的介绍

集合指的是数据集中在一块。集合的好处体现在以下几点 1.可以动态保存任意多个对象&#xff0c;使用比较方便。 2.提供了一系列方便的操作对象的方法&#xff1a;add,remove,set,get等&#xff0c;方便增加&#xff0c;删除内容。 集合Collection单列集合一览图 集合Map双列集…

天智云智造管理平台 Usermanager.ashx SQL注入漏洞复现

0x01 产品简介 天智云智造管理平台又称天智云SAAS平台,是专业为中小型生产企业提供智能化生产管理的标准MES软件。 该系统向中小型生产企业提供一站式平台服务,串联销售/采购/生产/质量/仓库等各个部门。对内可以节约成本,规范生产过程,实现质量追溯,实时跟踪生产及库存数…

动态组件 commponted 怎么使用

优点&#xff1a; 提高代码复用性&#xff1a;通过将通用组件了逻辑封装在动态组件中&#xff0c;可以在多个地方重复使用&#xff0c;减少代码冗余。增强灵活性&#xff1a;动态组件可以根据不同的条件或状态动态切换显示内容&#xff0c;使用应用更加灵活和可定制。实现动态…

吴恩达2022机器学习专项课程C2W3:2.24 机器学习实践建议(决定下一步做什么模型评估模型选择交叉验证)

目录 引言一、绘图评估模型的局限性二、使用测试集评估模型1.线性回归2.逻辑回归3.测试误差与泛化误差 三、测试集评估模型存在的问题1.评估模型流程2.流程存在的问题 四、解决问题1.训练集分割成三段2.计算交叉验证集的误差 五、重新评估模型1.线性回归模型2.神经网络模型3.评…

spring cloud 配置中心bootstarp.yml多环境打包运行

1、pom.xml文件配置 <profiles><profile><id>dev</id><properties><!-- 本地开发环境 --><surroundings>dev</surroundings></properties><activation><!-- 默认的&#xff0c;不加参数时执行这个profile --&…

数据仓库与数据挖掘实验练习8

pivot_table()透视表 sales.pivot_table(values Revenue,index Date, columns Name,aggfunc sum,fill_value 0,margins True,margins_name 总计 ) 使用 Pandas 的 pivot_table 函数将一个名为 sales 的 DataFrame 转化为透视表。 1. sales.pivot_table(...) sales: …

函数试炼

#include <stdio.h> int test(int x) //形式参数 需要包含变量类型 变量名&#xff08;&#xff09; 生命周期&#xff1a;栈空间&#xff1a;被调用的时候才为形式参数申请内存&#xff0c;调用结束&#xff0c;内存又被系统释放 { int y; printf("test的x…

将写的项目部署到Linux服务器上

一、首先购入一个云Linux服务器 例如&#xff1a;腾讯云&#xff0c;阿里云等&#xff08;经常会有学生优惠&#xff09; 这个腾讯云&#xff0c;新用户82元可以使用一年&#xff0c;还是可以的&#xff08;如果觉得贵&#xff0c;可以和同学一起拼一个~~&#xff09; 二、连接…

Python实现PPT表格的编写包含新建修改插图(收藏备用)

自动创建一个ppt文件并创建好表格 代码要用到pptx库 pip install python-pptx 创建含有表格的ppt文件代码&#xff1a; from pptx import Presentation from pptx.util import Inches# 创建一个PPT对象 ppt Presentation()# 添加一个幻灯片 slide ppt.slides.add_slide(p…