Package com.kustomer.core


Core SDK requires below permissions -

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

Dependencies -

    // App dependencies
    implementation group: 'com.pubnub', name: 'pubnub-gson', version: kus_pubnub_version
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$kus_lifecycle_extensions_version"

    implementation "com.squareup.retrofit2:retrofit: $kus_retrofit_version"
    implementation "com.squareup.retrofit2:converter-moshi:$kus_retrofit_version"

    api "com.squareup.moshi:moshi:$kus_moshi_version"
    kapt "com.squareup.moshi:moshi-kotlin-codegen:$kus_moshi_version"

    // Kotlin
    api "org.jetbrains.kotlin:kotlin-stdlib:$kus_kotlin_version"
    api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kus_kotlin_coroutines_version"
    api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kus_kotlin_coroutines_version"

If your app also uses some of the above libraries, their version must match the ones used by Kustomer to avoid runtime errors. If you need to update the version used by Kustomer to match yours, you can do so by updating the dependencies in your app’s build.gradle file.

    def kus_kotlin_version = "YOUR_KOTLIN_VERSION"
    def kus_retrofit_version = "YOUR_RETROFIT_VERSION"

    ... ...


Name Summary
KustomerCore [androidJvm]
class KustomerCore
KustomerCore must be initialized in your Main Application class only. This will ensure that the SDK will always be initialized even if the Client App is killed in Background and restarted by Android.
KustomerCoreOptions [androidJvm]
class KustomerCoreOptions
Create a KustomerCoreOptions object using KustomerCoreOptions.Builder to override any settings with in the sdk