簡易版インフィード広告

ListView と ArrayAdapter を用いた、ビューコンポーネントを使っている場合に簡易に実装が可能です。

簡易版インフィード広告の表示

RFPInstreamAdAdapter を用いて以下の様に実装し、インフィード広告を表示します。

// (1) 必要なパッケージをインポート
import jp.fout.rfp.android.sdk.RFP;
import jp.fout.rfp.android.sdk.instream.ADVSInstreamAdAdapter;

public class MyActivity extends Activity {

    // (2) RFPInstreamAdAdapter の定義
    private RFPInstreamAdAdapter<ArrayAdapter> rfpAdapter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        // (3) RFP SDK の初期化
        RFP.init(this, "YOUR_MEDIA_ID");
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.rowdata, data);

        // (4) インフィード広告を差し込みたい adapter と広告枠Id を設定
        advsAdapter = RFP.createInstreamAdAdapter(this, arrayAdapter, "YOUR_ADSPOT_ID");
        ...
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ...
        listView = (ListView) frameLayout.findViewById(R.id.listView);

        // (5) インフィード広告を差し込みたい list view に adapter を設定
        listView.setAdapter(advsAdapter);
        ...
    }
    ...
    // 媒体様のデータ取得完了を待って
    ...
    // (6) インフィード広告のロードを開始する
    rfpAdapter.loadAd();
}

1リクエストあたりの広告案件数と広告位置配列は、RFP の createInstreamAdAdapter(Context context, T originalAdapter, String adSpotId, int adCount, List<Integer>positions)などのAPIを使ってコントロールすることも出来ます。

簡易版インフィード広告の表示時のイベント取得

インフィード広告を表示する際に、そのイベントを受け取りたい場合があります。

その場合は RFPInstreamAdAdapter に RFPInstreamAdLoadListener をセットします。

RFPInstreamAdAdapter adapter;
RFPInstreamAdLoadListener listener;

//(1) RFPInstreamAdAdapter に listener を設定
adapter.setAdListener(listener);

listener = new RFPInstreamAdLoadListener() {

    //(2)広告のロード開始時
    @Override
    public void instreamAdLoaderDidStartLoadingAd() {
    }
    //(3)広告のロード完了時
    @Override
    public void instreamAdLoaderDidFinishLoadingAds() {
    }
    //(4)広告Viewのメイン画像のロード完了時
    @Override
    public void instreamAdLoaderDidFinishLoadingMainImage(String imageUrl) {
    }
    //(5)広告のロード失敗時
    @Override
    public void instreamAdLoaderDidFailToLoadAdError(String errorString) {
    }
    //(6)広告Viewのロード失敗時
    @Override
    public void instreamAdLoaderDidFailToLoadImageError(String errorString) {
    }
    //(7)広告のクリック処理完了時
    @Override
    public void instreamAdLoaderDidClick(String redirectUrl) {
    }
};

簡易版インフィード広告の追加ロード

ユーザーがサイト下部に到達した際に追加フィードを読み込むような UI の場合に、追加で広告ロードを行うことも可能です。

public void loadMore() {
    // 追加の広告をロードして、広告位置配列をもとにテーブル内の適切な位置に挿入します
    advsAdapter.loadAd();
}

利用可能な簡易版インフィード広告フォーマット

  • 1-1) ThumbnailMiddle
    // The format looks like this
    //  -----------------------------------------------------
    // |             |  name                                 |
    // |   image     |  ad text                              |
    // |             |                                       |
    // |   90x90     |                                       |
    // |             |                                    PR |
    //  -----------------------------------------------------
  • 1-2) ThumbnailSmall
    // The format looks like this
    //  -----------------------------------------------------
    // |  -------    name                                    |
    // | | image |   PR                                      |
    // | | 50x50 |   ad text                                 |
    // | |       |                                           |
    // |  -------                                            |
    //  -----------------------------------------------------
  • 1-3) LandscapePhoto
    // The format looks like this
    //  -----------------------------------------------------
    // |                                                     |
    // |                  ad image                           |
    // |                                                     |
    // | --------------------------------------------------- |
    // |  ad text                                            |
    // |                                                     |
    // |                                                     |
    // |                                                 PR  |
    // |  advertiser name                                    |
    //  -----------------------------------------------------
  • 1-4) PhotoBottom
    // The format looks like this
    //  -----------------------------------------------------
    // |  advertiser name                                    |
    // |  PR                                                 |
    // |  ad text                                            |
    // | --------------------------------------------------- |
    // |                                                     |
    // |                                                     |
    // |                   image                             |
    // |                                                     |
    //  -----------------------------------------------------
  • 1-5) PhotoMiddle
    // The format looks like this
    //  -----------------------------------------------------
    // | name                                                |
    // |                                                  PR |
    // | --------------------------------------------------- |
    // |                                                     |
    // |                                                     |
    // |                      image                          |
    // |                                                     |
    // |                                                     |
    // |                                                     |
    // | --------------------------------------------------- |
    // |  text                                               |
    //  -----------------------------------------------------
  • 1-6) TextOnly
    // The format looks like this
    //  -----------------------------------------------------
    // |  name                                               |
    // |                                                  PR |
    // | --------------------------------------------------- |
    // |                                                     |
    // |             ad text                                 |
    // |                                                     |
    // |                                                     |
    //  -----------------------------------------------------
  • 1-7) WebView

HTML を入稿することで、アプリ内 WebView 上で描画することが出来ます。