帮你快速理解、总结文档立即下载

aid

最近更新时间:2026-09-28 17:02:02
我的收藏
aid 是 Aegis SDK 为每台设备分配的唯一标识,用于区分设备、计算 UV 等。同一台设备上的 aid 会持久化保存,卸载应用或清理应用数据后才会更新。

前提条件

参见 安装和初始化 文档,完成 SDK 的安装和初始化。

RN 环境下的持久化实现

RN 环境通过可选依赖 @react-native-async-storage/async-storage(>= 1.0.0)持久化 aid,存储 key 为 AEGIS_ID。
已安装 @react-native-async-storage/async-storage:首次运行生成 aid 并持久化,同一设备后续启动复用同一 aid,设备去重与 UV 统计正常。
未安装:SDK 自动降级(不报错),上报数据中 aid 字段为空、不持久化,设备去重与 UV 统计将受影响。如需完整的 UV 统计,建议安装该可选依赖:
$ npm install --save @react-native-async-storage/async-storage
说明:
兼容说明:SDK 同时兼容旧版 RN(< 0.59)内置的 AsyncStorage,独立包与内置模块均不可用时才会降级。

自定义 aid 上报规则

您可以根据下列算法自定义 aid 上报规则(RN 环境示例,使用 AsyncStorage)。
import AsyncStorage from '@react-native-async-storage/async-storage';

async function getAid(callback) {
try {
let aid = await AsyncStorage.getItem('AEGIS_ID');
if (!aid) {
aid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = (Math.random() * 16) | 0;
const v = c === 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
AsyncStorage.setItem('AEGIS_ID', aid);
}
callback?.(aid || '');
} catch (e) {
callback?.('');
}
}
说明:
若您需要使用自己构造的 aid 作为上报规则(通过初始化配置 aid: '自定义值' 传入,见 配置文档),需要满足后端对 aid 的校验规则:/^[@=.0-9a-zA-Z_-]{4,36}$/。