ios Facebook 添加 FBNativeAdView 作为子视图

2024-05-13

我想使用预建视图FBNativeAdView(不想自定义 FBNative 广告)。如link https://developers.facebook.com/docs/reference/ios/current/class/FBNativeAdView/

FBNativeAdView 创建预构建的原生广告模板视图并 管理原生广告。

我确实改变了原生广告样本给出的例子脸书软件开发工具包 https://developers.facebook.com/docs/ios.并添加FBNativeAdView作为 mainView(adUIView) 的子视图。

-(void) nativeAdDidLoad: (FBNativeAd * ) nativeAd 
{
        NSLog(@"Native ad was loaded, constructing native UI...");

        if (self._nativeAd) 
        {
            [self._nativeAd unregisterView];
        }

        self._nativeAd = nativeAd;

        // Here I did add
        FBNativeAdViewAttributes * attributes = [[FBNativeAdViewAttributes alloc] init];
        attributes.backgroundColor = [UIColor whiteColor];
        attributes.titleColor = [UIColor blackColor];

        FBNativeAdView * fbNativeAdView = [FBNativeAdView nativeAdViewWithNativeAd: self._nativeAd withType: FBNativeAdViewTypeGenericHeight300 withAttributes: attributes];
}

那么问题是如何添加fbNativeAdView作为 ParentView 的子视图,因此它应该在父视图中查看。我做到了

[self.adUIView addSubview:fbNativeAdView];

没有成功。

原生广告模板 https://developers.facebook.com/docs/audience-network/ios/nativeadtemplate提供有关如何获取的信息FBNativeAdView from FBNativeAd.但是没有告诉如何使用FBNativeAdView在uiview中。


现在它可以使用添加框架来工作FBNativeAdView as

fbNativeAdView.frame = CGRectMake(0, 0, 320, 120);

现在也原生广告模板 https://developers.facebook.com/docs/audience-network/ios/nativeadtemplate提供有关如何使用的信息FBNativeAdView在uiview中。

可以通过更改其值来自定义广告模板 要素:

- (void)nativeAdDidLoad:(FBNativeAd *)nativeAd 
{
  FBNativeAdViewAttributes *attributes = [[FBNativeAdViewAttributes alloc] init];

  attributes.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1];
  attributes.buttonColor = [UIColor colorWithRed:0.4 green:0.9 blue:0.8 alpha:1];
  attributes.buttonTitleColor = [UIColor whiteColor];

  FBNativeAdView *adView = [FBNativeAdView nativeAdViewWithNativeAd:nativeAd 
      withType:FBNativeAdViewTypeGenericHeight300 withAttributes:attributes];

  [self.view addSubview:adView];

  CGSize size = self.view.bounds.size;
  CGFloat xOffset = size.width / 2 - 160;
  CGFloat yOffset = (size.height > size.width) ? 100 : 20;
  adView.frame = CGRectMake(xOffset, yOffset, 320, 300);

  // Register the native ad view and its view controller with the native ad instance
  [nativeAd registerViewForInteraction:adView withViewController:self];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ios Facebook 添加 FBNativeAdView 作为子视图 的相关文章

随机推荐