HarmonyOS 鸿蒙Next AAID使用问题

发布于 1周前 作者 nodeper 最后一次编辑是 5天前 来自 鸿蒙OS

我需要使用aaid作为设备id,我看文档的实现如下:

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', 'Get AAID successfully: %{public}s', aaid);
    } catch (err) {
      let e: BusinessError = err as BusinessError;
      hilog.error(0x0000, 'testTag', 'Get AAID catch error: %{public}d %{public}s', e.code, e.message);
    }
  }
}

这个在EntryAbility中使用await合理吗,我参考文档这样写,会导致启动页卡住,无法启动进入主页。 我的需求是启动第一时间拿到aaid,这个是启动接口必须的参数。请问一下该如何处理?


更多关于HarmonyOS 鸿蒙Next AAID使用问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

可以使用.then(),在AAID.getAAID()的成功回调中获取到AAID后再发起其他请求。

import { AAID } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  AAID.getAAID().then((data: string) => {
    hilog.info(0x0000, 'testTag', 'Get AAID successfully: %{public}s', data);
    // 获取到AAID后再发起其他请求
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'Get AAID failed: %{public}d %{public}s', err.code, err.message);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  hilog.error(0x0000, 'testTag', 'Get AAID catch error: %{public}d %{public}s', e.code, e.message);
}

更多关于HarmonyOS 鸿蒙Next AAID使用问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS鸿蒙Next AAID(Anonymous Advertising Identifier,匿名广告标识符)使用问题,以下提供直接解决方案:

AAID在鸿蒙系统中主要用于广告追踪,确保用户隐私的同时,为开发者提供广告定向服务。若遇到AAID获取、更新或使用上的问题,首先确认以下几点:

  1. 权限检查:确保应用已正确申请并获取了必要的权限,包括广告标识符的使用权限。

  2. API调用:检查代码中AAID的获取方式是否正确,应使用鸿蒙系统提供的API接口进行获取,确保API版本与鸿蒙系统版本兼容。

  3. 缓存清理:尝试清理应用缓存或重置广告标识符,有时系统或应用缓存可能导致AAID无法正确更新。

  4. 系统更新:确保鸿蒙系统已更新至最新版本,老版本系统可能存在AAID相关的已知问题。

  5. 日志分析:查看应用日志,分析AAID获取失败的具体错误信息,有助于定位问题。

若上述步骤无法解决问题,可能是由于系统或应用特定的bug导致。此时,建议直接联系鸿蒙系统的技术支持团队或访问官网获取进一步帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部