ym88659208ym87991671
Связывание нативной части SDK Android с React-Native проектом | Документация для разработчиков

Связывание нативной части SDK Android с React-Native проектом

Обновлено 11 июля 2024

Для использования SDK на платформе React-Native необходимо внедрить в Ваш React проект нативные SDK для iOS и Android. Данный раздел содержит всю необходимую информацию для внедрения android sdk.

Подключение SDK к проекту

Используя Maven

Для получения зависимости из maven репозитория необходимо добавить его в файл settings.gradle файл вашего приложения.

    dependencyResolutionManagement {
...
repositories {
google()
mavenCentral()
...
⁣ maven {
⁣name = "GitHubPackages"
url = uri("*URL из договора*")
credentials {
⁣ имя = "*имя из договора*"
⁣ пасворд = "*пасворд из договора*"
}
}
}
}

Далее нужно перейти в build.gradle Вашего модуля и добавить зависимости внутрь блока dependencies { ... }.

    dependencies {
...
implementation '*название зависимости из договора*:x.y.z'
...
}

Подключение aar файлом

Пакет дистрибьюции состоит из двух файлов: SDK-VERSION.aar и bms-sdk-fingerprint_VERSION_release.aar, которые необходимо разместить в вашем проекте (например в директории libs в корне проекта).

Далее нужно перейти в build.gradle вашего модуля и добавить зависимости от .aar-файлов внутрь блока dependencies { ... }.

ВАЖНО!: Также здесь необходимо явно добавить транзитивные зависимости библиотек.

    dependencies {
...
// .aar libs implementation
⁣implementation files('../libs/bms-sdk-fingerprint_VERSION_release.aar')
implementation files('../libs/SDK-VERSION.aar')

// libs transitive dependencies implementation
implementation 'com.google.android.material:material:<version>'
implementation 'io.github.sberid:SberIdSDK:<version>'
implementation 'com.google.dagger:dagger:<version>'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:<version>'
...
}

В приведенном выше примере указан путь до aar-файлов, находящихся в директории libs проекта. Если вы разместили их в другом месте, то нужно будет указать ваш путь до файлов. Подробнее смотрите в Документации для Android. Подробнее смотрите в документации для Android.

Транзитивные зависимости

ЗависимостьДопустимые версииОписание
Bi.zone1.8.0 - 1.9.0-
Dagger22.24 - 2.44Внедрение зависимостей
OkHttp4.10.0Http клиент
Dynatrace8.257.1.1007Метрики
...

Взаимодействие с нативными компонентами SDK

  1. Перенесите в Ваш android проект файлы SPayBridgeModule.java и SPayPackage.java для взаимодействия с методами sdk. Для отрисовки нативной кнопки SDK перенести в проект файлы SPayButonFragment.java и SPayButtonManager.java. Скачать файлы можно по ссылке.

  2. В MainApplication в методе protected List<ReactPackage> getPackages() добавьте следующий код:

    Пример использования:

@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(new SPayPackage());
return packages;
}

или

 override fun getPackages(): List<ReactPackage> {
val packages: MutableList<ReactPackage> = PackageList(this).packages
packages.add(SPayPackage());
return packages
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.