Integrating Unity Ads 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 Unity Ads 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

Unity Ads Network Integration in Mobile Application

Unity Ads is an advertising network more often chosen for gaming applications. Reason: advertisers in the Unity network are mainly game studios, which provides high eCPM for gaming audiences. For non-gaming applications, Unity Ads typically loses to AdMob in fill rate.

SDK Initialization

Unity Ads SDK 4.x (current as of 2024):

// Android
UnityAds.initialize(context, "GAME_ID", isTestMode, object : IUnityAdsInitializationListener {
    override fun onInitializationComplete() {
        // SDK is ready, load ad units
        loadInterstitial()
    }
    override fun onInitializationFailed(error: UnityAds.UnityAdsInitializationError, message: String) {
        Log.e("UnityAds", "Init failed: $message")
    }
})

isTestMode = true is mandatory during development. Real ads in test mode are not shown — this protects against accidental production ad display in dev builds.

Rewarded Video — Main Format

Unity Ads specializes in rewarded video. Loading and showing pattern:

fun loadAd() {
    UnityAds.load("rewardedVideo", object : IUnityAdsLoadListener {
        override fun onUnityAdsAdLoaded(placementId: String) {
            isAdReady = true
        }
        override fun onUnityAdsFailedToLoad(
            placementId: String,
            error: UnityAds.UnityAdsLoadError,
            message: String
        ) {
            // Retry after 30 seconds or fallback to another network
        }
    })
}

fun showAd(activity: Activity) {
    if (!isAdReady) return
    UnityAds.show(activity, "rewardedVideo", object : IUnityAdsShowListener {
        override fun onUnityAdsShowComplete(
            placementId: String,
            state: UnityAds.UnityAdsShowCompletionState
        ) {
            if (state == UnityAds.UnityAdsShowCompletionState.COMPLETED) {
                grantReward() // Award only on COMPLETED, not on SKIPPED
            }
        }
    })
}

SKIPPED — user closed early; COMPLETED — watched to the end. Award only for COMPLETED — requirement of Unity and common sense.

Placement IDs and Configuration

Placement IDs are created in Unity Dashboard (dashboard.unity3d.com). Typical placements: rewardedVideo, interstitial, banner. For each placement, ad type, eCPM floor, and display frequency are configured.

Unity Ads Place in Mediation

Optimal architecture for gaming applications: AdMob mediation + Unity Ads adapter. AdMob requests Unity Ads through mediation and selects highest eCPM. Native Unity Ads integration is justified only if AdMob is not suitable (for example, app developed in Unity Engine and already using Unity Gaming Services).

GDPR

Unity Ads supports UnityAds.setPrivacyConsent() and metadata via MetaData:

val gdprMetadata = MetaData(context)
gdprMetadata["gdpr.consent"] = true
gdprMetadata.commit()

Without explicit consent in EU — Unity shows non-targeted ads with reduced eCPM.

Timelines — 1–3 days: SDK initialization, placement setup, GDPR consent flow, testing on real devices.