This is RevenueDot's MIT fork of RevenueCat's purchases-android: the same classes and method names, pointed at a RevenueDot server (RevenueDot Cloud at https://api.revenuedot.app, or one you host) with RevenueDot's response-signing key built in, and kept in sync with upstream.
// build.gradle.kts
implementation("app.revenuedot.purchases:purchases:10.23.3")
implementation("app.revenuedot.purchases:purchases-ui:10.23.3") // only if you use RevenueCat UIKotlin packages stay com.revenuecat.purchases.*, so imports do not change.
import com.revenuecat.purchases.Purchases
import com.revenuecat.purchases.PurchasesConfiguration
import java.net.URL
// Self-hosted server only: RevenueDot Cloud (https://api.revenuedot.app) is the default.
Purchases.proxyURL = URL("https://revenuedot.example.com")
Purchases.configure(PurchasesConfiguration.Builder(this, "goog_...").build()) // the app's public key from the RevenueDot dashboardThe fork already trusts RevenueDot's signing key, so no signature or verification setting is needed. This fork also sends diagnostics, paywall events and ad events to proxyURL. Full guide: https://revenuedot.app/docs/sdks/android.
- Start free on RevenueDot Cloud: free up to $10,000 a month of tracked revenue, then 0.5%, never more than $999 a month (pricing).
- The same REST API and webhook payloads as RevenueCat, so your backend and integrations keep working (API reference).
- Paywalls, experiments and the Customer Center built in the RevenueDot dashboard and rendered by this SDK (guides).
- A one-line migration: point the stock SDK at RevenueDot with
setProxyURL, or install this fork and drop the line (migration guide).
Coding agents can read this repository's docs and code on demand, so they use the right package and imports:
- Context7: https://context7.com/revenuedot/purchases-android
- DeepWiki: https://deepwiki.com/revenuedot/purchases-android
- GitMCP: https://gitmcp.io/revenuedot/purchases-android
- Docs for this SDK: https://revenuedot.app/docs/sdks/android
- Example app: https://github.com/revenuedot/examples/tree/main/mobile/android-compose
- Releases and changelog: https://github.com/revenuedot/purchases-android/releases (tags
<upstream version>-revenuedot; upstream's changes are inCHANGELOG.md) - RevenueDot server and dashboard: https://github.com/revenuedot/revenuedot
- Fork pipeline (what we change and how upstream is merged): https://github.com/revenuedot/revenuedot/tree/main/scripts/forks
RevenueDot is not affiliated with RevenueCat, Inc. RevenueCat's copyright notice stays in LICENSE; RevenueDot's changes are MIT too.
RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy.
Whether you are building a new app or already have millions of customers, you can use RevenueCat to:
- Fetch products, make purchases, and check subscription status with our native SDKs.
- Host and configure products remotely from our dashboard.
- Analyze the most important metrics for your app business in one place.
- See customer transaction histories, chart lifetime value, and grant promotional subscriptions.
- Get notified of real-time events through webhooks.
- Send enriched purchase events to analytics and attribution tools with our easy integrations.
Sign up to get started for free.
Purchases is the client for the RevenueCat subscription and purchase tracking system. It is an open source framework that provides a wrapper around BillingClient and the RevenueCat backend to make implementing in-app subscriptions in Android easy - receipt validation and status tracking included!
| Description | Link |
|---|---|
| Migrating from v4.x.x to v5.x.x | V5 API Migration Guide |
| Migrating from v5.x.x to v6.x.x | V6 API Migration Guide |
| RevenueCat | |
|---|---|
| โ | Server-side receipt validation |
| โก๏ธ | Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more |
| ๐ฏ | Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web |
| ๐ | Analytics - automatic calculation of metrics like conversion, mrr, and churn |
| ๐ | Online documentation up to date |
| ๐ | Integrations - over a dozen integrations to easily send purchase data where you need it |
| ๐ฏ | Well maintained - frequent releases |
| ๐ฎ | Great support - Help Center |
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
Please follow the Quickstart Guide for more information on how to install the SDK.
Or view / build our Android sample app:
- MagicWeather (open it on a different Android Studio window)
-
RevenueCat Google Play Integration: In this codelab, you'll learn how to:
- Properly configure products on Google Play.
- Set up the RevenueCat dashboard and connect it to your Google Play products.
- Understanding Product, Offering, Package, and Entitlement.
- Create paywalls using the Paywall Editor.
-
Android In-App Purchases & Paywalls: In this codelab, you will:
- Integrate the Android RevenueCat SDK into your project
- Implement in-app purchases in your Android application
- Learn how to distinguish between paying and non-paying users
- Build a paywall screen, which is based on server-driven UI approach
- Java 8+
- Kotlin 1.8.0+
- Minimum target: Android 6.0+ (API level 23+)
- Paywalls and Customer Center minimum target: Android 7.0+ (API level 24+)
Our full SDK reference can be found here.
Contributions are always welcome! To learn how you can contribute, please see the Contributing Guide.