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
- 1 BuzzAd Benefit 2.0 SDK: Type B - Feed
- 1.1 基本設定 Basic Usage
- 1.2 推奨設定 Recommended Usage
- 1.2.1 Feedの広告ステータス確認 推奨
- 1.3 応用設定 Advanced Usage
- 1.3.1 Feedデザインのカスタマイズ
- 1.3.1.1 ツールバーのカスタマイズ 必須
- 1.3.1.2 ツールバーのHeight 変更 任意
- 1.3.1.3 Feedヘッダー領域のカスタマイズ 任意
- 1.3.1.4 Feed内アイテム領域のカスタマイズ 任意
- 1.3.1.5 CtaView(ボタン)のカスタマイズ 任意
- 1.3.1.6 ユーザーフィードバックのカスタマイズ 任意
- 1.3.2 FeedActivityのカスタマイズ(FeedFragmentの使用) 任意
- 1.3.3 プロフィール入力バナーの追加 任意
- 1.3.1 Feedデザインのカスタマイズ
基本設定 Basic Usage
FeedConfig
および FeedHandler
設定 必須
Feed unit idを代入し
FeedConfig
を設定します。FeedConfig
オブジェクトを使用してFeedHandler
を生成します。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] ディスプレイ型広告のみを配信する場合でも、より多くの広告を表示させるためにもこの設定を行うことを推奨します。
推奨設定 Recommended Usage
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を生成する際、下記条件のうちいずれかひとつのみを使用しなければなりません。
各クラスはinner class以外であってはならない
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をつないでください。なお、このカスタマイズは任意であり、必須ではありません。
FeedHeaderViewAdapter
を実装するclass を生成します。FeedConfigのビルド時点で先程作成したFeedHeaderViewAdapter classを指定します。
Feed内アイテム領域のカスタマイズ 任意
Feedの広告リストアイテム領域((上図③)をカスタマイズし、広告イベントに対するコールバックを登録することができます。
AdsAdapter
を継承したclassを実装します。onCreateViewHolder
,onBindViewHolder
を作成し、Feedリストに表示するitemView
のレイアウトおよびバインディングロジックをカスタマイズします。CtaViewの getCtaTextView() および getRewardImageView() 関数を呼び出し CtaViewに表示するテキストおよびリワード画像に対するカスタマイズを行います。(より柔軟なカスタマイズを行うためのViewを新規作成したい場合は下記CtaViewのカスタマイズを参照)
(オプション)
onImpressed
,onClicked
,onRewardRequested
,onRewarded
,onParticipated
をオーバーライドして、広告のインプレッション・クリック・リワードリクエスト・リワード付与結果・参加完了についてのイベントコールバックを受け取ることができます。 (コールバックの定義及び動作の詳細は本ページを参照してください。
FeedConfig
ビルド時点で先程作成したAdsAdapter
class を指定します。
CtaView(ボタン)のカスタマイズ 任意
デフォルトのCtaView(上図④)を使用せず、独自のカスタマイズviewを使用する場合は下記内容を参照してください。
※ CTAViewカスタマイズに関する注意事項
ユーザーがリワード付与を受けてから間もない場合や広告自体にリワードが存在しない場合、広告をクリックしてもリワードが付与されないことがあります。したがって、広告レイアウトを構成する際にAd PropertiesをAssignする過程でrewardImageとrewardTextに対してリワードの有無を確認後にリワードポイントを表示するかどうかを確認するロジックの設定が必要になります。 (下記サンプルコード参照)
ユーザーフィードバックのカスタマイズ 任意
ベースリワードの付与時に表示されるユーザーへのフィードバックをカスタマイズすることができます。
DefaultFeedFeedbackHandler
を継承したクラスを生成します。カスタマイズを行うメソッドをoverrideします。
FeedConfig
を初期化する時に以前のステップで生成したCustomFeedFeedbackHandler
を渡します。
Methods | Description |
---|---|
| ベースリワードの付与時にフィード上段に表示されるnotification view です。 |
| ブリッジポイントを使用するパブリッシャーがベースリワードの付与時に呼び出すコールバックです。 |
FeedActivityのカスタマイズ(FeedFragmentの使用) 任意
デフォルトで提供されるFeedActivityをカスタマイズする場合、FeedFragmentを使用することができます。
FeedFragment の基本的な使用方法
FeedFragmentにおいてもFeedActivityと同じように、FeedHandlerを生成後にpreload()を呼び出して、startFeedActivity()は呼び出さない場合にはPreloadに関する機能をすべて使用することができます。
FeedFragmentにおいてもFeedActivityにて提供されるカスタマイズオプションのうち、ツールバーを除いたAdsAdapterとHeaderについてはをfeedconfigに追加する方式でカスタマイズが可能です。
プロフィール入力バナーの追加 任意
userProfile
が設定されていない場合や userProfile
に生まれ年および性別が設定されていない場合にプロフィール入力を促すバナーを表示させることができます。このバナーをタップするとプロフィール入力画面が開きます。
profileBannerEnabled
プラグを false
に設定すると、プロフィールバナーが非表示になります。(デフォルトは true
です。)