从 RevenueCat 迁移
您的迁移计划将包含 5 个逻辑步骤,平均耗时约 2 小时。90% 的迁移工作可在不到一个工作日内完成。
- 了解核心差异;创建并准备一个 Adapty 账户 (5 分钟);
- 为您的平台安装 Adapty SDK(iOS、Android、React Native、Flutter、Kotlin Multiplatform、Unity),替代 RevenueCat SDK (1 小时);
- 向 Adapty 设置 Apple App Store 服务器通知,以及(可选)原始事件转发 (5 分钟);
- 测试并发布应用更新 (30 分钟);
- (可选)向 RevenueCat 支持团队申请 CSV 格式的历史数据 (5 分钟);
- (可选)通过 Adapty 支持团队导入历史数据 (30 分钟)。
您的订阅用户将自动迁移
所有曾经激活过订阅的用户,只要打开集成了 Adapty SDK 的新版本应用,就会立即迁移至 Adapty。订阅状态验证和高级访问权限将自动恢复。
在发布集成了 Adapty SDK 的新版本应用之前,请务必查阅我们的发布检查清单。
了解核心差异;创建并准备 Adapty 账户
Adapty 与 RevenueCat 的 SDK 设计理念相似。最大的区别在于网络使用方式和响应速度:Adapty SDK 旨在您请求时尽可能快速地按需提供信息。例如,在请求付费墙时,您会首先获取远程配置以预先构建您的用户引导或付费墙,然后再通过专用请求获取产品信息。
命名方式略有不同:
| RevenueCat | Adapty |
|---|---|
| Package | 产品 |
| Offering | 付费墙 |
| Paywall | 付费墙编辑工具 |
| Entitlement | 访问等级 |
Adapty 有一个版位的概念。它是应用内用户可以进行购买的逻辑位置。在大多数情况下,你会有一到两个版位:
- 用户引导(因为 80% 的购买都发生在这里);
- 通用(在用户引导完成后,在设置页面或应用内部展示)。
安装 Adapty SDK 并替换 RevenueCat SDK
为您的平台安装 Adapty SDK(iOS、Android、React Native、Flutter、Kotlin Multiplatform、Unity)。
您需要在应用端替换几个 SDK 方法。下面介绍最常见的函数及其对应的 Adapty SDK 替换方式。
SDK 激活
将 Purchases.configure 替换为 Adapty.activate。
获取付费墙(产品系列)
将 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。
检查访问等级(权益)
获取用户画像(请先阅读上文),然后将
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
- 将 SDK 逻辑替换为 Adapty 函数
- 将 App Store 服务端通知切换至 Adapty,并可选择开启原始事件转发至 RevenueCat
- 进行沙盒购买
- 发布新版应用
如果您已完成以上步骤,请在沙盒中进行测试购买,然后发布应用。
请查阅发布检查清单。
使用我们的清单进行最终检查,以验证现有集成或添加其他功能,例如归因或分析集成。 :::
(可选)以 CSV 格式导出您的 RevenueCat 历史数据
请勿急于导入历史数据
在集成 SDK 发版后,您应至少等待一周再进行历史数据导入。在此期间,我们将通过 SDK 获取所有购买价格信息,从而使您导入的数据更加准确。
请按照 RevenueCat 官方文档 中的说明,以 CSV 格式从 RevenueCat 导出您的历史数据。
(可选)向 RevenueCat 支持团队申请 Google 购买令牌
如果您需要导入 Google Play 交易记录,请通过 RevenueCat 的支持页面联系其支持团队,申请包含 Google 购买令牌的 CSV 文件。Google 购买令牌是 Google Play 为每笔交易提供的唯一标识符,对于在 Adapty 中准确追踪和验证购买记录至关重要。此信息不包含在标准导出文件中。该文件包含以下三列:
user_idgoogle_purchase_tokengoogle_product_id
联系我们以导入您的历史数据
请通过网站聊天工具联系我们,或发送电子邮件至 [email protected],并附上您的 CSV 文件。
- 将您从 RevenueCat 导出的 CSV 文件直接发送给我们的支持团队。
- 如果需要导入 Google Play 交易记录,请附上从 RevenueCat 支持团队获取的包含 Google Purchase Tokens 的 CSV 文件。
- 请告知我们应使用哪个用户 ID 作为 Customer User ID(Adapty 的主要用户标识符):
rc_original_app_user_id或rc_last_seen_app_user_id_alias。 我们的支持团队将把您的交易数据导入 Adapty。以下数据将针对每笔交易导入 Adapty: | 参数 | 描述 | | ----------------------------- | ------------------------------------------------------------ | | user_id | 客户用户 ID,即您的用户在 Adapty 及您的系统中的主要标识符。 | | apple_original_transaction_id | 对于订阅链,这是原始交易的购买日期,通过store_original_transaction_id关联。 | | google_product_id | Google Play 商店中的产品 ID。 | | google_purchase_token | Google 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 并发布了集成该 SDK 的新版本应用。那些没有更新到含有 Adapty SDK 版本的老订阅用户会怎样?
大多数用户会在夜间给手机充电,而 App Store 通常会在此时自动更新所有应用,因此这不会是什么大问题。可能仍有少数付费订阅用户没有升级,但他们依然可以访问高级内容。您无需为此担心,也不必强制他们更新。
我是否需要尽快从 RevenueCat 导出历史数据,否则会丢失吗?
您不必急于完成此操作;请先发布集成了 Adapty SDK 的版本,然后再向我们提供历史数据。我们将还原您用户的付款历史记录,并填充用户画像和数据图表。
我使用 MMP(AppsFlyer、Adjust 等)和分析工具(Mixpanel、Amplitude 等)。我该如何确保一切正常运作?
您首先需要通过我们的 SDK 将您希望我们发送数据的第三方服务 ID 传递给我们。请阅读归因集成和分析工具集成的指南。对于历史数据和老用户,请确保您将从 RevenueCat 导出的数据中获取的那些 ID 传递给我们。