Інтеграція рекламної мережі myTarget у мобільний додаток
myTarget — рекламна мережа VK Group, яка добре монетизує додатки з російськомовною аудиторією. Для більшості західних SDK (AdMob, IronSource) myTarget підключається як адаптер медіації, а не самостійно. Але якщо ваш додаток для СНГ-ринку та потрібна пряма інтеграція без зайвих залежностей — SDK працює автономно та покриває всі основні формати.
Що часто йде не так
Перша проблема — ініціалізація без явного слоту. myTarget SDK вимагає передачі slotId вже при створенні MyTargetView, а не після. Паттерн «створив вью → потім установив слот» не працює: оголошення не запитується, помилок в логах нема, просто порожнє місце.
На Android SDK додає android.permission.ACCESS_COARSE_LOCATION через manifest-злиття. Якщо в додатку нема геолокації, це викликає запитання у користувачів та може стати причиною замічань при ревю в Google Play. Відключається явним <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove"/> в основному маніфесті.
Нативна реклама через NativeAd вимагає обов'язкового виклику registerView() для кожного кликабельного елемента — інакше клики не трекаються та рекламодавець отримує нульову конверсію, що з часом знижує коефіцієнт заповнення саме для вашого додатку.
Стек інтеграції
Android (Kotlin):
// build.gradle
implementation 'com.my.target:mytarget-sdk:5.20.1'
// У Activity або Fragment
val adView = MyTargetView(context)
adView.setSlotId(YOUR_SLOT_ID)
adView.setListener(object : MyTargetView.MyTargetViewListener {
override fun onLoad(view: MyTargetView) { /* показуємо */ }
override fun onFailedToLoad(reason: String, view: MyTargetView) { /* логуємо */ }
})
adView.load()
iOS (Swift):
import MyTargetSDK
let adView = MTRGAdView(slotId: YOUR_SLOT_ID)
adView.delegate = self
adView.load()
GDPR-сумісність реалізується через MyTargetPrivacy.userConsent = .granted до першого запиту реклами. Для російського ринку менш критично, але для EU-користувачів — обов'язково.
Формати та їх особливості
| Формат | Клас Android | Клас iOS | Специфіка |
|---|---|---|---|
| Банер | MyTargetView |
MTRGAdView |
Потрібен slotId при створенні |
| Інтерстиціал | InterstitialAd |
MTRGInterstitialAd |
Завантаження заблаговременно, показ по готовності |
| Rewarded | RewardedAd |
MTRGRewardedAd |
Callback з типом та кількістю награди |
| Нативна | NativeAd |
MTRGNativeAd |
Обов'язковий registerView() |
Процес роботи
Починаємо зі створення слотів в кабінету myTarget та отримання slotId для кожного формату. Далі — інтеграція SDK, налаштування подій, тестування на реальних пристроях (тестові оголошення включаються через MyTargetManager.setDebugMode(true)).
Якщо myTarget потрібен як адаптер для AdMob або IronSource — додаємо адаптер com.my.target:mytarget-admob-mediation-adapter або com.my.target:mytarget-mopub-adapter та налаштовуємо маппінг слотів в консолі медіації.
Графіки роботи: пряма інтеграція — 1–2 дні, підключення як адаптера в існуючу медіацію — 半дня. Стоимість — за підсумками аналізу проекту.







