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

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模块。

    TypeScript 复制代码
    import { AAID } from '@kit.PushKit';
  2. 调用AAID.getAAID()方法获取AAID信息。

    TypeScript 复制代码
    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);
    }
    }
    }
相关推荐
Georgewu9 分钟前
【HarmonyOS AI】 通用文字识别详解
harmonyos
哈__22 分钟前
Flutter 3.44.9 + OpenHarmony7:home_widget 三方库桌面服务卡片(FormKit)的应用
flutter·华为·harmonyos
贾伟康23 分钟前
【句匠|08】HarmonyOS ArkTS 句库搜索实战:支持关键词、分类和无结果反馈
harmonyos·arkts·分类筛选·学习应用·搜索功能
Sunny_G1 小时前
从 DevEco Code 到 Claude Code:一次工具链切换的完整决策
harmonyos
Kevin Coding1 小时前
鸿蒙 emitter/EventHub 没有 Sticky 粘性事件?手写一个轻量级 EmitterManager 解决
前端·华为·前端框架·移动开发·harmonyos
ChinaDragonDreamer1 小时前
HarmonyOS:Web使用Dsbridge与JavaScript完成交互
harmonyos·鸿蒙
贾伟康2 小时前
【句匠|10】HarmonyOS ArkTS 分类句库实战:复用列表结构并保持导航参数类型安全
harmonyos·arkts·router·分类导航·题库列表
体毛旺盛的猿3 小时前
HarmonyOS开发面试题
前端·华为·harmonyos
贾伟康3 小时前
【口算王|16】HarmonyOS ArkTS 多设备布局实战:适配手机、平板和 PC/2in1 的窗口变化
harmonyos·arkts·arkui·响应式布局·多设备适配
ChinaDragon12 小时前
HarmonyOS:6.0 新增和增强特性
harmonyos