从 RevenueCat 迁移

您的迁移计划共分 5 个逻辑步骤,平均耗时约 2 小时。90% 的迁移工作可在一个工作日内完成。

  1. 了解核心差异;创建并准备好 Adapty 账户 (5 分钟)
  2. 为您的平台安装 Adapty SDK(iOSAndroidReact NativeFlutterKotlin MultiplatformUnity),替换 RevenueCat SDK (1 小时)
  3. Apple App Store 服务器通知配置到 Adapty,并(可选)启用原始事件转发 (5 分钟)
  4. 测试并发布应用更新 (30 分钟);
  5. (可选)向 RevenueCat 支持团队申请 CSV 格式的历史数据 (5 分钟);
  6. (可选)通过 Adapty 支持团队导入历史数据 (30 分钟)

您的订阅用户将自动迁移

所有曾激活过订阅的用户,一旦打开带有 Adapty SDK 的新版本应用,将立即迁移到 Adapty。订阅状态验证和高级访问权限将自动恢复。

在推送带有 Adapty SDK 的新版本应用之前,请务必查阅我们的发布检查清单

了解核心差异;创建并准备好 Adapty 账户

Adapty 和 RevenueCat 的 SDK 设计理念相似。最大的区别在于网络使用方式和速度:Adapty SDK 的设计目标是在您请求时尽可能快速地提供所需信息。例如,请求付费墙时,您会首先获取远程配置以预先构建用户引导或付费墙,然后再通过专用请求获取产品信息。

命名方式略有不同:

RevenueCatAdapty
PackageProduct
OfferingPaywall
PaywallPaywall Builder
EntitlementAccess level

Adapty 有一个版位的概念。版位是应用内用户可以进行购买的逻辑位置。大多数情况下,您会有一到两个版位:

  • 用户引导(因为 80% 的购买都发生在此阶段);
  • 通用版位(在用户引导结束后,在设置页面或应用内展示)。
2406d97-image.webp

安装 Adapty SDK 并替换 RevenueCat SDK

在您的应用中为对应平台安装 Adapty SDK(iOSAndroidReact NativeFlutterKotlin MultiplatformUnity)。

您需要在应用端替换部分 SDK 方法。下面列出了最常用的函数及其对应的 Adapty SDK 替换方式。

SDK 激活

Purchases.configure 替换为 Adapty.activate

获取付费墙(Offering)

Purchases.shared.getOfferings 替换为 Adapty.getPaywall

在 Adapty 中,您始终通过版位 ID 请求付费墙。实际上,您最多只需获取 1-2 个付费墙,因此我们专门这样设计以加快 SDK 速度并减少网络使用。

获取用户(客户画像)

Purchases.shared.getCustomerInfo 替换为 Adapty.getProfile

获取产品

在 RevenueCat 中,您使用以下结构:Purchases.shared.getOfferings,然后访问 self.offering?.availablePackages

在 Adapty 中,您首先请求付费墙(参见上文)以立即访问 Adapty 的远程配置,然后通过 Adapty.getPaywallProducts 获取产品信息。

发起购买

Purchases.shared.purchase 替换为 Adapty.makePurchase

检查访问等级(Entitlement)

先获取客户画像(参见上文),然后将

customerInfo?.entitlements["premium"]?.isActive == true

替换为

profile.accessLevels["premium"]?.isActive == true

恢复购买

Purchases.shared.restorePurchases 替换为 Adapty.restorePurchases

检查用户是否已登录

Purchases.shared.isAnonymous 替换为 if profile.customerUserId == nil

登录用户

Purchases.shared.logIn 替换为 Adapty.identify

登出用户

Purchases.shared.logOut 替换为 Adapty.logout

将 App Store 服务端通知切换至 Adapty

请参阅此处了解具体操作方法。

测试并发布新版本应用

如果您正在阅读本文,说明您已经完成了以下步骤:

  • 配置了 Adapty 看板
  • 安装了 Adapty SDK
  • 用 Adapty 函数替换了 SDK 逻辑
  • 将 App Store 服务端通知切换至 Adapty,并可选地开启了原始事件转发至 RevenueCat
  • 进行了沙盒购买测试
  • 发布了新版本应用

