@adobe/react-native-aepedgeidentity

中文文档
7.0.0发布于 2025/03/29Apache-2.0TypeScriptCommonJS零依赖近 30 天下载 7.2万

Adobe 体验平台身份 边缘网络扩展 Adobe 体验平台 Mobile SDK. 由Adobe撰写并维护.

中文使用文档
文档目录19 节
  1. 先决条件
  2. 安装
  3. 使用量
  4. 以 SDK 初始化 :
  5. 导入扩展名 :
  6. API 参考
  7. 扩展版本 :
  8. 获取经验云:
  9. 获取身份 :
  10. 获取Url变量 :
  11. 删除身份 :
  12. 重置标识 :
  13. 广告标识符 :
  14. 更新身份 :
  15. 公共类
  16. 身份映射
  17. 身份项目
  18. 认证状态
  19. 常被问到的问题(FAQ)

反应本地 Adobe 体验平台身份, 用于边缘网络扩展

npm version npm downloads

@adobe/react-native-aepedgeidentity 是iOS和Android周围的包装器 Adobe 边缘网络扩展体验平台身份 允许与 React Industrial 应用程序融合.

先决条件

Adobe 体验平台 Edge 网络扩展名具有以下对等依赖性,必须在安装身份扩展名前安装:

安装

见 所需经费和安装 主页上的指令

安装 @adobe/react-native-aepedgeidentity 软件包 :

国家预防机制:

npm install @adobe/react-native-aepedgeidentity

亚伦:

yarn add @adobe/react-native-aepedgeidentity

使用量

以 SDK 初始化 :

要初始化SDK,使用以下方法: 1

参考根 读取 关于SDK设置的更多信息.

导入扩展名 :

在您的本地反应申请中, 导入身份扩展名如下:

import {Identity} from '@adobe/react-native-aepedgeidentity';

API 参考

扩展版本 :

返回边缘网络扩展名的版本

语法

extensionVersion(): Promise<string>

示例

Identity.extensionVersion().then(version => console.log("AdobeExperienceSDK: EdgeIdentity version: " + version));

获取经验云:

这个API检索了应用程序最初推出时产生的ECID. 这个ID在应用程序升级之间保存,在标准应用程序备份过程中保存并被还原,并被去除于未安装. 承诺方法,一旦可用经验云ID,就会被引用,如果发生出乎意料的错误或请求超时,就会被拒绝.

语法

getExperienceCloudId(): Promise<string>

示例

Identity.getExperienceCloudId().then(experienceCloudId => console.log("AdobeExperienceSDK: Experience Cloud Id = " + experienceCloudId));

获取身份 :

获取边缘网络扩展名中的所有身份, 包括先前添加的客户标识 . 如果出现出乎意料的出错或请求超时,则在身份可用或被拒绝时将引用承诺方法.

语法

getIdentities(): Promise<IdentityMap>

示例

Identity.getIdentities().then(identities => console.log("AdobeExperienceSDK: Get Identities = " + JSON.stringify(identities)));

获取Url变量 :

返回 URL 查询参数中的标识符,用于混合移动应用程序中的消耗。 响应不会返回任何线索( 或 ) , 因为调用者负责将变量放入生成的 URL 正确位置 。 如果在检索 URL 变量时发生错误, 回调处理器会返回一个无效值 。 否则,会返回被编码的字符串. 一个被编码的字符串的例子如下:“adobe mc=TS% 3DTIMESTAMP VALUE% 7CMMID% 3DYOUR ECID% 7CMCORGID% 3D9YOUR ECLOUD ID”

  • MCID:也叫"经验云ID"(ECID).
  • MCORGID:也叫经验云组织ID.
  • TS:提出请求时所用的时间戳.

语法

getUrlVariables(): Promise<string>

示例

Identity.getUrlVariables().then(urlVariables => console.log("AdobeExperienceSDK: URL Variables = " + urlVariables));

删除身份 :

从存储的客户端身份地图中删除身份 。 身份扩展将停止向边缘网络发送标识符 。 使用此 API 不从服务器侧用户配置图或身份图中删除标识符 .

不允许带有空ID或取名空格的身份并忽略.

不允许使用此 API 删除使用保留命名空间的身份 。 保留的名称空间为:

  • ECID (英语)
  • 以色列国防军
  • 贾德

语法

removeIdentity(item: IdentityItem, namespace: string)

示例

let identityItem  = new IdentityItem("[email protected]");
Identity.removeIdentity(identityItem, "Email");

重置标识 :

清除身份扩展所存储的所有身份,并生成一个新的经验云ID(ECID) 。 使用此 API 不从服务器侧用户配置图或身份图中删除标识符 .

:inform source:边缘网络扩展的"身份"不读取"Mobile SDK"的隐私状态,因此设定SDK的隐私状态来选择退出不会从"边缘网络扩展的"身份中清除身份.

详情见MobileCore.resetIdentities API 移动密码。 。 。 .

广告标识符 :

当这个API被调用有效的广告标识符时,边缘网络的"身份"扩展包括了XDM身份图中的广告标识符,使用Android中的名称space GAID(Google广告ID)和iOS中的名称DFA(广告者识别符). 如果API用空字符串("""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""". 广告标识符保存在应用软件升级之间,在标准应用程序备份过程中保存并恢复,并被移除于未安装.

语法

setAdvertisingIdentifier(advertisingIdentifier?: string)

示例

MobileCore.setAdvertisingIdentifier("adID");

更新身份 :

更新 SDK 内目前已知的身份 。 身份扩展将以添加剂的方式将收到的标识符与之前保存的标识符合并,在此API中不删除身份.

不允许带有空ID或取名空格的身份并忽略.

不允许使用此 API 更新使用保留命名空间的身份 。 保留的名称空间为:

  • ECID (英语)
  • 以色列国防军
  • 贾德

语法

updateIdentities(identityMap: IdentityMap)

示例

let identityItem  = new IdentityItem("[email protected]");
let map = new IdentityMap();
map.addItem(identityItem, "Email");
Identity.updateIdentities(map);

公共类

身份映射

定义包含一组最终用户身份的地图,该地图以命名空间集成代码或身份命名空间ID为键. 地图的值是一个数组,意味着可以携带每个命名空间的多个身份. 身份映射类的格式由 XDM 身份地图Schema。 。 。 .

更多信息,请参见 AEP 身份服务。 。 。 .

"identityMap" : {
    "Email" : [
      {
        "id" : "[email protected]",
        "authenticatedState" : "authenticated",
        "primary" : false
      }
    ],
    "Phone" : [
      {
        "id" : "1234567890",
        "authenticatedState" : "ambiguous",
        "primary" : false
      },
      {
        "id" : "5557891234",
        "authenticatedState" : "ambiguous",
        "primary" : false
      }
    ],
    "ECID" : [
      {
        "id" : "44809014977647551167356491107014304096",
        "authenticatedState" : "ambiguous",
        "primary" : true
      }
    ]
  }

示例

let map = new IdentityMap();

// Add an item
let identityItem  = new IdentityItem("[email protected]");
map.addItem(identityItem, "Email");

// Remove an item
let identityItem  = new IdentityItem("[email protected]");
map.removeItem(identityItem, "Email");

//Get a list of items for a given namespace
let namespacecheck = map.getIdentityItemsForNamespace("Email");

//Get a list of all namespaces used in current IdentityMap
let namespaces = map.getNamespaces();

//Check if IdentityMap has no identities
let hasNoIdentities = map.isEmpty();

身份项目

定义要包含在 身份映射。 。 。 .

身份项目类别的格式由以下定义: XDM 身份项目Schema。 。 。 .

示例

// Initialize
let item  = new IdentityItem("identifier");

let item  = new IdentityItem("identifier", AuthenticatedState.AUTHENTICATED, false);

//Getters
let id = item.id;
let state = item.authenticatedState;
let primary = item.primary

认证状态

定义状态 : 身份项目 被认证.

可能的认证状态是:

  • 含糊不清 -- -- 国家不明确或没有定义
  • 认证 - 通过登录或类似动作识别用户
  • LoggedOut - 用户在之前的一次登录动作中被识别, 但现在没有登录

语法

 export enum AuthenticatedState {
   AUTHENTICATED = 'authenticated',
   LOGGED_OUT = 'loggedOut',
   AMBIGUOUS = 'ambiguous'
 }

常被问到的问题(FAQ)

详情请参见: 常问问题页

版本与发布记录

@adobe/react-native-aepedgeidentity 共发布 12 个版本,首次发布于 2021/09/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
7.0.0latest2025/03/291.6 年前
6.0.22024/06/072 年前
6.0.12024/04/242 年前
6.0.02024/04/132 年前
5.0.02023/06/213 年前
2.0.02023/03/103 年前

关于 @adobe/react-native-aepedgeidentity 的常见问题

@adobe/react-native-aepedgeidentity 是什么?

Adobe 体验平台身份 边缘网络扩展 Adobe 体验平台 Mobile SDK. 由Adobe撰写并维护.

如何安装 @adobe/react-native-aepedgeidentity?

在项目目录运行 npm install @adobe/react-native-aepedgeidentity,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react-native(>=0.60.0)、@adobe/react-native-aepcore(^7.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@adobe/react-native-aepedgeidentity 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@adobe/react-native-aepedgeidentity 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@adobe/react-native-aepedgeidentity 可以商用吗?

@adobe/react-native-aepedgeidentity 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adobe/react-native-aepedgeidentity 的下载量有多少?

根据 npm 官方下载统计,@adobe/react-native-aepedgeidentity 在 2026/10/05 – 2026/11/03 这 30 天内被下载 71,605 次,日均约 2,387 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adobe/react-native-aepedgeidentity 还在维护吗?

最新版本 7.0.0 发布于 2025/03/29(1.6 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/09/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。