Feed Type(2.0)

BuzzAd Benefit 2.0 SDK: Type B - Feed

このページではBuzzAd Benefit 2 Android SDKの広告タイプのひとつであるFeed Typeを実装する際に必要な情報を確認できます。

Feed Typeは複数件の広告をリスト形式で一覧表示する広告枠です。通常はNative Typeの広告領域に「さらに見る」などの文言が書かれたボタンなどのリンクViewを追加し、そのViewをクリックしたユーザーに対し、別のビューを開く方式で実装します。

※ 注意事項

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

Index


基本設定 Basic Usage


FeedConfig および FeedHandler 設定 必須

  1. Feed unit idを代入し FeedConfigを設定します。

  2. FeedConfig オブジェクトを使用して FeedHandlerを生成します。

  3. startFeedActivity()を呼び出し、Feedアクティビティを実行します。 

final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID").build(); final FeedHandler feedHandler = new FeedHandler(feedConfig); feedHandler.startFeedActivity(this);

autoLoadingEnabled の設定 必須

FeedConfig設定にてautoLoadingEnabled値をtrueに設定すると、Feed画面上のスクロール操作が一定以上行われた場合に広告を自動で読み込むようになります。これによりより多くの広告を表示できるようになります。(ただし、在庫の状況により自動読み込みを設定した場合でも追加の広告がない場合があります)

final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ... // trueに設定することを推奨(下記の設定条件を参照) .autoLoadingEnabled(true) ... .build();

[1] アクション型広告(CPA/CPEなど)を配信する場合はこの設定は必須です。

[2] ディスプレイ型広告のみを配信する場合でも、より多くの広告を表示させるためにもこの設定を行うことを推奨します。


Feedの広告ステータス確認 推奨

基本設定(Basic Usage)の状態ではFeed Activityが実行された時点でstart Feed Activityを呼び出し、広告の読み込みが行われます。しかし場合によってはユーザーに表示できる広告がないこともあり、その場合は空の画面が表示されてしまうことがあります。これを防ぐため、Feed Activityを実行する前にpreload()を呼び出し、onPreloaded()コールバックを呼び出して広告があるかどうかぜ事前に確認後、広告がある場合にだけフィード画面に遷移できるよう設定することをおすすめします。

  • feedHandler.getSize() : フィード(リスト)上に表示する広告件数

  • feedHandler.getTotalReward() : 付与可能なポイントの合計額 

