Effectively monetizing mobile apps requires more than choosing an ad network—it demands a methodical integration that optimizes performance, increases revenue, and maintains a strong user experience. Two of the most popular and robust platforms for in-app monetization are Google AdMob and ironSource. Each offers powerful ad formats, attribution capabilities, and mediation tools to help you scale your ad revenue.
This guide will walk you through the complete integration process for both platforms—covering account setup, SDK integration for Android and iOS, configuring ad formats, testing, optimization, best practices, and common pitfalls.
Step-by-Step: Integrating AdMob or ironSource in Your App
1. Monetization Models: AdMob vs. ironSource
Before diving into integration, let’s compare the platforms to understand which best fits your app’s monetization strategy.
Tool | Strengths | Ideal Use Cases |
---|---|---|
Google AdMob | Integration with Google ecosystem, vast advertiser demand, Firebase compatibility | Apps seeking reliable fill rates and basic mediation |
ironSource | Strong for gaming apps, real-time bidding, advanced segmentation | Game developers or apps emphasizing rewarded content and mediation control |
AdMob offers global reach and straightforward integration—perfect for utility apps and smaller studios. ironSource, by contrast, excels in game app monetization with advanced tools, analytics, and mediation capabilities.
2. Getting Started: Pre-integration Requirements
Before implementation, you need to prepare:
- Developer accounts:
- Android: Google Play Console
- iOS: Apple Developer Program
- Ad unit planning:
- Determine formats needed (banner, interstitial, rewarded, native).
- Create IDs for each ad type in your chosen platform’s dashboard.
- Environment setup:
- Android: Android Studio with updated SDK Tools and Gradle.
- iOS: Xcode with latest iOS SDK and CocoaPods.
- Legal compliance:
- Prepare for privacy requirements (GDPR, CCPA, ATT) and implement a consent manager as needed.
3. Integrating Google AdMob
A. Account Setup and Ad Unit Configuration
- Go to AdMob and sign in with your Google account.
- Click Add App, select your platform (Android or iOS), and enter package or bundle ID.
- Generate ad unit IDs for:
- Banner
- Interstitial
- Rewarded
- Native (optional)
- Note the App ID and Ad Unit IDs for code integration.
B. Android Integration Steps
- Add Maven & Plugin
Inproject/build.gradle
:buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' } }
- Include Play Services Ads
Inapp/build.gradle
:implementation 'com.google.android.gms:play-services-ads:23.0.0' apply plugin: 'com.google.gms.google-services'
- Configure JSON File
Downloadgoogle-services.json
from the AdMob dashboard and place it in yourapp/
folder. - Update Android Manifest
Insert in<application>
:<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxx~yyyyyyyy"/>
- Initialize SDK
MobileAds.initialize(this, initializationStatus -> {});
C. iOS Integration Steps
- Add Pod in Podfile
pod 'Google-Mobile-Ads-SDK'
- Install Pods
pod install
- Include Plist Configuration
AddGADApplicationIdentifier
with your App ID inInfo.plist
. - Initialize SDK
import GoogleMobileAds GADMobileAds.sharedInstance().start(completionHandler: nil)
D. Displaying Ads with AdMob
Banner Ad (Android)
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="YOUR_BANNER_AD_UNIT_ID"/>
AdView adView = findViewById(R.id.adView);
adView.loadAd(new AdRequest.Builder().build());
Interstitial Ad (Android)
InterstitialAd.load(this, "YOUR_INTERSTITIAL_AD_UNIT_ID", new AdRequest.Builder().build(),
new InterstitialAdLoadCallback() { … });
Show it when ready, typically between app activities.
Rewarded Ad (Android)
RewardedAd.load(context, "YOUR_REWARDED_AD_UNIT_ID", buildAdRequest(),
new RewardedAdLoadCallback() { … });
Show it upon user request and include award logic.
4. Integrating ironSource
A. Account Setup and Configuration
- Sign in at the ironSource Platform.
- Add your app and select platform.
- Copy your App Key and configure ad units.
B. Android Integration Steps
- Add SDK Dependency
implementation 'com.ironsource.sdk:mediationsdk:7.7.0'
- Permissions in Manifest
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Initialize SDK
IronSource.init(this, "YOUR_APP_KEY");
C. iOS Integration Steps
- Add Pod
pod 'IronSourceSDK'
- Install Pods
pod install
- Initialize SDK
IronSource.initWithAppKey("YOUR_APP_KEY")
D. Displaying Ads with ironSource
Rewarded Videos
if (IronSource.isRewardedVideoAvailable()) {
IronSource.showRewardedVideo();
}
Interstitial Ads
IronSource.loadInterstitial();
IronSource.showInterstitial();
Cross-promotion is supported in the dashboard and via IronSource APIs.
5. Mediation Strategies
Both platforms offer powerful mediation to maximize ad revenue.
- AdMob Mediation supports waterfall configurations with dozens of networks.
- ironSource LevelPlay supports real-time bidding and advanced offer optimization.
Choose between waterfall or bidding methodologies based on your app profile, geographies, and budget.
6. Testing and Debugging Ads
- AdMob provides test ad units. Never use real ads in testing to avoid policy violations.
- Enable ironSource test suites in the dashboard.
- Validate ad behavior on real devices and monitor for loading, display issues, or crashes.
7. Monitoring Performance and Optimization
After launch, monitor the following:
- Fill rate and eCPM per format and region
- Revenue per daily active user (ARPDAU)
- User retention and session length impact
- Ad refresh vs fatigue
- A/B tests on ad placement, frequency, and creative rotations
Use dashboards (AdMob, ironSource) alongside tools like Firebase and analytics platforms to inform decisions.
8. Privacy Considerations and Compliance
- Ensure you prompt users for ad tracking (iOS ATT, GDPR, CCPA).
- Use a consent management platform (CMP) integrated before ad requests.
- Respect user opt-out preferences and maintain compliance logs.
9. Common Mistakes and Troubleshooting
Issue | Cause | Solution |
---|---|---|
Ads not loading | Missing permissions or IDs | Verify IDs, network, and permissions |
Low fill or eCPM | Insufficient mediation coverage | Add more networks, enable bidding |
Network or SDK bloat | Multiple SDKs increase footprint | Use mediation to reduce unused code |
Privacy violations | No consent mechanism | Integrate a CMP and manage opt-out logic |
10. Conclusion and Next Steps
Integrating AdMob or ironSource is more than a technical integration—it’s a strategic opportunity to build a sustainable revenue engine around your app. By systematically setting up your monetization stack, optimizing formats, and tracking performance, you position your app for lasting financial success.