Android
Поле link используется для перенаправления пользователя. Это поле возвращается в ответе об успешном создании транзакции.
Здесь вы найдёте лучший способ управления пользовательским процессом в вашем Android-приложении:
Шаг 1: Использование CustomTabs для интеграции
Добавьте необходимую зависимость для использования CustomTabs в файле app/build.gradle:
implementation("androidx.browser:browser:1.5.0")
Шаг 2: Открытие CustomTab
import android.net.Uri
import androidx.activity.ComponentActivity
import androidx.browser.customtabs.CustomTabsClient
import androidx.browser.customtabs.CustomTabsIntent
class CustomTabActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
openCustomTab(<URL_CBU>)
}
fun openCustomTab(url: String) {
val builder = CustomTabsIntent.Builder()
val customTabsIntent = builder.build()
customTabsIntent.launchUrl(this, Uri.parse(url))
}
}
Шаг 3: Изменение AndroidManifest
Добавьте необходимые разрешения и intent'ы в AndroidManifest.xml для Activity, которая должна получать callback_uri. Необходимо включить атрибут android:launchMode="singleTop", а также тег <data>, предоставляющий данные URI.
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA"/>
// permissions for camera and geolocation are required
<activity
android:name=".CustomTabActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Customtabs"
android:launchMode="singleTop">
<intent-filter android:label="Custom Tab">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- scheme and host are the data provided at process creation in the callback_uri field
callback_uri: "foobar://success?code=1234" -->
<data android:scheme="foobar" android:host="success"/>
</intent-filter>
</activity>
Для корректной работы необходимы следующие разрешения:
- Камера
- Геолокация
Шаг 4: Получение информации о возврате
Чтобы получить информацию о перенаправлении с предоставленными данными, вы можете использовать следующий код в методе onNewIntent вашей Activity:
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
val url = intent.data
val scheme = url.scheme // "foobar"
val host = url.host // "success"
val code = url.getQueryParameter("code") // "1234"
}
Также можно использовать ссылку, сгенерированную Unico, в гибридных фреймворках. Для этого вы можете создать мост (bridge) между используемым фреймворком и нативным кодом и следовать нашим рекомендациям в документации, либо использовать библиотеку, которая предоставляет такие возможности интеграции.
Интеграция WebView в ваше приложение является исключительной ответственностью клиента, поскольку эта функциональность не предоставляется в составе библиотек или SDK Unico. По этой причине мы не оказываем техническую поддержку по вопросам или проблемам, связанным с реализацией WebView в вашем приложении. Для получения рекомендаций по настройке мы рекомендуем обращаться к официальной документации технологии, используемой в вашем проекте (например, React Native, Flutter и т. д.).