unity_mediation
Unity Mediation plugin for Flutter Applications. This plugin is able to display Rewarded and Interstitial Ads from different ad sources.
Unity Mediation plugin for Flutter Applications. This plugin is able to display Rewarded and Interstitial Ads from different ad sources.
English project snapshot. Visit GitHub for the latest content.
Unity Mediation has been deprecated and is no longer supported. Use Unity LevelPlay for mediation of ad networks instead. If your application uses only ads from Unity Ads source, use Unity Ads Plugin.
Unity Mediation plugin for Flutter Applications. This plugin is able to display Rewarded and Interstitial Ads from different ad sources.
ios/Podfile fileios/Podfile file add next lines after platform :ios line:source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Unity-Technologies/unity-mediation-cocoapods-prod.git'
minSdkVersion to 21 in android/app/build.gradle fileFor using additional advertising sources, it's needed to configure them.
Add dependencies of configured ad sources to ios/Podfile file from the table below
target 'Runner' do
use_frameworks!
use_modular_headers!
# list of adapters
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
AdMob ad source requires additional configuration. If you use AdMob add your AdMob app ID to ios/Runner/Info.plist file
<key>GADApplicationIdentifier</key>
<string>YOUR_ADMOB_APP_ID</string>
Add dependencies of configured ad sources to android/app/build.gradle file
dependencies {
// list of adapters
}
AdMob ad source requires additional configuration. If you use AdMob add your AdMob app ID to android/app/src/main/AndroidManifest.xml file
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR_ADMOB_APP_ID"/>
</application>
</manifest>
| Source | iOS | Android |
|---|---|---|
| AdColony | pod 'UnityMediationAdColonyAdapter' |
implementation "com.unity3d.mediation:adcolony-adapter:1.0.0" |
| AppLovin | pod 'UnityMediationAppLovinAdapter' |
implementation "com.unity3d.mediation:applovin-adapter:1.0.0" |
| IronSource | pod 'UnityMediationIronSourceAdapter' |
implementation "com.unity3d.mediation:ironsource-adapter:1.0.0" |
| Vungle | pod 'UnityMediationVungleAdapter' |
implementation "com.unity3d.mediation:vungle-adapter:1.0.1" |
| Meta Audience Network | pod 'UnityMediationFacebookAdapter' |
implementation "com.unity3d.mediation:facebook-adapter:1.0.0" |
| AdMob | pod 'UnityMediationAdmobAdapter' |
implementation "com.unity3d.mediation:admob-adapter:1.0.0" |
Initialize Unity Mediation with your game ID
UnityMediation.initialize(
gameId: 'GAME_ID',
onComplete: () => print('Initialization Complete'),
onFailed: (error, message) => print('Initialization Failed: $error $message'),
);
Load an ad before show it.
UnityMediation.loadRewardedAd(
adUnitId: 'REWARDED_AD_UNIT_ID',
onComplete: (adUnitId) => print('Rewarded Ad Load Complete $adUnitId'),
onFailed: (adUnitId, error, message) => print('Rewarded Ad Load Failed $adUnitId: $error $message'),
);
Show a loaded rewarded ad.
UnityMediation.showRewardedAd(
adUnitId: 'REWARDED_AD_UNIT_ID',
onStart: (adUnitId) => print('Rewarded Ad $adUnitId started'),
onClick: (adUnitId) => print('Rewarded Ad $adUnitId click'),
onRewarded: (adUnitId, reward) => print('Rewarded Ad $adUnitId rewarded $reward'),
onClosed: (adUnitId) => print('Rewarded Ad $adUnitId closed'),
onFailed: (adUnitId, error, message) => print('Rewarded Ad $adUnitId failed: $error $message'),
);
To use server-to-server callbacks, you need to set userId parameter when call showRewardedAd.
Read more on docs.unity.com.
Load an ad before show it.
UnityMediation.loadInterstitialAd(
adUnitId: 'INTERSTITIAL_AD_UNIT_ID',
onComplete: (adUnitId) => print('Interstitial Ad Load Complete $adUnitId'),
onFailed: (adUnitId, error, message) => print('Interstitial Ad Load Failed $adUnitId: $error $message'),
);
Show a loaded interstitial ad.
UnityMediation.showInterstitialAd(
adUnitId: 'INTERSTITIAL_AD_UNIT_ID',
onStart: (adUnitId) => print('Interstitial Ad $adUnitId started'),
onClick: (adUnitId) => print('Interstitial Ad $adUnitId click'),
onClosed: (adUnitId) => print('Interstitial Ad $adUnitId closed'),
onFailed: (adUnitId, error, message) => print('Interstitial Ad $adUnitId failed: $error $message'),
);
Place BannerAd widget in your app.
BannerAd(
adUnitId: 'BANNER_AD_UNIT_ID',
onLoad: (adUnitId) => print('Banner loaded: $adUnitId'),
onClick: (adUnitId) => print('Banner clicked: $adUnitId'),
onFailed: (adUnitId, error, message) => print('Banner Ad $adUnitId failed: $error $message'),
),
Your donation motivates me to work more on plugins and packages. If you found this plugin helpful and would like to thank me:
Dependency list 3 items
{"sdk":"flutter"}{"sdk":"flutter"}^1.0.0Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