Android SDK: обзор и быстрый старт
Gravity Field SDK передаёт просмотры экранов и события, получает персонализированный контент и показывает кампании в приложении. Выбор кампаний и A/B-вариантов выполняет сервер; приложение отвечает за навигацию и может рисовать контент самостоятельно.
Руководство сверено 2 октября 2026 года с публичным кодом и опубликованным AAR Android SDK 1.0.4, коммит d60aadf. В модуле SDK заданы minSdk 21, compileSdk 35, JVM target 11. Для версии 1.0.4 SDK использует Compose BOM 2024.09.00.
Репозиторий SDK · История изменений
Установка
Готовый Maven-артефакт
В публичном репозитории SDK есть Maven-папка с AAR, POM и Gradle metadata. Чтобы подключить именно 1.0.4:
- Скачайте репозиторий по коммиту
d60aadf67afd85dc8d87a9f56bd3f0b3b1ee2dbcи скопируйтеgravity_sdk/repositoryв корень своего проекта под именемgravity-sdk-repository. - В
settings.gradle.ktsдобавьте локальный Maven-репозиторий рядом сgoogle()иmavenCentral():
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("gravity-sdk-repository") }
}
}
- В
app/build.gradle.ktsдобавьте SDK. Для Compose-примера также нужны Activity Compose и Material 3:
dependencies {
implementation("ai.gravityfield:gravity-sdk:1.0.4")
implementation("androidx.activity:activity-compose:1.9.2")
implementation(platform("androidx.compose:compose-bom:2024.09.00"))
implementation("androidx.compose.material3:material3")
}
Включите buildFeatures { compose = true } и плагин org.jetbrains.kotlin.plugin.compose той же версии, что Kotlin в вашем проекте. Опубликованный POM SDK содержит Kotlin 2.0.21. Не подключайте один AAR через files(...): при таком подключении Gradle не получит транзитивные зависимости из POM/metadata.
Разрешение android.permission.INTERNET уже присутствует в manifest библиотеки и объединяется с manifest приложения. Проверьте его наличие в merged manifest release-сборки.
Минимальное приложение
- Получите
apiKeyиsectionпроекта. - Опубликуйте inline-кампанию с selector
product_recommendationsи контекстомPRODUCT, SKUsku-123, locationapp://product/sku-123. - Для проверки автопоказа опубликуйте in-app кампанию по просмотру этого экрана или событию
add-to-cart-v1. - Добавьте quick_start.kt в Compose-проект. Замените package, API key, секцию и SKU, если в вашем фиде используется другой товар.
- Зарегистрируйте
GravityDemoApplicationиMainActivityв manifest; удалите старую launcher-Activity или перенесите код в неё:
<application android:name="com.example.gravitydemo.GravityDemoApplication">
<activity android:name="com.example.gravitydemo.MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Пример передаёт просмотр один раз при входе в Compose-экран, отправляет событие по кнопке и встраивает рекомендации. Карточка товара реализована в том же файле; навигацию подключите к роутеру приложения. В реальном приложении событие добавления в корзину отправляйте после успешного изменения корзины. Кодирование selector в примере соответствует ограничению Android 1.0.4. Исходный модуль можно подключить по отдельной инструкции.
Настройка форматов и сценариев в кабинете: Кампании в приложении.
PageContext
Поля контекста, SKU, категории и регион описаны в Контексте и событиях.
Логирование SDK
Уровни логирования, debug-диагностика и телеметрия ошибок описаны в Конфигурации.
Блокировка показа in-app кампаний
Presentation lock и её ограничения.
Кэш inline-блоков
Ключи кэша и очистка при выходе с экрана.
Служебные атрибуты
app_version, sdk_version и app_platform.