Unity Mediation plugin for Flutter Applications. This plugin is able to display Rewarded and Interstitial Ads from different ad sources
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/Podfilefile - in
ios/Podfilefile add next lines afterplatform :iosline:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Unity-Technologies/unity-mediation-cocoapods-prod.git'
Android
- set
minSdkVersionto 21 inandroid/app/build.gradlefile
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: