rc-alternative-billing — скилл для Claude Code: альтернативный
Скилл помогает разобраться, какие программы альтернативного биллинга Google Play закрывает RevenueCat Android SDK, а какие придётся делать самому.
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a claude-codeЧто делает rc-alternative-billing
Скилл описывает статус поддержки альтернативного биллинга Google Play в RevenueCat Android SDK. Он разбирает четыре программы — User Choice Billing, Alternative Billing Only, External Offers и External Payment Links — и объясняет, что каждая из них требует от приложения. По данным главы хендбука, RevenueCat закрывает эти программы ограниченно, поэтому перед стартом работы стоит проверить changelog на более свежие версии SDK.
Работа разбита на три фазы. Сначала discovery: какие программы вы целите, есть ли право на них в регионе, не путаете ли вы их с RevenueCat Web Billing. Потом выбор пути — ждать поддержки в SDK или писать интеграцию руками через Play Billing Library. Если выбираете второй путь, скилл напоминает про PurchasesAreCompletedBy.MY_APP, чтобы подтверждение покупок оставалось на вашей стороне и не конфликтовало с SDK.
Внутри есть таблица покрытия по потокам, чек-листы для планирования и проверки, а также примеры кода на Kotlin. Отдельно разбирается случай, когда вам нужен не альтернативный биллинг Google, а веб-чекаут RevenueCat через Offering.webCheckoutURL или Package.webCheckoutURL. Ключевое ограничение: SDK владеет экземпляром BillingClient, поэтому сырые вызовы Play Billing рядом с ним требуют аккуратности.
Какие задачи решает
- понять, какие программы альтернативного биллинга Google Play поддерживает RevenueCat SDK
- выбрать между ожиданием поддержки в SDK и ручной интеграцией через Play Billing Library
- настроить подтверждение покупок так, чтобы ваше приложение и SDK не мешали друг другу
- отличить программы альтернативного биллинга Google от веб-чекаута RevenueCat
- проверить, что покупки из альтернативного потока доходят до бэкенда и сверяются с состоянием подписчика
Примеры запросов агенту
- Помоги спланировать интеграцию User Choice Billing с RevenueCat Android SDK 10.x
- Какие потоки альтернативного биллинга RevenueCat закрывает сам, а какие надо писать через Play Billing Library?
- Настрой PurchasesAreCompletedBy.MY_APP для ручной интеграции альтернативного биллинга
Как установить rc-alternative-billing
1Через Skills CLI (Vercel)
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a claude-code2Вручную: положить файлы
~/.claude/skills/rc-alternative-billing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rc-alternative-billing/
1Через Skills CLI (Vercel)
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a codex2Вручную: положить файлы
.agents/skills/rc-alternative-billing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a cursor2Вручную: положить файлы
.cursor/skills/rc-alternative-billing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install RevenueCat/ai-toolkit rc-alternative-billing2Вручную: положить файлы
.github/skills/rc-alternative-billing/SKILL.md1Через Skills CLI (Vercel)
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a gemini-cli2Командой платформы
gemini skills install https://github.com/RevenueCat/ai-toolkit --path revenuecat-play-billing/skills/rc-alternative-billingВручную: положить файлы
.devin/skills/rc-alternative-billing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора25
Похожие
Рядом в теме «Мобильная разработка»
Всё по теме «Мобильная разработка» →Вопросы о rc-alternative-billing
Как установить rc-alternative-billing в Claude?
Выполните npx skills add RevenueCat/ai-toolkit --skill rc-alternative-billing -a claude-code. Скилл появится в ~/.claude/skills/rc-alternative-billing/SKILL.md.
Что делает rc-alternative-billing?
Описывает статус поддержки программ альтернативного биллинга Google Play в RevenueCat Android SDK и подсказывает, какие потоки SDK берёт на себя, а какие нужно реализовать через Play Billing Library.
Зачем нужен этот скилл, если я просто хочу продавать подписки через веб?
Веб-чекаут RevenueCat — отдельный продукт, не одна из программ Google. Скилл прямо предупреждает не путать их и показывает, как открыть Offering.webCheckoutURL или Package.webCheckoutURL.
Исходный текст
SKILL.md · MIT
---
name: rc-alternative-billing
description: Use this skill when scoping Google Play alternative billing work with RevenueCat Android SDK 10.x. Documents the current support status, which flows RevenueCat abstracts and which require direct integration at the time the chapter was written.
license: Apache-2.0; see LICENSE
metadata:
author: RevenueCat
source: revenuecat-handbook chapter 18
keywords:
- android
- revenuecat
- alternative-billing
- sdk8
- user-choice-billing
---
# Alternative Billing Programs
Google runs several programs that let you collect payment outside standard Play Store billing. This skill tells you which pieces the RevenueCat Android SDK covers today and which ones you implement yourself against the Play Billing Library.
Per the handbook chapter, RevenueCat has limited support for these programs as of SDK 9.x. Treat that as the status of record; check the RevenueCat changelog for any newer SDK releases before you start work.
## Phase 1: Discovery
Answer these before writing any code.
| Question | Why it matters |
|---|---|
| Which program are you targeting? | User Choice Billing, Alternative Billing Only, External Offers, and External Payment Links each have different Play requirements. |
| Is your app eligible in the target region? | Google gates these programs by country and app category. You enroll through Play Console, not through RevenueCat. |
| Are you using RevenueCat Web Billing instead? | RevenueCat's web checkout is a separate product from Google's alternative billing. Do not conflate the two. |
| Which RevenueCat SDK version are you on? | Support evolves per release. What is unsupported in SDK 9.x may land later. |
If you actually want to sell subscriptions via a RevenueCat-hosted web checkout, that is not one of Google's alternative billing programs. Use `Offering.webCheckoutURL` or `Package.webCheckoutURL`:
```kotlin
val pkg = offerings.current?.monthly
pkg?.webCheckoutURL?.let { url ->
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url.toString())))
}
```
After the user completes that purchase on the web, they redeem it in-app via deep link handling.
## Phase 2: Plan
Decide which of the two paths fits.
**Path A: Wait for SDK support.** If your launch timeline is flexible, watch the RevenueCat changelog and docs for first-class support of the specific program you need. This avoids running raw Play Billing Library code alongside RevenueCat.
**Path B: Hand roll the integration.** If you must ship now, implement the Play Billing Library APIs for the target program directly. The RevenueCat SDK owns the `BillingClient` instance, so running raw `BillingClient` calls alongside it needs care.
For Path B, set completion ownership so RevenueCat does not interfere with acknowledgement of purchases you are managing:
```kotlin
Purchases.configure(
PurchasesConfiguration.Builder(context, apiKey)
.purchasesAreCompletedBy(PurchasesAreCompletedBy.MY_APP)
.build()
)
```
Planning checklist:
- [ ] Confirmed the Play program and regional eligibility in Play Console.
- [ ] Read the current RevenueCat docs and changelog for the SDK version you ship.
- [ ] Chose Path A or Path B with a clear reason.
- [ ] If Path B, identified which flows RevenueCat still drives and which you drive.
## Phase 3: Execute
What RevenueCat's SDK currently supports in this space, per the chapter:
| Flow | SDK coverage |
|---|---|
| RevenueCat Web Billing via `Offering.webCheckoutURL` / `Package.webCheckoutURL` | Supported. Not a Google alternative billing program. |
| User Choice Billing | No dedicated SDK APIs. Implement via Play Billing Library alongside RevenueCat. |
| Alternative Billing Only | No dedicated SDK APIs. Implement via Play Billing Library alongside RevenueCat. |
| External Offers | No dedicated SDK APIs. Implement via Play Billing Library alongside RevenueCat. |
| External Payment Links | No dedicated SDK APIs. Implement via Play Billing Library alongside RevenueCat. |
When you ship Path B, use `PurchasesAreCompletedBy.MY_APP` so acknowledgement stays in your hands for the purchases you manage, and leave the standard Play Store purchases to the RevenueCat SDK.
Verification steps:
- [ ] Standard Play Store purchases still flow through RevenueCat and appear in the dashboard.
- [ ] Purchases made through the alternative billing path reach your backend and are reconciled with RevenueCat subscriber state.
- [ ] Acknowledgement happens exactly once per purchase, with no double-handling between your code and the SDK.
## References
- [Full chapter](https://www.revenuecat.com/guides/revenuecat-android-sdk/alternative-billing-programs)
- RevenueCat Docs: https://www.revenuecat.com/docs/
- RevenueCat Codelabs: https://revenuecat.github.io/
© RevenueCat · MIT · RevenueCat/ai-toolkit