@clickterm/react-native-sdk

中文文档
1.5.0发布于 2026/10/23MITTypeScriptCommonJS零依赖近 30 天下载 4430

反应原生 SDK 用于 Clickterm 点击包协议 .

中文使用文档
文档目录10 节
  1. 所需资源
  2. 安装
  3. iOS系统
  4. 机器人
  5. 博览配置插件
  6. 使用量
  7. API 密码
  8. 错误
  9. 许可证
  10. 文件收发者

@ 点击term/ react- native- sdk

反应原生 SDK 用于 点击时间 点击包装协议 。 它通过将原生的iOS和Android Clickterm SDKs包装为博览会模块——不需要自定义的原生桥来在"赤裸回放"和"博览会"应用程序中呈现出原生的点击包对话框.

所需资源

  • 原生反应 0.75+ 或 曝光 SDK 52+
  • iOS系统 15.0+
  • 机器人 minSdk 24

安装

npm install @clickterm/react-native-sdk

iOS系统

安装 CocoaPods 依赖关系( bare React End) :

cd ios && pod install

展览项目在期间自动取取模块 npx expo prebuild 或EAS Build. (英语). 在此步骤下为您下载本地的iOS框架——不需要手动设置.

机器人

本地的依赖性由马文中央自动解决. 博览 预建也启用了Android API 24所需的核心图书馆解析器 和25通过软件包的配置插件.

对于一个不运行配置插件的赤裸回放本地应用程序,请添加 跟随应用模块 android/app/build.gradle数字 :

android {
  compileOptions {
    coreLibraryDesugaringEnabled true
  }
}

dependencies {
  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
}

博览配置插件

在您的应用程序中添加软件包 plugins 阵列, 因此 Expo CLI 和 EAS Build 包含在预建过程中 :

// app.json
{
  "expo": {
    "plugins": ["@clickterm/react-native-sdk"]
  }
}

使用量

import * as Clickterm from '@clickterm/react-native-sdk';

await Clickterm.initialize('YOUR_APP_ID');

const signature = await Clickterm.show({
  clickwrapTemplateId: 'tmpl_abc',
  endUserId: 'user_42',
   templatePlaceholders: {
    fullName: 'Ada Lovelace',
    company: 'Analytical Engines Ltd',
    customPlaceholders: { customerName: 'Ada' },
  },
  language: 'en-US',
});

const bundleSignature = await Clickterm.showBundle({
  clickwrapBundleId: 'bundle_abc',
  endUserId: 'user_42',
  templatePlaceholdersByTemplateId: {
    tmpl_abc: {
      fullName: 'Ada Lovelace',
      company: 'Analytical Engines Ltd',
    },
  },
  language: 'en-US',
});

const accepted = await Clickterm.showAcceptedContent({
  clickwrapTemplateId: 'tmpl_abc',
  endUserId: 'user_42',
});

API 密码

函数回返说明
initialize(appId, environment?)Promise<void>配置 SDK . environment 实值 'production' (违约)或 'development' 看到了吗 平台差异。 。 。 .
show(request)Promise<string | null>显示点击窗口对话框 。 决定与签名字符串,或 null 如果用户已经对协议采取行动.
showBundle(request)Promise<string | null>呈现一个捆绑的对话框 。 以捆绑的签名决定,或 null 当每个项目都被接受时.
showAcceptedContent(request)Promise<ClickwrapTemplateContent>重新显示先前接受的协议并用其存储的内容解决.

请求形状( 装有包的完整类型脚本定义船):

  • ClickwrapTemplateRequest —— 说 { clickwrapTemplateId, endUserId, templatePlaceholders?, language }
  • ClickwrapBundleRequest —— 说 { clickwrapBundleId, endUserId, templatePlaceholdersByTemplateId?, language? }
  • ClickwrapAcceptedAgreementRequest —— 说 { clickwrapTemplateId, endUserId }

showBundle() 当本地对话框在装入或提交错误后提供重试时, 将待决 。 它解决流量成功或捆绑已被接受时,拒绝用户取消或流量以终端出错结束时.

错误

所有方法都用 Error 谁 code 属性为:

代码含义
ERR_CLICKTERM_NOT_INITIALIZEDinitialize() 并非首先被称作.
ERR_CLICKTERM_INVALID_ARGUMENT一个必要的论据是缺失或畸形.
ERR_CLICKTERM_NETWORK请求无法到达服务器 .
ERR_CLICKTERM_HTTP服务器以错误状态响应 .
ERR_CLICKTERM_DECODING无法解析服务器响应 .
ERR_CLICKTERM_USER_CANCELLED用户解除了对话框 .
ERR_CLICKTERM_NO_PRESENTERiOS:没有可供显示的视图控制器 .
ERR_CLICKTERM_NO_ACTIVITY安卓:没有前景活动.
ERR_CLICKTERM_UNKNOWN发生了出乎意料的错误 .

许可证

麻省理工学院

文件收发者

通过可选 ddRecipient (单位:千美元)email选项 fullName)带有模板或捆绑请求. 这与文件占位符不同。 一个捆绑对整个传送邮件使用一个收件人. 启用 ClickTerm 中的协议电子邮件发送 。 丢失或无效的电子邮件地址产生跳过交付; 占位符电子邮件从未被用作倒计时。 电子邮件支持最多254个字符和完整 名称最多为100个.

const ddRecipient = { email: '[email protected]', fullName: 'Alice Example' };
await show({ clickwrapTemplateId: 'template', endUserId: 'user', ddRecipient });
await showBundle({ clickwrapBundleId: 'bundle', endUserId: 'user', ddRecipient });

核查使用随请求而提供的接收方;核查不能添加、替换或清除. 不发送 ddRecipient 在验证。 校验属于您的后端; React 原生 SDK 永远不会 发送后端证书或呼叫验证 . 反应原生包装目前并不暴露被推迟的身份或激活. 它的接收者是供应的 只使用普通模板或捆绑请求.

版本与发布记录

@clickterm/react-native-sdk 共发布 13 个版本,首次发布于 2026/05/28;过去 12 个月发布了 13 个版本。

版本发布日期距今
1.5.0latest2026/10/2317 天前
1.4.02026/09/181 个月前
1.3.02026/08/282 个月前
1.2.02026/07/203 个月前
1.1.02026/06/194 个月前
1.0.02026/06/174 个月前

关于 @clickterm/react-native-sdk 的常见问题

@clickterm/react-native-sdk 是什么?

反应原生 SDK 用于 Clickterm 点击包协议 .

如何安装 @clickterm/react-native-sdk?

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

@clickterm/react-native-sdk 支持 TypeScript 吗?

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

@clickterm/react-native-sdk 支持 ESM 还是 CommonJS?

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

@clickterm/react-native-sdk 可以商用吗?

@clickterm/react-native-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@clickterm/react-native-sdk 的下载量有多少?

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

@clickterm/react-native-sdk 还在维护吗?

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