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

在.NET 7环境下的MAUI Android应用集成AdMob解决方案求助

.NET 7 MAUI Android集成AdMob适配方案

针对你遇到的Plugin.MauiMTAdmob仅支持.NET6的问题,分享几个可行的适配方案:

方案一:修改原插件源码适配.NET7

  • 克隆插件源码到本地
  • 打开解决方案,将所有项目的目标框架替换为.NET 7(比如把net6.0-android改成net7.0-android)
  • 更新项目依赖的NuGet包到.NET7兼容版本,比如Microsoft.Maui.Controls、Microsoft.Maui.Core等
  • 编译项目,生成自定义NuGet包后,在你的MAUI项目中引用这个本地包
  • 若编译时遇到API变更报错,对照MAUI .NET7的官方文档调整代码,替换过时方法

方案二:手动集成Google Ads Android SDK

直接跳过第三方插件,手动实现AdMob集成:

  • 在项目中安装Xamarin.GooglePlayServices.Ads NuGet包(已兼容.NET7)
  • 在Android项目的AndroidManifest.xml中添加AdMob应用ID和必要权限:
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="你的AdMob应用ID"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
  • 在Android平台代码中初始化MobileAds:
    using Google.Ads.MobileAds;
    
    // 在MainActivity的OnCreate方法中添加
    MobileAds.Initialize(this);
    
  • 按需实现Banner、插屏等广告的加载和展示逻辑,比如Banner广告:
    var bannerView = new AdView(this);
    bannerView.AdUnitId = "你的Banner广告单元ID";
    bannerView.AdSize = AdSize.Banner;
    // 添加到布局中
    var layout = FindViewById<LinearLayout>(Resource.Id.main_layout);
    layout.AddView(bannerView);
    // 加载广告
    var request = new AdRequest.Builder().Build();
    bannerView.LoadAd(request);
    

方案三:选择已兼容.NET7的第三方插件

查找维护活跃、已适配.NET7的MAUI AdMob第三方插件,直接通过NuGet安装使用,这类插件通常会在版本说明中标注支持.NET7。

注意事项

  • 测试阶段务必使用AdMob提供的测试广告ID,避免违反AdMob政策
  • 针对Android 13及以上版本,若需要收集广告ID,需在Manifest中添加android.permission.AD_ID权限
  • 确保AdMob应用ID和广告单元ID配置正确,否则广告无法加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:16:05