Pop(2.0): Popの初期化

BuzzAdBenefitプロダクトのひとつであるPopはBuzzAdBenefit SDK を通じて初期化を行います。

Index


Step 1. BuzzAdBenefit の初期化

Application Classの onCreateに下記コードを追加することを推奨しますが、初回広告リクエストの前であれば自由にコードの位置を決めることができます。

public class App extends Application { @Override public void onCreate() { BuzzAdBenefit.init(this, new BuzzAdBenefitConfig.Builder(context).build()); } }

Step 2. PopConfigの設定

Unit id を設定し、Popアイコンやアイコンの表示位置等の見た目に関わる要素を定めるための設定を行います。カスタマイズ可能な箇所の詳細についてはPopデザインガイドを参照してください。

  • UNIT_ID_POPにBuzzvil担当者を通じて取得したUNIT_ID_POP を代入

下記の内容はPopConfigを通じて設定できる値であり、設定は任意です。設定を行わない場合はデフォルトの設定値が適用されます。下記にて変更する値を設定後、build() 関数を呼び出します。

new PopConfig.Builder(getApplicationContext(), UNIT_ID_POP).build();

 

  • iconResourceId Popアイコンをdrawableにするには下記の設定を行います。この場合ステータスに応じて通常時のアイコンとフィード終了時のアイコンを指定する必要があります。

    <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> // 終了時のアイコン <item android:drawable="@drawable/icon_pop_selected" android:state_selected="true" /> // 通常時のPOPアイコン <item android:drawable="@drawable/icon_pop"/> </selector>
  • POPアイコンのサイズ

    • 56 x 56 dp (mdpi 基準)

    • 224 x 224 px (xxxhdpiまでをサポート・ピクセル基準で最大4倍)

  • rewardReadyIconResourceId Popにて付与可能なポイントがあるときにデフォルトアイコン以外の特別なデザイン(例: コインアイコン)を表示させることができます。iconResourceIdと同様にselectorを使用して作成します。

  • idleTimeInMillis Popアイコンが表示されてから消える前までの時間を変更します。デフォルト値は5秒です。

  • popAdMessageViewClass Popの吹き出し(preview)に広告の内容が表示されるときの吹き出しViewを変更することができます。基本Classでは広告により付与可能なリワードポイントを表示します。カスタムClassにて設定する方法はこちらを参照してください。

  • popArticleMessageViewClass Popの吹き出し(preview)に記事コンテンツの内容が表示される時の吹き出しViewを変更することができます。基本Classではコンテンツのタイトルを表示します。カスタムClassにて設定する方法はこちらを参照してください。

  • popUtilityLayoutHandlerClass フィードを開いた時に下段に表示されるユーティリティ(ショートカット)領域を変更します。基本Classではカメラ・ブラウザ起動・アルバムに移動するよう設定されています。カスタムClassを設定する方法はこちらを参照してください。

  • initialSidePosition(@NonNull final SidePosition initialSidePosition) Popアイコンが表示される最初の位置を設定します。 デフォルト値は SidePosition.Side.RIGHT, 0.6f(画面右側・上から60%の地点)です。

  • initialPopIdleMode(@NonNull PopIdleMode initialPopIdleMode) Popがアイドル状態の際の動作を設定します。5秒間アイコンに対するユーザーの動作(インタラクション)が発生しない場合アイドル状態となり、ここで設定したモードで動作します。デフォルト値は INVISIBLEです。

    • INVISIBLE : 一定時間が経過するとPopアイコンがホーム画面から消えます。再度Popアイコンをアクティブにするには通知バナーをタップするか、画面を一度OFFににしてから再度ONにします。

    • TRANSLUCENT : 一定時間経過後もPopアイコンはホーム画面上から消えず、アクティブ状態のまま半透明になります。半透明の状態になったアイコンはユーザーインタラクション(タップ)が可能です。

  • controlService Service Notificationをカスタマイズする際に使用します。カスタマイズは可能ですが、Buzzvilからのサポートをスムーズに進めるため、できる限りこの部分はデフォルト値のままで使用することを推奨します。詳細については下段のAdvancedを参照してください。

  • feedConfig Popで使用するフィードのconfigを設定します。詳細はStep3にて解説します。

  • popNotificationConfig Popで使用する通知のconfigを設定します。詳細はStep4にて解説します。

  • (オプション) popExitUnitId Popフィードを終了する際に広告を表示する場合のunitId を設定します。