如果以上各项已全部勾选,只需在沙盒中完成测试购买,然后发布应用即可。

请参阅发布检查清单

使用我们的清单进行最终检查,以验证现有集成或添加归因分析等额外集成功能。

(可选)以 CSV 格式导出您的 RevenueCat 历史数据

请勿急于导入历史数据

在发布带有 SDK 的新版本后,您应等待至少一周再进行历史数据导入。在此期间,我们将通过 SDK 获取所有购买价格信息,从而使您导入的数据更加准确。

按照 RevenueCat 官方文档中的说明,以 CSV 格式从 RevenueCat 导出您的历史数据。

(可选)向 RevenueCat 支持申请 Google Purchase Token

如果您需要导入 Google Play 交易记录,请通过 RevenueCat 的支持页面联系其支持团队,申请包含 Google Purchase Token 的 CSV 文件。Google Purchase Token 是 Google Play 为每笔交易提供的唯一标识符,对于在 Adapty 中准确追踪和验证购买至关重要。此信息不包含在标准导出文件中。该文件包含以下三列:

  • user_id
  • google_purchase_token
  • google_product_id

联系我们导入您的历史数据

请通过网站聊天窗口联系我们,或发送邮件至 [email protected],并附上您的 CSV 文件。

  1. 将您从 RevenueCat 导出的 CSV 文件直接发送给我们的支持团队。
  2. 如需导入 Google Play 交易记录,请附上您从 RevenueCat 支持团队获取的包含 Google Purchase Token 的 CSV 文件。
  3. 请告知我们应使用哪个用户 ID 作为 Customer User ID(Adapty 的主要用户标识符):rc_original_app_user_id 还是 rc_last_seen_app_user_id_alias

我们的支持团队将把您的交易记录导入 Adapty。以下数据将针对每笔交易导入到 Adapty:

参数描述
user_idCustomer User ID,即您的用户在 Adapty 和您系统中的主要标识符。
apple_original_transaction_id对于订阅链,这是原始交易的购买日期,通过 store_original_transaction_id 关联。
google_product_idGoogle Play Store 中的产品 ID。
google_purchase_tokenGoogle Play 为每笔交易提供的唯一标识符,用于验证。
country用户所在国家。
created_at用户创建的日期和时间。
subscription_expiration_date订阅到期的日期和时间。
email终端用户的电子邮件地址。
phone_number终端用户的电话号码。
idfa广告标识符(IDFA),由 Apple 分配给用户设备。
idfv供应商标识符(IDFV),由同一开发者分配给其所有应用,并在同一设备上的这些应用间共享。
advertising_id由 Android 操作系统提供的唯一标识符,广告商可用于追踪目的。
attribution_channel营销渠道名称。
attribution_campaign营销活动名称。
attribution_ad_group归因广告组。
attribution_ad_set归因广告集。
attribution_creative归因创意关键词。

此外,以下集成的集成标识符也将被导入:Amplitude、Mixpanel、AppsFlyer、Adjust 和 FacebookAds。

常见问题

我已成功安装 Adapty SDK 并发布了新版本应用。那些未更新到带有 Adapty SDK 版本的老订阅用户会怎样?

大多数用户会在夜间充电时自动更新应用,App Store 通常也会在此时自动更新所有应用,因此这应该不是问题。仍可能有少量付费订阅用户未进行升级,但他们仍然可以访问高级内容。您无需为此担心,也不必强制他们更新。

我是否需要尽快从 RevenueCat 导出历史数据,否则会丢失吗?

无需特别紧迫,请先发布带有 Adapty SDK 的新版本,之后再将历史数据提供给我们。我们会还原您用户的付款历史记录,并填充用户画像数据图表

我使用了 MMP(AppsFlyer、Adjust 等)和分析工具(Mixpanel、Amplitude 等)。如何确保一切正常运作?

您首先需要通过我们的 SDK 将您希望我们发送数据的第三方服务 ID 传递给我们。请阅读归因集成分析集成指南。对于历史数据和老用户,请务必将您从 RevenueCat 导出的数据中的这些 ID 提供给我们。