You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET MAUI中接入展示Google Ads/AdMob广告

.NET MAUI 接入AdMob的实现指引

首先明确结论:目前已经有非常多开发者在.NET MAUI生产应用中成功跑通了AdMob的横幅、插屏、激励视频等全类型广告接入,你之前判断的「Xamarin.Forms开发逻辑大部分可兼容到MAUI」是成立的,只是要注意MAUI和Xamarin.Forms在绑定库版本、控件映射机制、平台配置路径上的少量差异,不要直接硬套多年未更新的老旧XF第三方插件即可。

你可以按照下面的方向自行实现,整体代码量很小:

  • 依赖项选择:不要使用停止维护的Xamarin时期旧版AdMob绑定包,直接选用适配.NET MAUI的最新版Google Mobile Ads平台绑定,安卓、iOS端的绑定包均和谷歌官方AdMob SDK版本同步,不存在版本兼容问题。
  • 跨平台控件实现:逻辑和Xamarin.Forms时期几乎一致:
    1. 先在跨平台共享项目中定义自定义广告控件,继承自基础View,暴露广告单元ID、广告尺寸、广告加载完成/失败的事件等可绑定属性
    2. 可以选择沿用Xamarin.Forms时期的自定义渲染器方案,或者用MAUI更轻量的Handler机制,分别在安卓、iOS平台项目中,把你定义的跨平台广告控件映射到对应平台原生的AdMob广告视图对象上
    3. 在Handler/渲染器中实现广告的加载、事件回调上报、控件销毁时的资源释放逻辑即可
  • 平台配置项:配置逻辑和Xamarin.Forms时期基本一致,只需要注意对应MAUI的平台文件路径:
    • 安卓端在平台项目的AndroidManifest.xml中添加AdMob App ID对应的元数据、所需网络权限、广告页Activity声明
    • iOS端在平台项目的Info.plist中添加GADApplicationIdentifier配置项,iOS14+按要求添加ATT权限申请的相关逻辑,在应用启动后合适的时机触发权限弹窗
  • 测试注意事项:开发调试阶段全程使用谷歌官方提供的测试广告单元ID,不要直接使用正式生产ID,避免触发AdMob账号的违规检测,测试流程和Xamarin.Forms接入AdMob时完全一致。

避坑提示:不要直接照搬3年以上未更新的Xamarin.Forms第三方AdMob插件,这类插件大多绑定的是已经过时的AdMob SDK版本,在安卓13+、iOS16+以上的系统版本中大概率会出现广告加载失败、应用崩溃、合规检测不通过的问题,自行基于官方绑定实现的方案可控性更高,后续SDK升级也更灵活。

内容的提问来源于stack exchange,提问作者Tanaka Mawere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 12:06:16