Unity Mediation
Unity Mediation plugin for Flutter Applications. This plugin is able to display Rewarded and Interstitial Ads from different ad sources.
If your application uses only ads from Unity Ads source use Unity Ads Plugin.
Getting Started
1. Configure
iOS
- set iOS version to 9.0 or higher in
ios/Podfile
file - in
ios/Podfile
file add next lines afterplatform :ios
line:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Unity-Technologies/unity-mediation-cocoapods-prod.git'
Android
- set
minSdkVersion
to 21 inandroid/app/build.gradle
file
2. Configure ad sources
For using additional advertising sources, it’s needed to configure them.
iOS
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>
Android
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>
Ad Sources
Source | iOS | Android |
---|---|---|
AdColony | pod 'UnityMediationAdColonyAdapter' |
implementation "com.unity3d.mediation:adcolony-adapter:0.3.0" |
AppLovin | pod 'UnityMediationAppLovinAdapter' |
implementation "com.unity3d.mediation:applovin-adapter:0.3.0" |
IronSource | pod 'UnityMediationIronSourceAdapter' |
implementation "com.unity3d.mediation:ironsource-adapter:0.3.0" |
Vungle | pod 'UnityMediationVungleAdapter' |
implementation "com.unity3d.mediation:vungle-adapter:0.3.0" |
Meta Audience Network | pod 'UnityMediationFacebookAdapter' |
implementation "com.unity3d.mediation:facebook-adapter:0.3.0" |
AdMob | pod 'UnityMediationAdmobAdapter' |
implementation "com.unity3d.mediation:admob-adapter:0.3.0" |
3. Initialization
Initialize Unity Mediation with your game ID
UnityMediation.initialize(
gameId: 'GAME_ID',
onComplete: () => print('Initialization Complete'),
onFailed: (error, message) => print('Initialization Failed: $error $message'),
);
4. Rewarded Ad
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'),
);
5. Interstitial Ad
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'),
);
Donate
If you found this plugin helpful and would like to thank me: