@digia-engage/core

中文文档
3.3.1发布于 2026/11/05BUSL-1.1TypeScriptESM + CJS近 30 天下载 2525

Digia Convention 的回放原生桥 — 让原生Android Compose UI在回放原生应用程序内

中文使用文档
文档目录20 节
  1. 如何运作
  2. 所需资源
  3. 安装
  4. iOS 模块
  5. 使用量
  6. 1 — SDK 初始化
  7. 2 — 挂载 <DigiaHost />
  8. 3 — 轨迹屏幕变化
  9. 4-为指导运动增加主播
  10. 5——为内线运动增加插槽
  11. 6-触发运动
  12. 7——(备选)处理行动
  13. 8——(备选) 识别用户
  14. API 参考
  15. Digia
  16. DigiaConfig
  17. <DigiaHost />
  18. <DigiaAnchorView>
  19. <DigiaSlotView>
  20. 许可证

@ digia- 约定/ 核心

反应原生 SDK 用于 Digia 启动它提供应用经验(努力, 在Android和iOS上的React Index apps.


如何运作

@digia-engage/core 包好本地的Digia 接触Android和iOS SDKs. 当地人 SDKs 装入运动,决定显示什么, 并做起推力, 调查和内线 内容。 工具提示和聚光灯指南在React Industrial中通过 <DigiaHost />锁定到您的 <DigiaAnchorView> 要素.

运动是由CEP(CleverTap、WebEngage、或MoEngage)引发的 @digia-engage/* 软件包)或由您的应用程序通过 Digia.triggerCampaign()。 。 。 .

运动类型编剧:
标签( 对话框, 底页)原生 SDK
调查原生 SDK
内行(班机、旋转木马)原生 SDK 内置 <DigiaSlotView>
指南(工具提示、聚光灯)内出土反应 <DigiaHost />

所需资源

最低
机器人minSdk 24; Digia 启动Android SDK 3.x(自动推入)
iOS系统iOS 15.0; Digia Enter iOS SDK 4.x (自动推入)

安装

npm install @digia-engage/core
# or
yarn add @digia-engage/core

自动链接处理本地设置 .

iOS 模块

Digia Involution iOS SDK 被发布到 Digia CocoaPods spec repo. 点可口可乐Pods在它.

展览 : 将配置插件添加到 app.json运行 npx expo prebuild数字 :

{ "expo": { "plugins": ["@digia-engage/core"] } }

裸体反应原生 : 将这些行添加到 ios/Podfile,保持此顺序:

source 'https://github.com/Digia-Technology-Private-Limited/digia-podspecs.git'
source 'https://cdn.cocoapods.org/'

然后安装吊舱并重建应用程序:

cd ios && pod install

要使用CEP,请同时安装其软件包: @digia-engage/clevertap, (中文(简体) ), @digia-engage/webengage,或 @digia-engage/moengage。 。 。 .


使用量

1 — SDK 初始化

打电话 Digia.initialize() 一次,尽可能早(最多 App.tsx:

import { Digia } from '@digia-engage/core';

await Digia.initialize({
  apiKey: 'YOUR_API_KEY',
  environment: 'production', // or 'sandbox'
  logLevel: 'error',
});

initialize() 最多等待2秒, 运动可以加载, 如果 装入失败 .

自定义字体

使用 Expo 软件嵌入字体 expo-font 配置插件或 您的本地项目,然后将注册的姓氏传给 Digia Evolution. 自动适用由机板提供的权重.

await Digia.initialize({
  apiKey: 'YOUR_API_KEY',
  fontFamily: 'Inter',
});

家庭必须登记为土著多面家庭。 如果被要求 面部不可用,操作系统执行正常字体倒置.

2 — 挂载 <DigiaHost />

地点 <DigiaHost /> 一次在您的组件树根后 导航容器。 它使工具指针和聚光灯向导.

// app/_layout.tsx (Expo Router) or App.tsx
import { DigiaHost } from '@digia-engage/core';

export default function RootLayout() {
  return (
    <>
      <Stack />
      <DigiaHost />
    </>
  );
}

3 — 轨迹屏幕变化

import { Digia } from '@digia-engage/core';

<NavigationContainer
  onStateChange={() => {
    const route = navRef.getCurrentRoute();
    if (route) Digia.setCurrentScreen(route.name);
  }}
>

4-为指导运动增加主播

环绕任何您想要工具提示或聚光灯指向的 UI 元素 :

import { DigiaAnchorView } from '@digia-engage/core';

<DigiaAnchorView anchorKey="home_banner_btn">
  <Button title="Banner" />
</DigiaAnchorView>

5——为内线运动增加插槽

import { DigiaSlotView } from '@digia-engage/core';

// Auto-sizes to the content height
<DigiaSlotView placementKey="home_banner" />

6-触发运动

带CEP 安装其软件包,并在之后注册 initialize()数字 :

import { DigiaCleverTapPlugin } from '@digia-engage/clevertap';

await Digia.initialize({ apiKey: 'YOUR_API_KEY' });
Digia.register(new DigiaCleverTapPlugin());

register() 如果 CEP 软件包没有安装或链接,则拒绝 。 每个CEP 软件包的 README 列出了它需要的额外设置 .

从你的应用程序 ——按键显示运动:

const { accepted, dropReason } = await Digia.triggerCampaign('welcome_tour');
if (!accepted) console.warn(`Not shown: ${dropReason}`);

dropReason 例如,解释拒绝的理由 frequency_capped, (中文(简体) ), screen_not_targeted, (中文(简体) ), unknown_campaign_key,或 not_ready 在竞选期间 还装入。 通过第二个参数来推翻竞选的变量 这个快递.

7——(备选)处理行动

只登记您的应用程序拥有的动作 。 配置的处理器抑制 SDK 倒置 :

await Digia.initialize({
  apiKey: 'YOUR_API_KEY',
  actionHandlers: {
    customKV: (payload) => handleCustomAction(payload),
    deepLink: (url) => router.push(url),
    openURL: (url) => openInAppBrowser(url),
  },
  linking: {
    routeViaSystemLinking: true,
    inAppBrowser: defaultInAppBrowser, // requires react-native-inappbrowser-reborn
  },
});

当屏幕停止拥有动作时, 处理器可以在初始化后被替换并清除 :

Digia.setCustomKVHandler((payload) => handleCustomAction(payload));
Digia.setCustomKVHandler(null);

8——(备选) 识别用户

Digia.setUserId('user-123'); // after login
Digia.clearUserId();         // on logout
Digia.clearAllInlineContent(); // drop the previous user's inline content

API 参考

Digia

方法签署说明
initialize(config: DigiaConfig) => Promise<void>初始化 SDK. 先打个电话.
register(plugin: DigiaPlugin) => Promise<void>附加其 CEP 插件 @digia-engage/* 软件包。 以后再打给你 initialize()。 。 。 .
unregister(plugin: DigiaPlugin | string) => void忘了注册,然后可以重新注册。 CEP在应用程序重新启动前一直保持附加状态.
triggerCampaign(campaignKey: string, variables?: Record<string, string>) => Promise<{ presentationId: string; accepted: boolean; dropReason: string | null }>按键显示竞选活动 .
setCurrentScreen(name: string) => void通知活动屏幕的 SDK .
setThemeMode(mode: 'auto' | 'light' | 'dark') => void改变竞选的外表.
setUserId(userId: string) => void将用户身份与分析联系起来。 登录后调用.
clearUserId() => void清除用户标识 。 调用登录.
clearInlineContent(...placementKeys: string[]) => void清除给定位置的内置内容 .
clearAllInlineContent() => void清除每个位置的内含内容 .
setCustomKVHandler(handler: CustomKVHandler | null) => void替换或清除自定义 KV 覆盖 .
setDeepLinkHandler(handler: DeepLinkHandler | null) => void替换或清除深链接覆盖 .
setOpenURLHandler(handler: OpenURLHandler | null) => void替换或清除外部 URL 覆盖 .
handleDeepLink(url: string) => boolean如果 url 是 SDK 的调试深链接; 返回 false 否则.
openDebugSettings() => void打开只调试设置屏幕 。 释放中没有建立.
registerAnchor 编号 : unregisterAnchor—— 说折旧 没有. <DigiaAnchorView> 登记本身.

DigiaConfig

Prop类型默认说明
apiKeystring—— 说要求. 您的 Digia 启动 API 密钥 .
environment'production' | 'sandbox''production'目标环境.
logLevel'none' | 'error' | 'verbose''error'日志动词.
themeMode'auto' | 'light' | 'dark''auto'竞选的出现. auto 遵循系统主题.
fontFamilystring—— 说所有竞选文本所用的已注册字体家族 .
actionHandlersDigiaActionHandlers{}已打入自定义 KV, 深链接, 和开放的 URL 覆盖 .
linking.routeViaSystemLinkingbooleantrue使用 Linking.openURL 用于 URL 动作.
linking.inAppBrowserInAppBrowserAdapter—— 说所需经费 open_url 与 presentation: 'in_app'。 。 。 .

<DigiaHost />

没有道具。 渲染器工具提示和聚光灯指南。 把它放在应用程序根上一次.

<DigiaAnchorView>

Prop类型说明
anchorKeystring要求. 一定跟台阶相符 anchorKey 在竞选配置.
...ViewProps—— 说所有标准反应原生 View 道具被传送.

<DigiaSlotView>

在命名的布局中,Renders内置竞选内容(banners,卡片). 当没有为槽活动时折叠到零高度 .

Prop类型说明
placementKeystring要求. 一定跟竞选的一致 slotKey。 。 。 .
styleViewStyle?传递明确 height 以修正大小;否则自动大小.

许可证

业务来源许可证1.1(BUSL-1.1) · 叮当技术私人有限公司——见 自由主义

版本与发布记录

@digia-engage/core 共发布 57 个版本,首次发布于 2026/03/20;过去 12 个月发布了 57 个版本。

版本发布日期距今
3.3.1latest2026/11/057 天前
3.3.02026/11/048 天前
3.2.02026/11/039 天前
2.22.3release-2.222026/10/3013 天前
3.1.12026/10/2914 天前
3.1.02026/10/2914 天前

其他发布通道:beta → 1.0.0-beta.6,rc → 2.0.0-rc.1,next → 2.0.0-rc.2,release-2.22 → 2.22.3。

关于 @digia-engage/core 的常见问题

@digia-engage/core 是什么?

Digia Convention 的回放原生桥 — 让原生Android Compose UI在回放原生应用程序内

如何安装 @digia-engage/core?

在项目目录运行 npm install @digia-engage/core,或使用 pnpm add / yarn add / bun add。

@digia-engage/core 支持 TypeScript 吗?

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

@digia-engage/core 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@digia-engage/core 可以商用吗?

@digia-engage/core 使用 BUSL-1.1 许可。声明的许可为 BUSL-1.1,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@digia-engage/core 的下载量有多少?

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

@digia-engage/core 还在维护吗?

最新版本 3.3.1 发布于 2026/11/05(7 天前);至今共发布 57 个版本,其中过去 12 个月发布了 57 个;首次发布于 2026/03/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。