0

Xamarin.iOS。上诉。Foundation.MonoTouchException:抛出 Objective-C 异常。名称:NSInvalidArgumentException 原因:-[APDImage imageUrl]:无法识别的选择器发送到实例 0x280002420

在此处输入图像描述

class NativeAdDelegate : APDNativeAdLoaderDelegate
{
    NativeAdView _nativeAdView;

    public NativeAdDelegate(NativeAdView nativeAdView) =>
        _nativeAdView = nativeAdView;

    public override void NativeAdLoader(APDNativeAdLoader loader, NSError error) =>
        Console.WriteLine("APDNativeAd DidFailToLoadWithError");

    public override void NativeAdLoader(APDNativeAdLoader loader, NSArray nativeAds) =>
        _nativeAdView.DidLoad(nativeAds.GetItem<APDNativeAd>(0));
}

nativeAds.GetItem(0)

我有标题和描述文本,但我没有图像。我在 nativeAds.GetItem(0).IconImage.ImageUrl 中遇到异常。

4

2 回答 2

0

图片是必需的。否则该属性ImageUrl将返回一个空值,这将导致问题。

public override void DidLoadNativeAds(APDNativeAdLoader loader, APDNativeAd[] nativeAds)
  {
      _nativeAdView.DidLoad(nativeAds[0]);
  }     

有关更多详细信息,您可以参考此处

于 2018-12-10T02:52:27.920 回答
0

APDImage * mainImage - 图像的位图。一个广告对象同时包含图标和图像。必须至少使用这些元素之一。

已弃用的方法。

有关更多详细信息,您可以参考此处

public override void NativeAdLoader(APDNativeAdLoader loader, NSArray nativeAds)
{
    _nativeAdView.DidLoad(nativeAds.GetItem<APDNativeAd>(0));
}

public void DidLoad(APDNativeAd nativeAd)
{
     this.nativeAd = nativeAd;
     UIView view = new UIView();
     view.Frame = new System.Drawing.Rectangle(10, 30, 200, 200);
     view.BackgroundColor = UIColor.FromRGB(96, 36, 36);
     View.AddSubview(view);
     this.nativeAd.AttachToView(view, UIApplication.SharedApplication.Windows[0].RootViewController);
     this.myMediaView.SetNativeAd(this.nativeAd, this);
     View.AddSubview(this.myMediaView); 
}
于 2018-12-11T13:34:02.660 回答