B4A Library Unity Ads Library

Original library: https://github.com/Unity-Technologies/unity-ads-android
Based on Unity Ads Library v4.15.0 (28 May 2025).
Banner, Interstitial and Rewarded Video.

If you have problem compiling app please check THIS post.

app-ads.txt: https://docs.unity.com/ads/en-us/manual/app-ads-txt

Tutorial for AdMob mediation: AdMob mediation - UnityAds (not tested).



Add this code to main:
340758:
    #MultiDex: True
    #AdditionalJar: androidx.asynclayoutinflater:asynclayoutinflater
    #AdditionalJar: androidx.collection:collection
    #AdditionalJar: androidx.concurrent:concurrent-futures
    #AdditionalJar: androidx.coordinatorlayout:coordinatorlayout
    #AdditionalJar: androidx.cursoradapter:cursoradapter
    #AdditionalJar: androidx.datastore:datastore
    #AdditionalJar: androidx.documentfile:documentfile
    #AdditionalJar: androidx.fragment:fragment
    #AdditionalJar: androidx.interpolator:interpolator
    #AdditionalJar: androidx.legacy:legacy-support-core-ui
    #AdditionalJar: androidx.legacy:legacy-support-core-utils
    #AdditionalJar: androidx.lifecycle:lifecycle-common
    #AdditionalJar: androidx.lifecycle:lifecycle-livedata
    #AdditionalJar: androidx.lifecycle:lifecycle-livedata-core
    #AdditionalJar: androidx.lifecycle:lifecycle-process
    #AdditionalJar: androidx.lifecycle:lifecycle-runtime
    #AdditionalJar: androidx.lifecycle:lifecycle-runtime-ktx
    #AdditionalJar: androidx.lifecycle:lifecycle-service
    #AdditionalJar: androidx.lifecycle:lifecycle-viewmodel
    #AdditionalJar: androidx.lifecycle:lifecycle-viewmodel-ktx
    #AdditionalJar: androidx.lifecycle:lifecycle-viewmodel-savedstate
    #AdditionalJar: androidx.localbroadcastmanager:localbroadcastmanager
    #AdditionalJar: androidx.print:print
    #AdditionalJar: androidx.profileinstaller:profileinstaller
    #AdditionalJar: androidx.sqlite:sqlite
    #AdditionalJar: androidx.sqlite:sqlite-framework
    #AdditionalJar: androidx.work:work-runtime
    #AdditionalJar: androidx.work:work-runtime-ktx
    #AdditionalJar: androidx.webkit:webkit
    #AdditionalJar: com.google.android.gms:play-services-cronet
    #AdditionalJar: com.google.android.gms:play-services-base
    #AdditionalJar: com.google.android.gms:play-services-basement
    #AdditionalJar: com.google.android.gms:play-services-tasks
    #AdditionalJar: com.google.protobuf:protobuf-java-lite
    #AdditionalJar: com.google.protobuf:protobuf-kotlin-lite
    #AdditionalJar: org.chromium.net:cronet-api
    #AdditionalJar: room-common-2.2.5
    #AdditionalJar: room-runtime-2.2.5.aar


Add this in your manifest:
B4X:
AddManifestText(<queries>
        <intent>
            <action android:name="com.attribution.REFERRAL_PROVIDER" />
        </intent>
    </queries>)

AddApplicationText(<activity
            android:name="com.unity3d.services.ads.adunit.AdUnitActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:exported="false"
            android:hardwareAccelerated="true"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.unity3d.services.ads.adunit.AdUnitTransparentActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:exported="false"
            android:hardwareAccelerated="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:exported="false"
            android:hardwareAccelerated="false"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.unity3d.services.ads.adunit.AdUnitSoftwareActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:exported="false"
            android:hardwareAccelerated="false"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.unity3d.ads.adplayer.FullScreenWebViewDisplay"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:exported="false"
            android:hardwareAccelerated="true"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup" >
            <meta-data
                android:name="androidx.lifecycle.ProcessLifecycleInitializer"
                android:value="androidx.startup" />
            <meta-data
                android:name="com.unity3d.services.core.configuration.AdsSdkInitializer"
                android:value="androidx.startup" />
        </provider>)


Versions:

v4.90

  • Added new banners: 300x250, 300x300 and 450x450.
  • Updated example app.

v4.91
  • Update for original library. Changelog.
  • Updated example app (Manifest changes).

v4.92

Download library from: https://mega.nz/file/MBxQGQjT#qFjWMIaOk7Umxn74nsBHqT7x-eorzbSBpd6Ue2AUWFU
 

Attachments

  • UnityAdsExample.zip
    5.6 KB · Views: 136
Last edited:

Douglas Farias

Expert
Licensed User
Longtime User
Hi @Pendrush
First, Thank you for the lib, i m testing here.

one report...
the UnityAdsInterstitial.IsInitialized is always returning false.
the IsReady is true but the IsInitialized is false.

i have not tested banner, but i think it is with same problem.

thx
 

Douglas Farias

Expert
Licensed User
Longtime User
Hello @Pendrush
can you please update this lib to lasted version of unity sdk (3.7.5)? or upload the source code? thank you ???
 

Blueforcer

Well-Known Member
Licensed User
Longtime User
Is this still working?
B4X:
UnityAdsInterstitial.InitializeInterstitial("InterstitialAds", "4782531", False, "Interstitial_Android")
i always get
OnUnityAdsFailedToLoad: Error: INVALID_ARGUMENT, Error message: No placement configured for id: Interstitial_Android, PlacementId: Interstitial_Android

as placement ID i entered the ad-unit ID, since i dont find any PlacementId



is this correct?
 

Pendrush

Well-Known Member
Licensed User
Longtime User

Pendrush

Well-Known Member
Licensed User
Longtime User
hello, can you make this library compatible with last sdk version (Unity Ads 4.7.1)

I don't think B4A is ready.
Unity Ads Android integration requirements:
  • compileSdkVersion to be 33 or higher
  • Java 8 targeting for the Unity Ads SDK version 4.7.0 and higher
More on link:
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…