В вёрстке экрана
320×50 и другие размеры. XML, View или Compose. Монетизирует экран и не перехватывает навигацию.
Один Android SDK. Баннер, interstitial, rewarded и реклама при открытии — без зоопарка зависимостей.




SDK ничего не показывает сам. Реклама появляется только после вашего вызова API — в том месте сценария, которое выбрали вы.
320×50 и другие размеры. XML, View или Compose. Монетизирует экран и не перехватывает навигацию.
Полноэкранный показ на естественном переходе. Предзагрузка заранее, show() — когда пользователь уже готов.
Пользователь сам включает ролик. Вы выдаёте жизнь, статью или бустер после просмотра. VAST внутри SDK.
Реклама при старте приложения. Формат включаете вы: создали контроллер — работает, не создали — его нет.
Публичный API специально короткий: инициализация, создание формата, load и show.
Одна строка в Gradle: com.betweendigital:adsk:1.1.0. Артефакт на Maven Central.
AdsSdk.init(this, pubId) в Application. Водопад и настройки подтягиваются с CDN.
createBannerController, createInterstitial, createRewarded или createAppOpen. Load заранее, show — в нужный момент.
Порядок сетей и unit id приходят remote JSON. Пустой id — шаг пропускается, приложение не падает.
Нет скрытых показов на старте. App Open, interstitial и rewarded открываются только из вашего кода.
Не нужно собирать пять рекламных SDK вручную. XML, View и Jetpack Compose — один контракт.
minSdk 24, поддержка Android TV, 16 KB page size. Лишние permission медиаций в AAR сняты.
Баннер в карточке, interstitial между уровнями, rewarded за контент, App Open на холодном старте. Форматы встраиваются в сценарий, а не ломают его.
Игры, утилиты, контент, карты. Один SDK закрывает fill в СНГ, Азии и по всему миру.
Сначала свой demand. Нет fill — водопад идёт дальше по партнёрским сетям в ваших гео.
Пять сетей по очереди. Нет ответа — следующий шаг. Конфиг с CDN, без обновления приложения в сторе.
Артефакт com.betweendigital:adsk:1.1.0. Дальше — ваш pubId, placement id и вызов load / show.
implementation("com.betweendigital:adsk:1.1.0") AdsSdk.init(this, pubId = "YOUR_PUBLISHER_ID") val appOpen = AdsSdk.createAppOpen(this, placementId = 1234567L) appOpen.listener = object : AppOpenController.Listener { override fun onLoaded() { /* готово к show() */ } } appOpen.load()
Коротко про доступ, форматы и то, как SDK ведёт себя в приложении.
Напишите на sdk_ru@betweenx.ru. Выдадим идентификатор паблишера, placement id и поможем с первой сборкой.
Нет. Одна зависимость в Gradle. Водопад из пяти сетей уже внутри SDK, порядок и unit id приходят с CDN.
Нет. App Open, interstitial и rewarded открываются только после вашего show(). Нет контроллера — нет формата.
Запрос уходит на следующий шаг водопада. Пустой unit id пропускается. Старый конфиг без App Open не ломает баннеры.
Android, minSdk 24, Maven Central. Баннер в XML, View и Compose. Есть поддержка Android TV.
Доступ для издателей
Подключим приложение к Between Ads SDK и сопроводим первую интеграцию: placement id, форматы и показ по вашему API.