Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

本ドキュメントは BuzzAd-Benefit SDKのType B(広告リストページの表示)を実装する際に必要な技術情報をまとめた文書です。リストには複数件のネイティブ広告が表示されます。

※ 注意事項

  1. Feedタイプの実装を行う前に、導入ガイドの内容がすべて適用されているかどうかを確認してください。

  2. カスタマイズ可能な項目: 上段のツールバー・広告リスト領域・ヘッダー

...

  1. BABAdViewHolderを引き継ぐclassを作成します。

  2. Interface builderまたはコードを通じてviewを構成します。

    • 留意事項 v1.2.6 以上のバージョンでは以前feed itemの上下左右に設定されていた基本マージンがなくなりました。 以前のバージョンからアップグレートする場合カスタマイズしたAdViewHolder内の上下左右マージンを直接設定する必要があります。

  3. renderAdを作成し view componentと ad property를 bind 합니다. 유저가 적립을 받은지 시간이 얼마 지나지 않아서 리워드가 부여되지 않거나 또는 원래 광고 자체가 리워드를 가지고 있지 않은 경우가 있을 수 있습니다. 따라서 광고 레이아웃 및 바인딩 로직 구성시 rewardText에 대해서 ad.reward > 0 인지 체크해서 리워드를 보여줄지 말지 결정하는 로직이 필요합니다.

  4. (オプション) BABNativeAdViewDelegateを作成し、広告のインプレション・クリック・リワードリクエスト・リワード付与結果・参加完了についてのイベントコールバックを受け取ることができます。(コールバックの定義及び動作は本文書を参照)

Code Block
languageobjective-c
// Objective-C
@interface CustomAdViewHolder: BABAdViewHolder <BABNativeAdViewDelegate>
@end

@implementation CustomAdViewHolder

// 1) Populate your view (example using xib file)
- (void)loadFromNib {
  self.adView = [[NSBundle bundleForClass:[CustomAdViewHolder class]] loadNibNamed:@"CustomAdViewHolder" owner:self options:nil][0];
  self.adView.delegate = self;
  [self addSubview:self.adView];
}

// 2) Bind view with ad
- (void)renderAd:(BABAd *)ad {
  [super renderAd:ad];

  self.titleLabel.text = ad.creative.title;

  // descriptionフィールドがobjcオブジェクトにデフォルトで含まれているためbodyにコンバートして使用
  self.descriptionLabel.text = ad.creative.body;

  [self.iconImageView sd_setImageWithURL:[NSURL URLWithString:ad.creative.iconUrl]];

  if (ad.reward > 0) {
    self.ctaLabel.text = [NSString stringWithFormat:@"+%d %@", (int)ad.reward, ad.creative.callToAction];
    [self.rewardIcon setImage:[UIImage imageNamed:@"point_icon"]];
  } else {
    self.ctaLabel.text = ad.creative.callToAction;
    [self.rewardIcon setImage:nil];
  }

  self.adView.ad = ad;
  self.adView.mediaView = self.mediaView;    
  self.adView.clickableViews = @[self.ctaButton, self.iconImageView];
}

// 3) Handle ad callbacks
- (void)BABNativeAdView:(BABNativeAdView *)adView didImpressAd:(BABAd *)ad {
}

- (void)BABNativeAdView:(BABNativeAdView *)adView didClickAd:(BABAd *)ad {
}

- (void)BABNativeAdView:(BABNativeAdView *)adView willRequestRewardForAd:(BABAd *)ad {
}

- (void)BABNativeAdView:(BABNativeAdView *)adView didRewardForAd:(BABAd *)ad withResult:(BABRewardResult)result {
}

- (void)BABNativeAdView:(BABNativeAdView *)adView didParticipateAd:(BABAd *)ad {
}

@end

...