腾讯云可观测平台 aid(React Native 应用场景)

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}$/。

赞 (0)
上一篇 5天前
下一篇 5天前