旧版安装指南

Adapty 包含两个关键 SDK,用于无缝集成到您的移动应用中:

  • 核心 AdaptySDK:这是 Adapty 在您的应用中正常运行所必需的基础 SDK。
  • AdaptyUI SDK:如果您使用 Adapty 付费墙编辑工具,则需要此可选 SDK。付费墙编辑工具是一款用户友好的无代码工具,可轻松创建跨平台付费墙。这些付费墙在我们看板的可视化构建器中构建,完全在设备上以原生方式运行,只需极少的工作即可创建出色的内容。

您目前需要 react-native-adapty 2.4.7 或更高版本才能使用 UI SDK。

请参考下方的兼容性表格,选择正确的 Adapty SDK 和 AdaptyUI SDK 组合。

Adapty SDK 版本AdaptyUI 版本
2.7.0 – 2.9.22.0.0 - 2.0.1
2.9.3 - 2.9.82.1.0
2.10.02.1.1
2.10.12.1.2
2.11.22.11.0
2.11.32.11.1
3.0.13.0.0-3.0.1
3.1.03.1.0

发布应用前请完成发布检查清单

在发布应用之前,请务必仔细阅读发布检查清单。该清单确保您已完成所有必要步骤,并提供评估集成成功与否的标准。

安装 Adapty SDK

目前,React Native 提供两种开发路径:Expo 和纯 React Native。Adapty 可与两者无缝集成。请参阅下方与您所选配置相匹配的部分。

为 Expo React Native 安装 Adapty SDK

您可以使用 Expo Application Services(EAS)简化开发流程。虽然配置可能因您的设置而有所不同,但以下是最常见且最简单的配置方式:

  1. 如果您尚未安装 EAS 命令行界面(CLI),可以使用以下命令进行安装:

    npm install -g eas-cli
  2. 在项目根目录中,安装 dev client 以创建开发构建:

    expo install expo-dev-client
  3. 运行安装命令:

    expo install react-native-adapty
    expo install @adapty/react-native-ui
  4. 针对 iOS:使用 EAS CLI 创建 iOS 构建。此命令可能会提示您提供其他信息。您可以参阅 Expo 官方文档 了解更多详情:

    eas build --profile development --platform ios
  5. 针对 Android:使用 EAS CLI 创建 Android 构建。此命令可能会提示您提供其他信息。您可以参阅 Expo 官方文档 了解更多详情:

    eas build --profile development --platform android
  6. 使用以下命令启动开发服务器:

    expo start --dev-client

完成以上步骤后,应用将可以正常运行并集成 react-native-adapty。

可能出现的错误:

错误描述
Failed to start (Invariant Violation: Native module cannot be null)

如果您通过 CLI dev client 扫描二维码,可能会遇到此错误。要解决此问题,您可以尝试以下方法:

> 在您的设备上打开 EAS 构建的应用(应显示某个 Expo 屏幕),然后手动输入 Expo 提供的 URL(见下方截图)。您可以使用 JS 函数 unescape("string") 对 URL 中的特殊字符进行转义,结果应类似于 http://192.168.1.35:8081

使用纯 React Native 安装 Adapty SDK

如果您选择使用纯原生方式管理 React Native 内购,请参阅以下说明:

  1. 在您的项目中,运行安装命令:

    yarn add react-native-adapty
    yarn add @adapty/react-native-ui
  2. 针对 iOS:安装所需的 pods:

    pod install --project-directory=ios
    pod install --project-directory=ios/

    最低支持的 iOS 版本为 13.0,但新版付费墙编辑工具需要 iOS 15.0 或更高版本。

    如果在安装 pod 时遇到错误,请在您的 ios/Podfile 中找到以下行并更新最低目标版本。之后,您应该可以顺利运行 pod install

    -platform :ios, min_ios_version_supported
    +platform :ios, 15.0
  3. 针对 Android:更新 /android/build.gradle 文件。确保存在 kotlin-gradle-plugin:1.8.0 依赖项或更新版本:

    ...
    buildscript {
      ...
      dependencies {
        ...
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
      }
    }
    ...

配置 Adapty SDK

要使用 Adapty SDK,请在您的_核心组件_(如 App.tsx)中导入 adapty 并调用 activate。建议将激活代码置于 React 组件之前,以确保在激活之前不会调用其他 Adapty 方法。

import { adapty, LogLevel } from 'react-native-adapty';

adapty.activate('PUBLIC_SDK_KEY', {
  observerMode: false,
  customerUserId: 'YOUR_USER_ID',
  logLevel: LogLevel.ERROR,
  __debugDeferActivation: false,
  ipAddressCollectionDisabled: false,
  ios: {
    idfaCollectionDisabled: false,
  },
  activateUi: true, // NOT necessary as the default value is `true`, but you can pass `false` if you don't use the Paywall Builder
  mediaCache: {
    memoryStorageTotalCostLimit: 100 * 1024 * 1024, // 100MB
    memoryStorageCountLimit: 2147483647, // 2^31 - 1
    diskStorageSizeLimit: 100 * 1024 * 1024, // 100MB
  },
});

const App = () => {
	// ...
}

激活参数:

参数是否必填描述
apiKey必填

公共 SDK 密钥是将 Adapty 集成到您的移动应用中所使用的唯一标识符。您可以在 Adapty 看板中复制它:App settings -> General 标签 -> API Keys 部分

SDK 密钥对每个应用都是唯一的,因此如果您有多个应用,请确保选择正确的一个。

请确保在 Adapty 初始化时使用公共 SDK 密钥,因为密钥仅用于服务端 API

observerMode可选

一个布尔值,用于控制观察者模式。如果您自己处理购买和订阅状态,并使用 Adapty 发送订阅事件和分析数据,请开启此选项。默认值为 false

🚧 在观察者模式下运行时,Adapty SDK 不会关闭任何交易,请确保您自行处理。

customerUserId可选

您系统中的用户标识符。我们会将其与订阅和分析事件一起发送,以便将事件与正确的用户画像匹配。您也可以在用户画像部分使用 customerUserId 查找客户。

如果您在开始使用 Adapty 时没有用户 ID,可以稍后使用 adapty.identify() 方法添加。有关更多详情,请参阅识别用户部分。

logLevel可选一个字符串参数,使 Adapty 记录错误和其他重要信息,以帮助您了解发生了什么。
__debugDeferActivation可选一个布尔参数,允许您延迟 SDK 激活,直到下次调用 Adapty。此参数仅用于开发目的,不应在生产环境中使用
ipAddressCollectionDisabled可选

设置为 true 以禁用用户 IP 地址的收集和共享。

默认值为 false

有关 IDFA 收集的更多详情,请参阅分析集成部分。

idfaCollectionDisabled可选一个布尔参数,允许您为 iOS 应用禁用 IDFA 收集。默认值为 false。有关更多详情,请参阅分析集成部分。

请注意,为了在您的移动应用中显示付费墙和产品,以及使分析功能正常工作,您需要展示付费墙,并且如果您使用的付费墙不是通过付费墙编辑工具创建的,还需要在应用内处理购买流程