Начало работы
Минимальная версия Android-платформы для подключения SDK — 24.
Версии SDK которые работают с Android API >=24 - поддерживается всеми версиями Версии SDK которые работают с Android API <24 - до 2.0.x включительно
Подключение SDK к проекту
- Maven
- aar
Для получения зависимости из maven репозитория необходимо добавить его в settings.gradle файл вашего приложения.
dependencyResolutionManagement {
...
repositories {
google()
mavenCentral()
...
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/sdkpay/EcomAndroidSdkPackages")
}
}
}
Далее нужно перейти в build.gradle вашего модуля и добавить зависимости внутрь блока dependencies { ... }.
dependencies {
...
implementation("ru.spaymentsplus.libraries:ecomsdk:$version")
...
}
Пакет дистрибьюции состоит из файла SDK-VERSION.aar, который необходимо разместить в вашем проекте (например в директории libs в корне проекта).
Далее нужно перейти в build.gradle вашего модуля и добавить зависимости от .aar-файлов внутрь блока dependencies { ... }.
ВАЖНО! Также здесь необходимо явно добавить транзитивные зависимости библиотек.
// Ecom Sdk
implementation(files("../libs/ecomsdk-1.0.0.aar"))
// Clickstream
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.10.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
implementation("com.google.code.gson:gson:2.10.1")
// Timber
implementation("com.jakewharton.timber:timber:5.0.1")
// OkHttp
implementation("com.squareup.okhttp3:okhttp:4.11.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.11.0")
// Retrofit
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
// Three Ten BP
implementation("com.jakewharton.threetenabp:threetenabp:1.4.7")
// Encrypt
implementation("org.bitbucket.b_c:jose4j:0.9.6")
// Coil
implementation("io.coil-kt:coil-base:2.4.0")
implementation( "io.coil-kt:coil-svg:2.4.0")
// Shimmer
implementation("com.facebook.shimmer:shimmer:0.5.0")
//Dagger 2
implementation("com.google.dagger:dagger:2.48")
ksp("com.google.dagger:dagger-compiler:2.48")
В приведенном выше примере указан путь до aar-файлов, находящихся в директории libs проекта. Если вы разместили их в другом месте, то нужно будет указать ваш путь до файлов. Подробнее смотрите в документации для Android.
Настройка SDK
Для настройки SDK необходимо вызвать метод setup. В метод setup
необходимо передать класс EcomSdkSetupConfig
.
Параметры класса EcomSdkSetupConfig
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
context | Context | Да | Context. |
stage | Stage | Да | Stage список стендов для работы с EcomSdk. Используются EcomSdkStage. |
disabledFeatures | List<EcomSdkFeature> | Нет | Список выключенных features. Дефолтное значение listOf(). |
enableLoggingByMerchant | Boolean | Нет | Флаг включенного логирования для партнера. Дефолтное значение true. |
callback | (Boolean) -> Unit | да | Блок, отрабатыващий после корректной настройки SDK. Корректное значение колбэка true. |
- Kotlin
- Java
import modern.payments.ecomAndroid.EcomSdk
import modern.payments.ecomAndroid.api.EcomSdkSetupConfig
import modern.payments.ecomAndroid.api.EcomSdkStage
val config = EcomSdkSetupConfig(
context = context,
stage = EcomSdkStage.PROD,
disabledFeatures = listOf(),
enableLoggingByMerchant = true,
callback = { isSetupSucceed ->
})
EcomSdk.getInstance().setup(config)
import modern.payments.ecomAndroid.EcomSdk;
import modern.payments.ecomAndroid.api.EcomSdkSetupConfig;
import modern.payments.ecomAndroid.api.EcomSdkStage;
EcomSdkSetupConfig ecomSdkSetupConfig =
new EcomSdkSetupConfig(
getBaseContext(),
EcomSdkStage.PROD,
new ArrayList<>(),
true,
result -> {
if (result) {
//do somethingOnSuccess
} else {
//do somethingOnFail
}
return null;
});
EcomSdk.Companion.getInstance().setup(ecomSdkSetupConfig);