Kebechet.Maui.RevenueCat.Android
11.1.0
Prefix Reserved
dotnet add package Kebechet.Maui.RevenueCat.Android --version 11.1.0
NuGet\Install-Package Kebechet.Maui.RevenueCat.Android -Version 11.1.0
<PackageReference Include="Kebechet.Maui.RevenueCat.Android" Version="11.1.0" />
<PackageVersion Include="Kebechet.Maui.RevenueCat.Android" Version="11.1.0" />
<PackageReference Include="Kebechet.Maui.RevenueCat.Android" />
paket add Kebechet.Maui.RevenueCat.Android --version 11.1.0
#r "nuget: Kebechet.Maui.RevenueCat.Android, 11.1.0"
#:package Kebechet.Maui.RevenueCat.Android@11.1.0
#addin nuget:?package=Kebechet.Maui.RevenueCat.Android&version=11.1.0
#tool nuget:?package=Kebechet.Maui.RevenueCat.Android&version=11.1.0
Maui.RevenueCat.Android
- this binding is based on: https://github.com/thisisthekap/Xamarin.RevenueCat.Android
- it is created for .NET MAUI
- it contains bindings for RevenueCat Android library
Versioning Scheme
The versioning scheme of Maui.RevenueCat.Android is derived from the versioning of revenuecat/purchases-android.
Example:
| revenuecat/purchases-android | Maui.RevenueCat.Android | Note |
|---|---|---|
| 3.4.1 | 3.4.1.0 | First version of bindings for 3.4.1 |
| 3.4.1 | 3.4.1.17 | Bindings for 3.4.1 containing 17 fixes |
How the binding was created
RevenueCat Android library is writtein in Kotlin. You can find more about Kotlin binding here.
- To start create a project
Android Java library binding - Then files of the the library have to be downloaded.
- For native libraries you can use Google maven repo.
- For downloading this library I have used mvnrepository.com to download the RevenueCat v7.2.4 android library.
- At the time of creating this binding
v7.3.3was out but it wasn't compatible with latestXamarin.Android.Google.BillingClientlibrary
- Click files->View all: You have to download there files:
.aarthat contains the compiled library and-sources.jarthat is used in binding process for documenting the library.
- After download create in your project
Jarsfolder and put there both files. For- for
.aarsetBuild Actionto:AndroidLibrary - for
-sources.jarsetBuild Actionto:JavaSourceJarbased on this docs
- for
- Then you have to add all necessary dependencies. Dependencies of the library are showed on mvnrepository site. Your binding library should contain all these dependencies (ideally in same
versionbut until those libraries are compatible, versions are not important).- I have found and added
PackageReferencefor allXamarin/Mauialternatives of these libraries - ⚠️ When I wanted to use newer RevenueCat
v7.3.3with requirement ofBillingClient v6.1.0while the newest Xamarin library was stuck atv6.0.1it caused build errors after inserting this project to the main MAUI app. Rule of thumb is that usually libraries are back compatible but not forward compatible. So when it requires newer version it could be a problem but when you have newer version of the package it could be okay(depends if some breaking changes were introduced).
- I have found and added
- ⚠️ Even after finding all mentioned libraries I had some warnings regarding some
amazonmethod calls and build errorandroidx.collection.ArrayMapKt is defined multiple times- the amazon problem was fixed by including package
Eddys.Amazon.AppStoreSdk.Binding - and the compilation error by including
Xamarin.AndroidX.Fragment.Ktx.- I found this in the source: purchases-android-main\purchases-android-main\api-tester\build.gradle at the end and it is present also in gradle\libs.versions.toml
- the amazon problem was fixed by including package
- After providing all necessary libraries you have to adjust
Metadata.xmlto get rid of compilation errors. - docs - ⚠️ At the end there are still 2 important warnings left with
kotlin.jvm.functions.Function1andkotlin.jvm.internal.IntCompanionObjectbut even with them the binding works correctly - to build the nuget package run:
dotnet pack .\Maui.RevenueCat.Android.csproj -c Release - I hope this helped and enjoy the binding ❤️
License
This repository is licensed with the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0-android35.0 is compatible. net10.0-android was computed. |
-
net9.0-android35.0
- Eddys.Amazon.AppStoreSdk.Binding (>= 3.0.3)
- Xamarin.Android.Google.BillingClient (>= 9.1.0)
- Xamarin.AndroidX.Activity.Ktx (>= 1.13.0)
- Xamarin.AndroidX.Annotation (>= 1.10.0)
- Xamarin.AndroidX.Collection.Ktx (>= 1.6.0)
- Xamarin.AndroidX.Core.Core.Ktx (>= 1.19.0)
- Xamarin.AndroidX.Fragment (>= 1.8.9.2)
- Xamarin.AndroidX.Fragment.Ktx (>= 1.8.9.2)
- Xamarin.AndroidX.Lifecycle.Common (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.LiveData.Core (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.LiveData.Core.Ktx (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.Process (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.Runtime (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (>= 2.10.0.2)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (>= 2.10.0.2)
- Xamarin.AndroidX.SavedState (>= 1.4.0.2)
- Xamarin.AndroidX.Startup.StartupRuntime (>= 1.2.0.7)
- Xamarin.Google.Crypto.Tink.Android (>= 1.15.0.1)
- Xamarin.GooglePlayServices.Ads.Identifier (>= 118.1.0.3)
- Xamarin.GooglePlayServices.Auth.BlockStore (>= 116.4.0.8)
- Xamarin.Kotlin.Parcelize.Runtime (>= 2.4.0)
- Xamarin.Kotlin.StdLib (>= 2.4.0)
- Xamarin.KotlinX.Coroutines.Android (>= 1.11.0)
- Xamarin.KotlinX.Coroutines.Core (>= 1.11.0)
- Xamarin.KotlinX.Serialization.Json (>= 1.7.3.5)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Kebechet.Maui.RevenueCat.Android:
| Package | Downloads |
|---|---|
|
Kebechet.Maui.RevenueCat.InAppBilling
A unified C# API over the RevenueCat Android, iOS and Mac Catalyst SDKs, so you write no platform-specific purchase code. Covers subscriptions, one-time purchases, entitlements, restore, login/logout and subscriber attributes, with a Windows stub for development. RevenueCat Test Store keys (test_...) also work in iOS Release builds - the shipped xcframework is built from source with BYPASS_SIMULATED_STORE_RELEASE_CHECK instead of using the prebuilt framework, which would force-close the app. https://docs.revenuecat.com/docs |
|
|
MsbSvg.RevenueCat.Maui.Android.PaywallUI
RevenueCat Android Paywall UI bindings for .NET MAUI. Provides PaywallActivity with Jetpack Compose UI dependencies. Requires Kebechet.Maui.RevenueCat.Android for the core RevenueCat SDK and C# bindings. |
|
|
MZikmund.Uno.RevenueCat
Serves as an abstraction around RevenueCat Android and iOS SDKs for Uno Platform https://docs.revenuecat.com/docs |
|
|
Kapusch.RevenueCatUI.Android
Thin .NET Android interop for RevenueCat Paywalls (purchases-ui), on top of the Kebechet.Maui.RevenueCat.Android core binding. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.1.0 | 341 | 11/5/2026 |
| 10.16.1 | 5,634 | 8/6/2026 |
| 10.1.2.2 | 239 | 8/5/2026 |
| 10.1.2.1 | 2,668 | 6/10/2026 |
| 10.1.2 | 913 | 5/12/2026 |
| 9.2.0.2 | 3,603 | 10/11/2025 |
| 9.2.0.1 | 214 | 10/11/2025 |
| 9.2.0 | 788 | 8/11/2025 |
| 7.12.0.6 | 1,143 | 3/2/2025 |
| 7.12.0.5 | 552 | 2/8/2025 |
| 7.12.0.4 | 234 | 1/11/2025 |
| 7.12.0.3 | 203 | 1/11/2025 |
| 7.12.0.2 | 666 | 12/16/2024 |
| 7.12.0.1 | 1,032 | 10/14/2024 |
| 7.12.0 | 1,155 | 7/8/2024 |
| 7.2.4 | 1,169 | 1/16/2024 |
11.1.0.0: RevenueCat Android SDK updated from 10.16.1 to 11.1.0. RevenueCat SDK changes per version (RevenueCatUI is not bound):
10.16.2: fix: don't share a MessageDigest across coroutines in FontLoader and DefaultFileCache. Fix misleading ui_config warnings for projects without paywalls. fix: Declare kotlinx-coroutines-android as a dependency. fix(paywalls): prewarm the current offering's workflow assets on load.
10.17.0: feat(ads): fire reward-verification tracking events from the poll. fix(paywalls): don't leave a hidden package selected by default.
10.18.0: Track checkpoint hits through the analytics events pipeline. Add public Purchases.showManageSubscriptions() API. feat(ads): ad reward tracking with admob adapter.
10.18.1: Don't jitter developer-initiated subscriber attribute posts in foreground.
10.19.0: feat(singular): add $singularDeviceId subscriber attribute for Singular V2. Add awaitShowManageSubscriptions.
10.19.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.20.0: Narrow consumer R8 rules. Surface attribute sync errors when fetching offerings. Fall back to "en" when a paywall screen omits default_locale. Cache web purchase redemption CustomerInfo for the initiating App User ID.
10.21.0: fix: send X-Is-Sandbox header when using a Test Store API key. fix: floating-point rounding bug in Test Store priceString.
10.21.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.22.0: Create the signature verifier off the configure() thread.
10.22.1: Do not apply a previous user's CustomerInfo after an identity change.
10.23.0: feat(admob): add next-gen SDK support. Treat a -1 HTTP status code as a connection error. fix: bypass app-installed HTTP response caches for API requests.
10.23.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.23.2: Skip obfuscatedAccountId when the device already owns the subscription being purchased.
10.23.3: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.23.4: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.24.0: Track rewarded ad prompt shown and accepted events.
10.24.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.24.2: Fix backend prices losing a micro when converted to amountMicros.
10.25.0: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.26.0: feat(paywalls): introduce video localization support for Android.
10.27.0: feat(ads): allow manual rewarded ad earned tracking. Fix IAM retries when switching users.
10.27.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.28.0: Add LevelPlay manual ad tracking sample.
10.28.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
10.29.0: Skip the Blockstore alias path when the Blockstore client is unavailable.
10.30.0: Parse paywall gating in checkpoint workflows. fix(checkpoints): track started Activities from process start. fix: keep the cached offerings response out of SharedPreferences to reduce memory usage. Fix dropped Billing callbacks after disconnection. Fix requests hanging indefinitely when the server stops responding. Fix non-subscription transactions reporting "null" display name and store transaction ID.
10.30.1: no RevenueCat SDK changes listed (RevenueCatUI or internal changes only).
11.0.0: WARNING: Your app, and any library module that depends on the SDK, must now compile against API 35 or later. This requirement comes from androidx.core 1.15.0, which Play Billing Library 9 depends on. minSdk and targetSdk are not affected. BREAKING: Update to Play Billing Library 9.1.0. BREAKING: Update to AGP 9 (AGP 9.2.1, Gradle 9.4.1, Kotlin 2.2.21). Fix paywall image localization parsing under kotlinx-serialization 1.7.3.
11.0.1: Fail the pending purchase when Play completes another base plan.
11.1.0: Expose configured ad rewards as a preview API. fix: preserve workflow context in custom paywall impressions.
Full changelog: https://github.com/RevenueCat/purchases-android/releases