# RevenueCat 集成

<Aside type="caution" icon="setting" title="需要开发者协助">
 您需要开发团队的帮助来设置此集成。请与他们分享本指南。
</Aside>

[RevenueCat](https://www.revenuecat.com/) 是一个订阅管理平台，可简化 iOS、Android 和 Web 平台上企业的应用内购买和订阅。它为构建、分析和增强应用内订阅提供了全面的工具。

通过将 Pushwoosh 与 [RevenueCat](https://www.revenuecat.com/) 集成，企业可以根据 RevenueCat 发送到 Pushwoosh 的订阅事件，向用户发送有针对性的推送通知、应用内提示和其他消息。这可以鼓励用户续订、升级到更高级别的套餐或利用特别优惠，从而提高参与度、最大化收入并简化订阅管理。

## 用例

#### 个性化通信

企业可以使用该集成来个性化与客户的沟通。例如，一个在线学习平台可以通过在检测到订阅计划变更时发送个性化的推送通知来提高用户参与度。这些通知会提供过渡指导，根据新计划推荐相关课程，并提供与更新相符的独家优惠。

#### 账单问题通知

当用户的订阅遇到账单问题时，企业可以使用 RevenueCat 与 Pushwoosh 的集成来及时发送有针对性的通知。例如，流媒体服务可以通知用户账单问题，并提供解决问题的说明，例如更新支付信息。

#### 非续订购买通知

企业可以利用 RevenueCat 与 Pushwoosh 的集成，将一次性购买转变为持久的客户关系。例如，送餐服务可以在购买后发送推送通知，感谢客户并推荐相关产品或推广订阅计划以持续提供便利。这将培养客户忠诚度，推动追加销售机会，并可能将一次性购买者转变为订阅者。

#### 套餐升级促销

拥有多个订阅套餐的应用可以使用该集成来监控用户订阅并发送量身定制的升级提示。例如，游戏应用可以使用推送通知来强调高级别套餐的好处，如独家内容或折扣，从而鼓励用户升级其订阅。

## 事件

该集成可以跟踪各种事件，一旦从 RevenueCat 发送第一个事件，就会在 Pushwoosh 中自动创建这些事件。这些事件包括：

| 事件                 | 事件名称      <div style="width:160px"></div>                   | 描述                                                                                                                      | 属性       <div style="width:200px"></div>                                                                                                   |
|---------------------- |--------------------------- |------------------------------------------------------------------------------------------------------------------------------ |--------------------------------------------------------------------------------------------------------------- |
| 首次购买      | `RC_INITIAL_PURCHASE`      | 已购买新的订阅。                                                                                        | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| 非续订购买 | `RC_NON_RENEWING_PURCHASE` | 客户进行了一次不会自动续订的购买。                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| 续订              | `RC_RENEWAL`               | 现有订阅已续订，或失效用户已重新订阅。                                                 | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| 产品变更       | `RC_PRODUCT_CHANGE`        | 订阅者更改了其订阅的产品。                                                                  |                                                                                                              |
| 取消         | `RC_CANCELLATION`          | 订阅或非续订购买已被取消。                                                                   |                                                                                                             |
| 账单问题       | `RC_BILLING_ISSUE`         | 尝试向订阅者收费时发生问题。                                                             |                                                                                                              |
| 订阅者别名   | `RC_SUBSCRIBER_ALIAS`      | 每当为现有订阅者注册了新的 `app_user_id` 时发生。                                         |                                                                                                             |
| 订阅已暂停  | `RC_SUBSCRIPTION_PAUSED`   | 订阅已设置为在期末暂停。                                                         |                                                                                                              |
| 取消撤销      | `RC_UNCANCELLATION`        | 未过期的已取消订阅已重新启用。                                                                    |                                                                                                             |
| 转移            | `RC_TRANSFER`              | 交易和权益的转移已从一个 App User ID 启动到另一个。                            |                                                                                                             |
| 订阅已延长 | `RC_SUBSCRIPTION_EXTENDED` | 现有订阅已延长（当前订阅期的到期日已推后）。 |                                                                                                             |
| 到期          | `RC_EXPIRATION`            | 客户的订阅到期。                                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li><li>expiration_at</li><li>purchased_at</li></ul> |

您可以在您的 [Customer Journeys](/zh/product/customer-journey/pushwoosh-journey-overview) 中使用所有这些事件。带有 `price` 属性的事件可以与 [RFM 分割](/zh/product/audience-data-and-segmentation/segmentation/rfm-segmentation) 一起使用。

## 设置集成

### 在 Pushwoosh 和 RevenueCat 之间同步 User ID 和 HWID

为了将 RevenueCat 和 Pushwoosh 之间的事件同步到同一用户，您需要设置 Pushwoosh UserID 以匹配 RevenueCat App User Id。为此，请在 Pushwoosh SDK 中设置来自 RevenueCat SDK 的 appUserID。[了解有关 RevenueCat appUserID 的更多信息](https://www.revenuecat.com/docs/customers/user-ids#provide-app-user-id-on-configuration)

#### 对于 Android

通过使用 `Pushwoosh.getInstance().setUserId(appUserIDFromRC);` 方法，在 Pushwoosh SDK 中设置从 RevenueCat SDK 获取的 appUserID。

#### 对于 iOS

通过使用 `[[Pushwoosh sharedInstance] setUserId: appUserIDFromRC];` 方法，在 Pushwoosh SDK 中设置从 RevenueCat SDK 获取的 appUserID。

### 将 RevenueCat 事件发送到 Pushwoosh

在 Pushwoosh 和 RevenueCat 中同步 User ID 和 HWID 后，请在您的 RevenueCat 控制面板中启用 Pushwoosh 集成。

1. 在 RevenueCat 控制面板中导航到您的项目，并在左侧菜单中找到“集成”卡片。点击 **+ 新建** 或 **添加集成**

<img src="/integrations-revenuecat-integration-1.webp" alt="在 RevenueCat 控制面板中查找集成"/>

2. 从 **集成** 菜单中选择 **Webhooks**

<img src="/integrations-revenuecat-integration-2.webp" alt="从集成菜单中选择 Webhooks"/>

3. 为集成指定一个简单的名称，例如 _Pushwoosh_，以便于识别。
4. 在 **Webhook URL** 字段中输入以下 URL：

`https://integration-revenuecat.svc-nue.pushwoosh.com/integration-revenuecat/v1/post-event?pwapp=APP_CODE"`

<img src="/integrations-revenuecat-integration-3.webp" alt="为 Pushwoosh 集成输入 Webhook URL"/>

在 URL 中，将 **APP_CODE** 替换为您现有的 Pushwoosh 应用程序代码，该代码位于您 Pushwoosh 帐户中应用程序名称的下方。

<img src="/integrations-revenuecat-integration-4.webp" alt="查找 Pushwoosh 应用程序代码"/>

5. 在 **授权标头值** 字段中，插入您的 **Pushwoosh API 令牌**。您可以在 Pushwoosh 的 **设置 > API 访问** 下找到此令牌。

<img src="/integrations-revenuecat-integration-5.webp" alt="在授权标头中输入 Pushwoosh API 令牌"/>

6. 决定您是要传输生产（实时）购买、沙盒（测试）购买的事件，还是两者都要。
7. 在 **应用** 下拉菜单中，指定是为项目中的单个应用还是所有应用分派 webhook 事件。
8. 在 **事件类型** 下拉菜单中，选择是发送所有事件还是指定要发送到 Pushwoosh 的事件。

<img src="/integrations-revenuecat-integration-6.webp" alt="在 RevenueCat webhook 中配置事件类型"/>

9. 选择显示所有事件、仅成功事件或仅失败事件。

<img src="/integrations-revenuecat-integration-7.webp" alt="在 webhook 中选择事件显示选项"/>

此外，您还可以选择发送测试 Webhook。