Google AdMob plugin for .NET MAUI
July 5, 2026 · View on GitHub
Monetize your .NET MAUI app with Google AdMob ads on Android and iOS — banner, interstitial, rewarded, rewarded interstitial, app open, and native ads (native video coming soon) — with GDPR consent handled for you via Google's User Messaging Platform (UMP). Free and open source, with every feature included.
dotnet add package Plugin.AdMob
Features
| Banner | Interstitial | Rewarded | Rewarded interstitial | App open | Native | Native video | Consent (UMP) | |
|---|---|---|---|---|---|---|---|---|
| Android | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ➡️ In progress | ✅ |
| iOS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ➡️ In progress | ✅ |
Why Plugin.AdMob?
- Every AdMob ad format — banners in all sizes (including custom), full-screen interstitial, rewarded, and rewarded interstitial ads, app open ads, and fully customizable native ads (native video coming soon).
- Free and open source — MIT-licensed, no paid tiers, no locked features.
- Consent built in — the Google UMP consent form (GDPR) is shown automatically on startup when required, or take full control yourself via
IAdConsentService. - MAUI-first API — drop a
BannerAdorNativeAdViewinto your XAML, and use dependency-injected services (IInterstitialAdService,IRewardedAdService,IAppOpenAdService, ...) for full-screen ads. - Test ads out of the box — set
AdConfig.UseTestAdUnitIds = trueand develop safely against Google's test ad units. - Cross-platform friendly — your app still compiles and runs on Windows and Mac Catalyst; ads are simply not shown there.
- Actively maintained — built for .NET 10 and the latest .NET MAUI, on top of up-to-date Google Mobile Ads SDK bindings.
Quick start
1. Install the package:
dotnet add package Plugin.AdMob
2. Initialize the plugin in your MauiProgram.cs:
builder
.UseMauiApp<App>()
.UseAdMob();
Then complete the one-time platform configuration (Android manifest, iOS Info.plist) described in the Setup guide.
3. Show a banner ad by dropping the control into any page:
<ContentPage xmlns:admob="clr-namespace:Plugin.AdMob;assembly=Plugin.AdMob"
...>
<admob:BannerAd AdUnitId="ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx" />
</ContentPage>
4. Show an interstitial ad:
var interstitialAdService = IPlatformApplication.Current.Services.GetRequiredService<IInterstitialAdService>();
interstitialAdService.PrepareAd();
// Once loaded (OnAdLoaded), e.g. between levels:
interstitialAdService.ShowAd();
Tip: no ad unit IDs yet? Set AdConfig.UseTestAdUnitIds = true to use Google's test ads while developing.
📽️ Video tutorial
Documentation
- Setup — initialization, Android manifest and iOS
Info.plistconfiguration - Configuration — default ad unit IDs, test ads, test devices
- Consent — GDPR consent with Google UMP, debug geographies
- Banner ads — all banner sizes, custom sizes, events
- Interstitial ads — preload and show full-screen ads
- Rewarded ads — reward users for watching ads
- Rewarded interstitial ads
- Native ads — design your own ad layout
- App open ads — ads on app launch and foregrounding
- Troubleshooting
- Samples
Contributing & support
Found a bug or missing a feature? Open an issue — pull requests are welcome.
If Plugin.AdMob helps your app earn money, consider giving the repo a ⭐ — it helps other .NET MAUI developers discover it.
This project has no affiliation with Google, Microsoft, or the MAUI/Xamarin teams. AdMob is a trademark of Google LLC.
