Xamarin.Android Bindings for RevenueCat (Website, MVN).
This repository is not going to support newer versions of the RevenueCat SDK. For newer versions of the SDK, and support for .NET 8 iOS (MAUI), please see https://github.com/thisisthekap/Tonestro.Maui.RevenueCat.Android.
This nuget package consists of the actual Xamarin.Android bindings.
https://www.nuget.org/packages/Xamarin.RevenueCat.Android/
This nuget package contains convenience methods to be able to use things like async/await when working with Xamarin.RevenueCat.Android.
https://www.nuget.org/packages/Xamarin.RevenueCat.Android.Extensions/
The versioning scheme of Xamarin.RevenueCat.Android
(and Xamarin.RevenueCat.Android.Extensions
) is derived from the versioning of com.revenuecat.purchases:purchases
.
com.revenuecat.purchases:purchases | Xamarin.RevenueCat.Android | Note |
---|---|---|
3.4.1 | 3.4.1.1 | First version of bindings for 3.4.1 |
3.4.1 | 3.4.1.17 | Bindings for 3.4.1 containing fixes |
When using proguard or r8, you need to specify rules to keep AndroidX specific stuff (if not done so already anyways).
Furthermore, you need to add this line to your proguard.cfg
to support RevenueCat attribution network attribution:
-keep class com.revenuecat.purchases.Purchases$AttributionNetwork { public *; }
If you encounter errors like Java.Lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics
, consider to explicitly reference the transitive dependencies of Xamarin.RevenueCat.Android
:
- Xamarin.Android.Google.BillingClient
- Version >= 4.0.0
- Xamarin.AndroidX.Annotation
- Version >= 1.3.0.4
- Xamarin.AndroidX.Lifecycle.Process
- Version >= 2.3.1.3
- Xamarin.AndroidX.Lifecycle.Runtime
- Version >= 2.3.1.4
- Xamarin.Kotlin.StdLib.Jdk7
- Version >= 1.4.20
- org.jetbrains.kotlin.kotlin.parcelize.runtime
- Version >= 1.5.20.1
Use this project to briefly check if the bindings are working. Execute the Project in Visual Studio to execute the UI tests.
When creating the bindings for a new version, you might need to know the runtime classpath dependencies of com.revenuecat.purchases:purchases
.
Within the checked out RevenueCat repository, this command may be used to accomplish this task:
gradle dependencies --configuration releaseRuntimeClasspath
Optionally add the --scan
option to the command to view a "web-based, searchable dependency report".
The license for this repository is specified in LICENSE.txt