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

Xamarin中MarcTron AdMob横幅广告空白问题求助

问题分析与解答

MarcTron.Admob库的可用性

MarcTron.Admob目前已经停止维护,最后一次更新停留在2022年,对于较新的Xamarin.Forms版本、Android 13+或iOS 16+系统的兼容性存在明显问题,部分场景下会出现广告加载失败或空白的情况。如果你的项目基于较新的Xamarin环境,建议迁移到官方的Google Mobile Ads SDK绑定库(如Xamarin.GooglePlayServices.Ads)。

广告空白的可能原因

  • 广告单元未激活:新创建的AdMob广告单元通常需要几小时到1天的时间才能正式返回广告,期间可以先用官方测试ID验证功能是否正常。Android测试横幅ID:ca-app-pub-3940256099942544/6300978111,iOS测试横幅ID:ca-app-pub-3940256099942544/2934735716。
  • 权限或配置缺失:
    • Android:需在AndroidManifest.xml中添加网络权限,并正确配置AppId:
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <application ...>
          <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="你的AppId"/>
      </application>
      
    • iOS:需在Info.plist中配置AppId,若需个性化广告还要添加追踪权限描述:
      <key>GADApplicationIdentifier</key>
      <string>你的AppId</string>
      <key>NSUserTrackingUsageDescription</key>
      <string>需要追踪数据以提供个性化广告</string>
      
  • 版本兼容性问题:如果项目使用较新的Xamarin.Forms或Xamarin平台版本,MarcTron.Admob的旧版本可能无法适配,导致广告加载逻辑失效。
  • 网络环境限制:AdMob广告需要稳定的网络连接,部分地区可能需要特殊网络环境才能正常加载,或设备处于离线状态。
  • 广告尺寸不匹配:代码中设置的横幅尺寸(如Banner/MediumRectangle)需与AdMob后台创建的广告单元类型完全一致,否则会出现空白占位。
  • 初始化逻辑错误:确保在App启动时完成MarcTron.Admob的初始化,比如在App.xaml.cs的OnStart方法中调用:
    MTAdmob.Initialize("你的AppId");
    
    页面中的横幅控件配置也要正确:
    <mtad:MTAdView x:Name="BannerAd" AdUnitId="你的横幅ID" AdSize="Banner" VerticalOptions="End"/>
    

内容的提问来源于stack exchange,提问作者Thanasis Mp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:00:06