如何将 Google Admob 集成到 .NET MAUI 应用程序中?

F A*_*rei 5 admob maui maui-blazor

我在 Android 上有一个 MAUI Blazor 应用程序,我想在其上使用 Google 广告。到目前为止,我找不到办法做到这一点。

我发现一些解决方案涉及使用 MauiMTAdmob 插件,但它对我不起作用。我遇到了很多错误,之后我什至无法从项目中卸载 nuget 包。

有人设法在最新版本的 MAUI 上使用 Admob 吗?

MAUI 上有对 admob 的官方支持吗?未来还会有吗?

小智 1

  • 搜索“maui admob”并添加 Nuget 包 按照自述文件中提供的说明进行操作

  • 在 MauiProgram 中添加 .UseMauiMTAdmob() 到构建器

  • 您需要重写 Android MainApplication 以添加 OnCreate 方法并重写 iOS AppDelegate 以添加 FinishedLaunching 在这两个重写方法中,您需要添加适当的初始化代码(见下文)

  • Android的manifest和iOS的plist都需要添加appid

  • 在 App.xaml.cs App() 方法中添加

    CrossMauiMTAdmob.Current.UserPersonalizedAds = true; CrossMauiMTAdmob.Current.ComplyWithFamilyPolicies = true; CrossMauiMTAdmob.Current.UseRestrictedDataProcessing = true; CrossMauiMTAdmob.Current.AdsId = testAdUnitId;

安卓初始化代码

public override void OnCreate()
    {
        base.OnCreate();
        MobileAds.Initialize(this);
    }
Run Code Online (Sandbox Code Playgroud)

iOS 初始化代码

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
    MobileAds.SharedInstance.Start(CompletionHandler);

    return base.FinishedLaunching(application, launchOptions);
}

private void CompletionHandler(InitializationStatus status) { }
Run Code Online (Sandbox Code Playgroud)

我还没有弄清楚如何使广告仅加载到一个视图或剃刀页面上。必须使用 xaml 加载它。