Integrating Yandex Advertising network into a mobile application

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Integrating Yandex Advertising network into a mobile application
Medium
from 1 business day to 3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Yandex.Ads Network Integration in Mobile Application

Yandex Mobile Ad Blocks (YandexMobileAds SDK) — one of few advertising revenue sources that stably works for Russian-speaking audience after 2022. Fill rate at Yandex in Russia is higher than AdMob for same traffic, especially in utilities, news and games categories.

SDK Pitfalls

Yandex SDK version 7.x redesigned initialization: now explicit MobileAds.initialize(context) in Application.onCreate() is required, not lazy initialization on first request. Old pattern works, but first 2–3 server requests pass with ~800 ms delay — visible on time-to-first-ad metric.

On iOS similar story: YMAMobileAds.initializeSdk() must be called in applicationDidFinishLaunching, before any UI operations. If initialization happens later (for example, inside lazy var), first banners don't show on cold start — and this is not fixed in Crashlytics, just silent miss.

Native ads (YMANativeAd) require mandatory adContainer and bind(with:) call before display. If binding didn't complete — YMANativeAdViewProtocol doesn't render, place stays empty. This is typical error when using native ads in UITableViewCell: on cell reuse must explicitly unbind previous nativeAd via unbind().

How We Connect

Android dependencies:

implementation 'com.yandex.android:mobileads:7.5.0'
// If mediation via AdMob needed
implementation 'com.yandex.ads.adapters:admob:7.5.0.0'

iOS (CocoaPods / SPM):

pod 'YandexMobileAds', '~> 7.5'

For Android important to add meta-tag in AndroidManifest.xml with partner identifier — without it ads don't load in production, only test ads. Common mistake: developer tests on test-ID, all works, but in release — zero impressions.

Formats and Implementation Specifics

Sticky-banner (YMAAdSize.stickySize(withContainerWidth:)) — adaptive format that auto-selects height for container width. Don't use fixed 320×50 — Yandex supports it, but adaptive banner fill rate is about 15–20% higher by our observations.

Rewarded differs from other networks in that rewardDidLoad event fires before showing, and reward itself passed in didReward(_ reward:). If reward logic tied to dismiss event — get situation where user closed ad early but reward already awarded.

Interstitial — separate YMAInterstitialAd instance for each show. Reusing one object for multiple shows — undefined behavior that breaks on iOS 16+ with EXC_BAD_ACCESS on repeat show() call.

Integration Stages

  1. Creating ad block in Yandex Partner interface, getting blockID
  2. Adding SDK and initializing setup in Application/AppDelegate
  3. Implementing formats with correct lifecycle hooks
  4. GDPR/consent — YMAUserConsent for EU users
  5. Testing with demo-blockID (R-M-DEMO-*), then with real blocks
  6. Monitoring fill rate and RPM in Yandex Partner cabinet

Timelines: single format — 1 day, full integration of all formats with correct lifecycle hooks — 2–3 days. Cost calculated after discussing scope of work.