Связывание нативной части SDK Android с React-Native проектом
Для использования 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.zone | 1.8.0 - 1.9.0 | - |
Dagger2 | 2.24 - 2.44 | Внедрение зависимостей |
OkHttp | 4.10.0 | Http клиент |
Dynatrace | 8.257.1.1007 | Метрики |
... |
Взаимодействие с нативными компонентами SDK
Перенесите в Ваш android проект файлы
SPayBridgeModule.java
иSPayPackage.java
для взаимодействия с методами sdk. Для отрисовки нативной кнопки SDK перенести в проект файлыSPayButonFragment.java
иSPayButtonManager.java
. Скачать файлы можно по ссылке.В
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
}