概述
RevenueCat 帮助您跟踪跨平台的应用内购买和订阅生命周期。通过 OneSignal,您可以使用这些数据根据用户的订阅状态发送个性化消息。 此集成会自动使用用户的最新订阅信息更新 OneSignal 中的用户标签。主要优势
通过 RevenueCat-OneSignal 集成,您可以:- 向免费试用或刚刚订阅的用户发送入门消息。
- 通过调查或折扣重新吸引流失的用户。
- 为购买、计费问题或续费发送事务消息。
要求
- RevenueCat 账户
- RevenueCat Purchases SDK
- 了解 RevenueCat-OneSignal 集成
- 已集成 SDK 的 OneSignal 账户
设置
将 OneSignal 连接到 RevenueCat
- 在您的 RevenueCat 仪表板中,导航至您的项目设置并从集成菜单中选择“OneSignal”。
- 添加您的 OneSignal 应用 ID 和 OneSignal API 密钥。更多信息请参阅密钥和 ID。
- 输入 RevenueCat 应使用的标签名称,或选择默认标签名称。
将 OneSignal ID 传递给 RevenueCat
RevenueCat 使用 OneSignal 用户 ID(OneSignal ID)根据用户的 RevenueCat 用户详细信息在 OneSignal 中更新用户标签。在 OneSignal 中设置外部 ID 对于稳定的标识符是必需的。如果在会话中途更改,OneSignal ID 也可能会发生变化,从而中断 RevenueCat 连接。
1
在 OneSignal 中设置外部 ID
在 OneSignal 中将外部 ID 设置为您的主要用户 ID。这可以通过 SDK
login
方法完成。2
获取 OneSignal ID
我们推荐使用用户状态观察者方法来获取 OneSignal ID,但我们也提供 getter 方法:
- User state observers:
- Getter methods:
3
将 OneSignal ID 传递给 RevenueCat
将 OneSignal ID 传递给 RevenueCat。
- RevenueCat 属性:
$onesignalUserId
- RevenueCat 帮助方法:
setOneSignalUserID()
(推荐)
将 RevenueCat 事件发送到 OneSignal
将 OneSignal ID 映射到 RevenueCat 的用户将自动更新其标签。Testing the integration
1
进行沙箱购买
模拟新用户安装您的应用程序,并通过您的应用流程完成沙箱购买。
确保在 RevenueCat 中设置了 OneSignal ID。
2
检查是否收集了所需的设备数据
在 RevenueCat 中,导航至刚刚进行购买的测试用户的客户视图。确保所有必需的数据都作为用户属性列出。
3
检查 OneSignal 事件是否成功传递
仍在客户视图中时,点击客户历史中的测试购买事件,并确保 OneSignal 集成事件存在并已成功投递。
4
检查 OneSignal 标签是否已更新
在 OneSignal 中,导航至 Audience > Users 并搜索 OneSignal ID。您应该能看到由 RevenueCat 更新的标签。
集成完成!您现在应该能看到 OneSignal 中的标签会随着用户进行购买或更新其订阅状态而自动更新。
RevenueCat 事件标签
对于 RevenueCat 中的每个自动续订订阅事件,以下标签将在 OneSignal 中的用户上添加或更新。通过在 RevenueCat 仪表板中留空标签,您可以选择不为特定标签发送任何值。标签 | 描述 |
---|---|
app_user_id | 触发事件的 RevenueCat 应用用户 ID |
period_type | 购买或续订的最新期间类型。可以是:TRIAL (免费试用)、INTRO (介绍定价)、NORMAL (标准订阅) |
purchased_at | 最新订阅购买或续订的纪元时间(以秒为单位) |
expiration_at | 最新订阅到期日期的纪元时间(以秒为单位) |
store | APP_STORE 、PLAY_STORE 或 STRIPE 之一 |
environment | SANDBOX 或 PRODUCTION 之一 |
last_event_type | 来自用户的最新事件类型。可以是:INITIAL_PURCHASE 、TRIAL_STARTED 、TRIAL_CONVERTED 、TRIAL_CANCELLED 、RENEWAL 、CANCELLATION |
product_id | 用户已购买或续订的最新订阅产品标识符 |
entitlement_ids | 用户解锁的 RevenueCat 权限标识符的逗号分隔字符串 |
active_subscription | 在任何购买/续订事件上,此值将设置为 true ,在 EXPIRATION 上设置为 false |
subscription_status | 请参阅下面的订阅状态属性 |
grace_period_expiration_at | 如果发生计费问题,我们将发送宽限期到期日期。 |
- 仅限自动续订订阅
- RevenueCat 仅响应自动续订订阅事件在 OneSignal 中更新数据标签。
RevenueCat 事件示例
提供的 JSON 示例显示了基于 RevenueCat 事件发送到 OneSignal 的标签。 事件保存为last_event_type
标签。
- initial_purchase
- trial_started
- trial_converted
- trial_cancelled
- renewal
- cancellation
- uncancellation
- non_subscription_purchase
- subscription_paused
- expiration
- billing_issue
- product_change
subscription_status
tag
每当 RevenueCat 向 OneSignal 发送事件时,subscription_status
标签会使用以下值之一添加或更新任何适用的更改:
状态 | 描述 |
---|---|
active | 客户拥有活跃的付费订阅,该订阅将在下一个续订日期续订。 |
intro | 客户通过付费介绍优惠拥有活跃的付费订阅。 |
cancelled | 客户拥有付费订阅,该订阅将在下一个续订日期到期。 |
grace_period | 客户拥有付费订阅,该订阅在续订失败后进入了宽限期。 |
trial | 客户处于试用期,试用期结束时将转为付费。 |
cancelled_trial | 客户处于试用期,试用期结束时将到期。 |
grace_period_trial | 客户原本处于试用期,现在在续订失败后进入了宽限期。 |
expired | 客户的订阅已到期。 |
promotional | 客户通过 RevenueCat 拥有某项权限的访问权 |
expired_promotional | 客户之前通过 RevenueCat 授予权限拥有某项权限的访问权,现已到期。 |
paused | 客户拥有已暂停的付费订阅,订阅将在未来某个日期恢复。 |