myTarget Network Integration in Mobile Application
myTarget is an advertising network from VK Group that effectively monetizes applications with Russian audience. For most Western SDKs (AdMob, IronSource), myTarget is connected as mediation adapter, not standalone. But if your app targets CIS market and you need direct integration without extra dependencies — SDK works autonomously and covers all main formats.
What Often Goes Wrong
First problem — initialization without explicit slot. myTarget SDK requires passing slotId already when creating MyTargetView, not after. Pattern "create view → then set slot" doesn't work: ad is not requested, no errors in logs, just empty space.
On Android SDK adds android.permission.ACCESS_COARSE_LOCATION via manifest merge. If app has no geolocation, this raises user questions and may become reason for remarks during Google Play review. Disabled with explicit <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove"/> in main manifest.
Native ads via NativeAd require mandatory registerView() call for each clickable element — otherwise clicks are not tracked and advertiser gets zero conversion, reducing fill rate for your app over time.
Integration Stack
Android (Kotlin):
// build.gradle
implementation 'com.my.target:mytarget-sdk:5.20.1'
// In Activity or Fragment
val adView = MyTargetView(context)
adView.setSlotId(YOUR_SLOT_ID)
adView.setListener(object : MyTargetView.MyTargetViewListener {
override fun onLoad(view: MyTargetView) { /* show */ }
override fun onFailedToLoad(reason: String, view: MyTargetView) { /* log */ }
})
adView.load()
iOS (Swift):
import MyTargetSDK
let adView = MTRGAdView(slotId: YOUR_SLOT_ID)
adView.delegate = self
adView.load()
GDPR compatibility is implemented via MyTargetPrivacy.userConsent = .granted before first ad request. For Russian market less critical, but for EU users — mandatory.
Formats and Their Features
| Format | Android Class | iOS Class | Specifics |
|---|---|---|---|
| Banner | MyTargetView |
MTRGAdView |
Need slotId when creating |
| Interstitial | InterstitialAd |
MTRGInterstitialAd |
Load in advance, show when ready |
| Rewarded | RewardedAd |
MTRGRewardedAd |
Callback with reward type and amount |
| Native | NativeAd |
MTRGNativeAd |
Mandatory registerView() |
Process of Work
Start with creating slots in myTarget cabinet and getting slotId for each format. Next — SDK integration, event setup, testing on real devices (test ads enabled via MyTargetManager.setDebugMode(true)).
If myTarget needed as adapter for AdMob or IronSource — add adapter com.my.target:mytarget-admob-mediation-adapter or com.my.target:mytarget-mopub-adapter and configure slot mapping in mediation console.
Timelines: direct integration — 1–2 days, connection as adapter in existing mediation — half day. Cost — based on project analysis.