feedHandler.preload(new FeedHandler.FeedPreloadListener() { @Override public void onPreloaded() { int feedAdSize = feedHandler.getSize(); int feedTotalReward = feedHandler.getTotalReward(); } @Override public void onError(AdError error) { // 広告がない場合に呼び出されます。errorを通じてエラー原因を確認可能 } });

 

留意事項

  • preloadした FeedHandler同一のオブジェクトにて startFeedActivity()を呼び出さなければなりません。

    • 注意事項 : 1つの FeedHandler インスタンスにて広告をload/preload した場合、そのインスタンスは引き続き同じ広告を保持します。そのためactivityにてユーザーが離脱しても再度該当のインスタンスに対してstartFeedActivityを行う場合、同じ広告リストを表示します。広告リスト遷移のたびに広告の再読み込みを希望する場合は新たな FeedHandler インスタンスを生成し startFeedActivity()を呼び出す必要があります。

  • FeedHandlerを1回限りのオブジェクトとして生成してpreload機能を使用すると、preloadの読み込み結果を正しく受け取れないことがあります。これはMemory Leakを防ぐためにfeedHandlerに weakReferenceを適用しているためです。FeedHandlerの変数宣言をローカル変数ではなくClass変数にするなど、1回限りではない方式でオブジェクトを生成してください。

応用設定 Advanced Usage

(重要)応用設定に入る前に、基本設定の内容をすべて適用してください。


Feedデザインのカスタマイズ

(重要) フィードをカスタマイズする際の注意事項

  • FeedToolbarHolder, FeedAdsAdapter, FeedHeaderViewAdapter classのcustom classを生成する際、下記条件のうちいずれかひとつのみを使用しなければなりません。

    1. 各クラスはinner class以外であってはならない

    2. inner classで生成しなければならない場合は、public static classとして宣言する

  • 上記条件を満たさない場合classを適用できず、カスタマイズが反映されませんのでご注意ください。

 

  • カスタマイズ可能な項目: 上段のツールバー(1)・ヘッダー(2)・広告リスト領域(3)・CTAView(4)

ツールバーのカスタマイズ 必須

Feed上段のツールバー(上図①)をカスタマイズするには、下記内容を参照してください。

1.FeedToolbarHolderを実装するclassを生成します。

 

2.FeedConfig ビルド時点で該当の FeedToolbarHolder classを指定します。

FeedToolbarHolder.onDestroyView は 2.11.x から追加されました。

ツールバーのHeight 変更 任意

カスタマイズされたツールバーが入るレイアウトのHeight値はデフォルトでは固定となっています。ツールバーのheight値を変更する場合は下記コードを追加してください。

 

Feedヘッダー領域のカスタマイズ 任意

Feed上段のヘッダー領域(上図②)をカスタマイズすることで、フィードページの役割についてユーザーに知らせることができます。企画内容に応じて、onBindViewで任意のViewをつないでください。なお、このカスタマイズは任意であり、必須ではありません。

  1. FeedHeaderViewAdapter を実装するclass を生成します。

     

     

  2. FeedConfigのビルド時点で先程作成したFeedHeaderViewAdapter classを指定します。

     

 

Feed内アイテム領域のカスタマイズ 任意

Feedの広告リストアイテム領域((上図③)をカスタマイズし、広告イベントに対するコールバックを登録することができます。

  1. AdsAdapter を継承したclassを実装します。

    1. onCreateViewHolderonBindViewHolder を作成し、Feedリストに表示する itemView のレイアウトおよびバインディングロジックをカスタマイズします。

    2. CtaViewの getCtaTextView() および getRewardImageView() 関数を呼び出し CtaViewに表示するテキストおよびリワード画像に対するカスタマイズを行います。(より柔軟なカスタマイズを行うためのViewを新規作成したい場合は下記CtaViewのカスタマイズを参照)

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

  2. FeedConfig ビルド時点で先程作成したAdsAdapter class を指定します。

 

CtaView(ボタン)のカスタマイズ 任意

デフォルトのCtaView(上図④)を使用せず、独自のカスタマイズviewを使用する場合は下記内容を参照してください。 

 

※ CTAViewカスタマイズに関する注意事項

ユーザーがリワード付与を受けてから間もない場合や広告自体にリワードが存在しない場合、広告をクリックしてもリワードが付与されないことがあります。したがって、広告レイアウトを構成する際にAd PropertiesをAssignする過程でrewardImageとrewardTextに対してリワードの有無を確認後にリワードポイントを表示するかどうかを確認するロジックの設定が必要になります。 (下記サンプルコード参照)

ユーザーフィードバックのカスタマイズ 任意

ベースリワードの付与時に表示されるユーザーへのフィードバックをカスタマイズすることができます。

  1. DefaultFeedFeedbackHandlerを継承したクラスを生成します。

  2. カスタマイズを行うメソッドをoverrideします。

  3. FeedConfigを初期化する時に以前のステップで生成したCustom FeedFeedbackHandlerを渡します。

Methods

Description

Methods

Description

getBaseRewardNotificationView

ベースリワードの付与時にフィード上段に表示されるnotification view です。

onBridgePointBaseRewardReceived

ブリッジポイントを使用するパブリッシャーがベースリワードの付与時に呼び出すコールバックです。

FeedActivityのカスタマイズ(FeedFragmentの使用) 任意

デフォルトで提供されるFeedActivityをカスタマイズする場合、FeedFragmentを使用することができます。

  • FeedFragment の基本的な使用方法

     

     

  • FeedFragmentにおいてもFeedActivityと同じように、FeedHandlerを生成後にpreload()を呼び出して、startFeedActivity()は呼び出さない場合にはPreloadに関する機能をすべて使用することができます。

  • FeedFragmentにおいてもFeedActivityにて提供されるカスタマイズオプションのうち、ツールバーを除いたAdsAdapterとHeaderについてはをfeedconfigに追加する方式でカスタマイズが可能です。 

プロフィール入力バナーの追加 任意

userProfileが設定されていない場合や userProfileに生まれ年および性別が設定されていない場合にプロフィール入力を促すバナーを表示させることができます。このバナーをタップするとプロフィール入力画面が開きます。

 

profileBannerEnabled プラグを falseに設定すると、プロフィールバナーが非表示になります。(デフォルトは trueです。)