Собственная реклама Xamarin.iOS Admob — Adloader.Delegate NULL
Я пытаюсь внедрить нативную рекламу в свое приложение Xamarin.ios. Мой Adloader.delegate всегда нулевой, и я не могу понять, как это решить.
Выходные данные приложения говорят: "Делегат не соответствует требуемому протоколу, GADNativeAdLoaderDelegate".
Используемый мной пакет nuget: Xamarin.Google.ios.MobileAds.
Это мой код:
public ExploreController (IntPtr handle) : base (handle)
{
adLoader = new AdLoader(
"ca-app-pub-3940256099942544/3986624511",
this,
new AdLoaderAdType[] { AdLoaderAdType.Native },
new AdLoaderOptions[] { new AdLoaderOptions() })
{ Delegate = new MyAdLoaderDelegate() };
adLoader.LoadRequest(Request.GetDefaultRequest());
}
public class MyAdLoaderDelegate : NSObject, IUnifiedNativeAdLoaderDelegate
{
public MyAdLoaderDelegate()
{
}
public void DidReceiveUnifiedNativeAd(AdLoader adLoader, NativeAd nativeAd)
{
Debug.WriteLine("DidReceiveUnifiedNativeAd");
}
public void DidFailToReceiveAd(AdLoader adLoader, NSError error)
{
Debug.WriteLine("DidFailToReceiveAd");
//base.DidFailToReceiveAd(adLoader, error);
}
public void DidFinishLoading(AdLoader adLoader)
{
Debug.WriteLine("DidFinishLoading");
//base.DidFinishLoading(adLoader);
}
}
ОБНОВИТЬ:
Я изменил IUnifiedNativeAdLoaderDelegate на UnifiedNativeAdLoaderDelegate и попытался переопределить методы, но все равно получил тот же результат:
public class MyAdLoaderDelegate : UnifiedNativeAdLoaderDelegate
{
public override void DidFailToReceiveAd(AdLoader adLoader, NSError error)
{
base.DidFailToReceiveAd(adLoader, error);
}
public override void DidFinishLoading(AdLoader adLoader)
{
base.DidFinishLoading(adLoader);
}
public override void DidReceiveUnifiedNativeAd(AdLoader adLoader, NativeAd nativeAd)
{
throw new NotImplementedException();
}
}