移动开发

rc-cancellations-pauses-winback

revenuecat/ai-toolkit

Use this skill when surfacing cancellation, pause, and winback state on Android with RevenueCat. Covers reading unsubscribeDetectedAt, billingIssuesDetectedAt, pause state via periodType, managementURL for deep link, and pause resume date lookup via the REST API.

  • 633 次安装
  • 76 星标
  • 收录于

安装命令

npx skills add https://github.com/revenuecat/ai-toolkit --skill rc-cancellations-pauses-winback

SKILL.md

Cancellations, Pauses, and Winback

Detect cancellation, pause, and winback states on Android by reading CustomerInfo. Most of these events are passive: your app observes them rather than initiates them. Open Google Play's manage screen with managementURL. Look up the pause resume date from the REST API.

Phase 1: Scope

Decide what state you need to surface to the user.

State Signal in CustomerInfo Notes
Canceled, still has access entitlement.unsubscribeDetectedAt != null and isActive == true Show "ends on [expirationDate]"
Billing issue (grace or hold) entitlement.billingIssuesDetectedAt != null Payment failed, recovery in progress
Paused entitlement.isActive == false while product is still owned Resume date requires REST API
Active and renewing entitlement.willRenew == true Normal state

Backend win back campaign segmentation uses the CANCELLATION webhook cancel_reason field (UNSUBSCRIBE, BILLING_ERROR, DEVELOPER_INITIATED, PRICE_INCREASE).

Phase 2: Prepare