Kotlin/Java

Our Android SDK has multiple dependencies according to your needs

Requirements

  • minSdkVersion: 23
  • compileSdkVersion: 34
  • Kotlin: 2.+
  • Gradle 8.+
  • Android Gradle Plugin: 8.+
  • JDK 11

We rely on Maven to distribute our Android so make sure you are fetching your dependencies from Maven Central

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}
📘

Android TV

Our SDK is compatible with Android TV and thus declare in its manifest:
<uses-feature android:name="android.software.leanback" android:required="false" />

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

Core dependency

This is the main and required dependency to make Purchasely work

implementation 'io.purchasely:core:<<current_major_version>>.+'

This dependency contains everything you need to make purchasely run except the store and player

📘

Versioning

All your dependencies must always be at the same version for example if you specify one

implementation 'io.purchasely:core:<<current_android_version>>'
implementation 'io.purchasely:google-play:<<current_android_version>>'
implementation 'io.purchasely:player:<<current_android_version>>'

Google Play Billing - Only for Subscription Apps

Our SDK integrates Google Play Billing Client version 7.1.1, you must not use another dependency with an older version in your project.

implementation 'io.purchasely:google-play:<<current_major_version>>.+'

This dependency contains the class GoogleStore that you must add to Purchasely.Builder to be used by the SDK.

⚠️

Google Play Billing v8

If you use Google Play Billing in version 8, please read this to make it work with Purchasely

Video Player

If you have videos in your paywall, you must provide a video player to play them.
Purchasely core dependency does not include a video player to avoid dependency conflicts, specifically with Media3 Exoplayer

We do provide a player dependency which will be detected automatically by our SDK if you do not have a video player in your application
implementation 'io.purchasely:player:<<current_major_version>>.+'

If you already have your own player that support HLS video, you can also provide your own player view, more information here



What’s Next