Kebechet.Maui.RevenueCat.Android
7.12.0.1
Prefix Reserved
dotnet add package Kebechet.Maui.RevenueCat.Android --version 7.12.0.1
NuGet\Install-Package Kebechet.Maui.RevenueCat.Android -Version 7.12.0.1
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="7.12.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Kebechet.Maui.RevenueCat.Android --version 7.12.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Kebechet.Maui.RevenueCat.Android, 7.12.0.1"
#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.
// Install Kebechet.Maui.RevenueCat.Android as a Cake Addin #addin nuget:?package=Kebechet.Maui.RevenueCat.Android&version=7.12.0.1 // Install Kebechet.Maui.RevenueCat.Android as a Cake Tool #tool nuget:?package=Kebechet.Maui.RevenueCat.Android&version=7.12.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Maui.RevenueCat.Android
- this binding is based on: https://github.com/thisisthekap/Xamarin.RevenueCat.Android
- it is created for .NET MAUI and targeted to
.NET 8
- 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.3
was out but it wasn't compatible with latestXamarin.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
setBuild Action
to:AndroidLibrary
- for
-sources.jar
setBuild Action
to:JavaSourceJar
based 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
version
but until those libraries are compatible, versions are not important).- I have found and added
PackageReference
for allXamarin/Maui
alternatives of these libraries - ⚠️ When I wanted to use newer RevenueCat
v7.3.3
with requirement ofBillingClient v6.1.0
while the newest Xamarin library was stuck atv6.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).
- I have found and added
- ⚠️ Even after finding all mentioned libraries I had some warnings regarding some
amazon
method 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.xml
to get rid of compilation errors. - docs - ⚠️ At the end there are still 2 important warnings left with
kotlin.jvm.functions.Function1
andkotlin.jvm.internal.IntCompanionObject
but even with them the binding works correctly - 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 | net8.0-android34.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0-android34.0
- Eddys.Amazon.AppStoreSdk.Binding (>= 3.0.3)
- nventive.binding.kotlinx.serialization.json (>= 1.2.2)
- org.jetbrains.kotlin.kotlin.parcelize.runtime (>= 1.5.20.1)
- Xamarin.Android.Google.BillingClient (>= 7.1.1)
- Xamarin.AndroidX.Annotation (>= 1.8.2.1)
- Xamarin.AndroidX.Core.Core.Ktx (>= 1.13.1.5)
- Xamarin.AndroidX.Fragment.Ktx (>= 1.8.4)
- Xamarin.AndroidX.Lifecycle.Common (>= 2.8.6)
- Xamarin.AndroidX.Lifecycle.Process (>= 2.8.6)
- Xamarin.AndroidX.Lifecycle.Runtime (>= 2.8.6)
- Xamarin.Google.Crypto.Tink.Android (>= 1.15.0.1)
- Xamarin.GooglePlayServices.Ads.Identifier (>= 118.1.0.2)
- Xamarin.Kotlin.StdLib (>= 2.0.20)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Kebechet.Maui.RevenueCat.Android:
Package | Downloads |
---|---|
Kebechet.Maui.RevenueCat.InAppBilling
Serves as an abstraction around RevenueCat Android and iOS SDKs https://docs.revenuecat.com/docs |
GitHub repositories
This package is not used by any popular GitHub repositories.
Bumped NuGet packages to latest versions