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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kebechet.Maui.RevenueCat.Android" Version="11.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kebechet.Maui.RevenueCat.Android" Version="11.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Kebechet.Maui.RevenueCat.Android" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kebechet.Maui.RevenueCat.Android --version 11.1.0
                    
#r "nuget: Kebechet.Maui.RevenueCat.Android, 11.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kebechet.Maui.RevenueCat.Android@11.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kebechet.Maui.RevenueCat.Android&version=11.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Kebechet.Maui.RevenueCat.Android&version=11.1.0
                    
Install as a Cake Tool

"Buy Me A Coffee"

Maui.RevenueCat.Android

NuGet Version NuGet Downloads Last updated (main) Twitter

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.3 was out but it wasn't compatible with latest Xamarin.Android.Google.BillingClient library
  • Click files->View all: You have to download there files:
    • .aar that contains the compiled library and
    • -sources.jar that is used in binding process for documenting the library.
  • After download create in your project Jars folder and put there both files. For
    • for .aar set Build Action to: AndroidLibrary
    • for -sources.jar set Build Action to: JavaSourceJar based on this docs
  • 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 version but until those libraries are compatible, versions are not important).
    • I have found and added PackageReference for all Xamarin/Maui alternatives of these libraries
    • ⚠️ When I wanted to use newer RevenueCat v7.3.3 with requirement of BillingClient v6.1.0 while the newest Xamarin library was stuck at v6.0.1 it 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).
  • ⚠️ Even after finding all mentioned libraries I had some warnings regarding some amazon method calls and build error androidx.collection.ArrayMapKt is defined multiple times
  • After providing all necessary libraries you have to adjust Metadata.xml to get rid of compilation errors. - docs
  • ⚠️ At the end there are still 2 important warnings left with kotlin.jvm.functions.Function1 and kotlin.jvm.internal.IntCompanionObject but 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 Compatible and additional computed target framework versions.
.NET net9.0-android35.0 is compatible.  net10.0-android was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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