华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 3 获取AAID

ops/2024/9/23 6:04:38/

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

AAID具有以下特性:

  • 匿名化、无隐私风险:AAID和已有的任何标识符都不关联,并且每个应用只能访问自己的AAID。
  • 同一个设备上,同一个开发者的多个应用,AAID取值不同。
  • 同一个设备上,不同开发者的应用,AAID取值不同。
  • 不同设备上,同一个开发者的应用,AAID取值不同。
  • 不同设备上,不同开发者的应用,AAID取值不同。

场景介绍

AAID会在包括但不限于下述场景中发生变化:

  • 应用卸载重装。
  • 应用调用删除AAID接口。
  • 用户恢复出厂设置。
  • 用户清除应用数据。

接口说明

接口返回值有两种返回形式:Callback和Promise回调。下表中仅展示Promise回调形式的接口,Promise和Callback只是返回值方式不一样,功能相同。

接口名

描述

getAAID(): Promise<string>

获取AAID,使用Promise异步返回结果。

deleteAAID(): Promise<void>

删除AAID,使用Promise异步返回结果。

获取AAID

  1. 导入AAID模块。
    import { AAID } from '@kit.PushKit';

  2. 调用AAID.getAAID()方法获取AAID信息。
    import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
    import { AAID } from '@kit.PushKit';
    import { BusinessError } from '@kit.BasicServicesKit';
    import { hilog } from '@kit.PerformanceAnalysisKit';
    export default class EntryAbility extends UIAbility {
    // 入参want与launchParam并未使用,为初始化项目时自带参数
    async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): Promise<void> {
    // 获取AAID
    try {
    const aaid: string = await AAID.getAAID();
    hilog.info(0x0000, 'testTag', 'Succeeded in getting AAID.');
    } catch (err) {
    let e: BusinessError = err as BusinessError;
    hilog.error(0x0000, 'testTag', 'Failed to get AAID: %{public}d %{public}s', e.code, e.message);
    }
    }
    }


http://www.ppmy.cn/ops/114612.html

相关文章

nginx upstream转发连接错误情况研究

本次测试用到3台服务器&#xff1a; 192.168.10.115&#xff1a;转发服务器A 192.168.10.209&#xff1a;upstream下服务器1 192.168.10.210&#xff1a;upstream下服务器2 1台客户端&#xff1a;192.168.10.112 服务器A中nginx主要配置如下&#xff1a; log_format main…

Springboot 文件上传下载相关问题

文章目录 关于Springboot 文件上传下载问题解决方案注意事项文件上传文件下载文件删除文件在线打开在写练习的时候&#xff0c;发现了一些小小的问题&#xff0c;已经在 上述代码中体现。① 代码路径碰到中文的时候&#xff0c;会有乱码&#xff0c;需要转换&#xff08;内容中…

视频怎么提取音频?一键音频提取,视频内容轻松听!

视频怎么提取音频&#xff1f;一键解锁音频世界&#xff0c;让视频精彩不再静默&#xff01;无论您是忙碌于日常工作的上班族&#xff0c;还是热衷于学习的求知者&#xff0c;亦或是享受闲暇时光的聆听者&#xff0c;一键提取音频功能让视频内容瞬间转化为耳畔的温柔低语&#…

递归手撕,JSON 字符串化和解析,加权树结构的字符串解析对象,解析并返回DOM 树结构(DOMParser),解析带有层级的文本

目录 1 JSON 字符串化和解析 2 加权树结构的字符串解析对象 3. 解析并返回DOM 树结构 4. 解析带有层级的文本 1 JSON 字符串化和解析 // <!-- 实现一个函数&#xff0c;能够将自定义格式的字符串转换为 JSON 对象。 // 例如&#xff0c;给定字符串 name: "A…

MySQL面试题——第一篇

1. 一张自增表里面总共有7条数据&#xff0c;删除了最后2条数据&#xff0c;重启数据库后又插入了一条数据&#xff0c;此时ID是几 表类型如果是MyISAM&#xff0c;那么id就是8 如果是InnoDB&#xff0c;那就是6 InnoDB表只会把自增主键的最大id记录在内存中&#xff0c;所以重…

十八,Spring Boot 整合 MyBatis-Plus 的详细配置

十八&#xff0c;Spring Boot 整合 MyBatis-Plus 的详细配置 文章目录 十八&#xff0c;Spring Boot 整合 MyBatis-Plus 的详细配置1. MyBatis-Plus 的基本介绍2. Spring Boot 整合 MyBatis Plus 的详细配置3. Spring Boot 整合 MyBatis plus 注意事项和细节4. MyBatisx 插件的…

Python Pandas数据清洗之缺失数据处理

大家好&#xff0c;在数据分析和处理过程中&#xff0c;缺失数据是常见且不可避免的现象。无论是在数据收集、传输或存储的过程中&#xff0c;数据集可能会出现部分丢失。缺失数据的存在不仅会影响数据的完整性&#xff0c;还可能对后续的数据分析和建模造成不利影响。为了保证…

JS实现数组去重常见方法

写在前面 今天在实现数组去重时&#xff0c;使用了多种方法实现。在此总结一下数组去重常见方法。 01_多重for循环去重 let arr [1, 2, 2, 3, 3, 1, 2] // 多层for循环去重 for (let i 0;i < arr.length;i) {for (let j i 1;j < arr.length;j) {if (arr[i] …