Pop feed終了時に表示する広告およびSDKの設定 任意

PopConfig のうち popExitUnitId を設定すると、Popフィードの終了時(戻るボタンまたはフィード終了ボタンを押した時)に広告を表示します。なお、このUnitを設定しない場合は、Popフィード終了ボタンのタップと同時にそのまま終了します。

Exit広告にノンリワード広告を使用するには下記コードを追加します。

 

Step 3. FeedConfigの設定

Popアイコンをクリックすると、Feed viewがアクティブになります。ここではPopアイコンをクリックした後に表示されるFeed Viewがどのように表示されるかを設定します。先に基本設定を行った上で、必要に応じてカスタマイズを行ってください。(カスタマイズの詳細についてはこちら)
(Feed viewをActivity・Fragmentどちらの方式で開くかは広告タイプやサーバーの設定により決まります)

Step 4. PopNotificationConfigの設定

Popが実行中の間はサービス通知バナーが常時表示されます。この設定は通知バナーの内容を決定するために必要です。下記内容を参考に、アプリのトーン&マナーに合わせて設定を行ってください。

  1. PopNotificationConfig.Builder(@DrawableRes final int smallIconResId) 通知バナーに表示するアイコンを指定します。Notification Icon Design guideにならい、*白アイコンを推奨します。(*注意事項 Adaptive Icon が設定されないようにご注意ください)

  2. colorResId(@ColorRes int colorResId) 通知のアイコン・アプリ名に適用するカラーを設定します。

  3. titleResId(@StringRes int titleResId) タイトルを設定します。

  4. textResId(@StringRes int textResId) 通知の内容を設定します。

  5. notificationId(int notificationId) Android Notification Idを設定します。デフォルト値は5000です。

Step 5. PopConfigをビルド

PopConfig、FeedConfig、PopNotificationConfigを生成後にBenefitを初期化する際、下記のようにpopConfigを設定することができます。Benefit SDK 2.17 よりPopConfigにはfeedConfigの代わりにfeedUnitId を設定するように変更されました。

Benefit SDK 2.17 以上で適用するコード

 

Advanced(応用設定)


Custom Service Notification

デフォルトではPop実行中に常時表示されている通知バナーをユーザーがタップするとPopアイコン(チャットヘッド)を再度画面上に表示します。企画や実装内容によりこの部分についてのカスタマイズが必要となる場合、下記の方法でCustom Service Notificationを設定します。

Step 1. CustomControlService class

  1. PopControlService を継承したclassを生成します。

  2. buildForegroundNotification 関数をオーバーライドします。

  3. (Optional) getPopPendingIntent を通じてタップ時にPop Iconを表示させる機能である PendingIntent を生成することができます。必要に応じてこの機能の代わりに必要な機能をPendingIndentとして使用することができます。

  4. 必要に応じてnotificationChannel を生成し、登録します。

  5. (Optional)RemoteViews, setContent を使用してCustomContolServiceにて使用するViewを登録します。

Step 2. Custom Service Classの登録

PopConfig.controlService(@NonNull Class<? extends PopControlService> popControlServiceClass) を使用してCustom Service Notification を登録することができます。

この場合、PopNotificationConfig は SmallIconRes と NotificationId の2種類のみ設定すれば問題ありません。

Step 3. ManifestにCustomControlServiceを登録