我需要在Xamarin.Forms中实现原生广告。但我在Xamarin.Forms上找不到任何例子。也许有人有一个在Xamarin.Forms上使用原生广告的例子,并可以分享。
我正在尝试做的例子:
Android:
[assembly: Dependency(typeof(NativeAd))]
namespace Ads.Droid.Platform.Renderers.Ad
{
public class NativeAd : AdListener, INativeAd
{
Context context = Android.App.Application.Context;
NativeExpressAdView mAdView;
public void Show()
{
var videoOptions = new VideoOptions.Builder().SetStartMuted(false).Build();
var adOptions = new NativeAdOptions.Builder().SetVideoOptions(videoOptions).Build();
AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110").WithNativeAdOptions(adOptions).Build();
var request = new AdRequest.Builder();
foreach (var item in TestDevice.GetTestDevices())
request.AddTestDevice(item);
adLoader.LoadAd(request.Build());
}
}
}或者:
[assembly: Dependency(typeof(NativeAd))]
namespace Ads.Droid.Platform.Renderers.Ad
{
public class NativeAd : AdListener, INativeAd
{
NativeExpressAdView mAdView;
public void Show()
{
mAdView = new NativeExpressAdView(Android.App.Application.Context)
{
AdUnitId = "ca-app-pub-3940256099942544/2247696110",
AdSize = AdSize.MediumRectangle
};
var request = new AdRequest.Builder();
foreach (var item in TestDevice.GetTestDevices())
request.AddTestDevice(item);
mAdView.LoadAd(request.Build());
}
}
}在iOS中没有做到这一点,但我还需要一个例子。也许有些东西需要改变或完成。请帮帮我。
发布于 2018-10-04 14:06:05
您也可以在iOS中使用GoogleMobileAds。重要信息:来自NuGet的Xamarin.Firebase.iOS.AdMob包。
AppDelegate.cs中的
...
using Google.MobileAds;
...
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
. . .
MobileAds.Configure("ca-app-pub-3940256099942544/2247696110 ");
. . .
} iOS依赖项中的
[assembly: Xamarin.Forms.Dependency(typeof(NativeiOSAd))]
namespace XXX.iOS
{
public class NativeiOSAd:NativeAd
{
NativeExpressAdView mAdView;
public NativeiOSAd()
{
}
public void Show()
{
AdSize adSize = new AdSize();
adSize.Size = new CGSize(UIScreen.MainScreen.Bounds.Size.Width, 100);
mAdView = new NativeExpressAdView(adSize)
{
AdUnitID = "ca-app-pub-3940256099942544/2247696110"
};
Request request = Request.GetDefaultRequest();
mAdView.LoadRequest(request);
}
}
}不要忘记将NSAllowsArbitraryLoads、NSAllowsArbitraryLoadsForMedia和NSAllowsArbitraryLoadsInWebContent异常添加到应用程序的Info.plist文件中,以禁用自动测试限制。

https://stackoverflow.com/questions/52624172
复制相似问题