カルーセル実装方法 - glossom-dev/AdfurikunSDK-Android GitHub Wiki

カルーセル広告

カルーセル広告の初期化

AdfurikunCarouselクラスのインスタンスを生成します。
広告枠IDには、アドフリくん管理画面で発行された広告枠IDをセットします。
その後setAdfurikunAppOpenAdListenerを呼び出し、引数として後述のリスナーを渡します。
さらにgetNativeAdViewで広告ビューを取得し、画面に貼り付けます。

Kotlin
//AdfurikunCarousel インスタンス変数を定義
private var mCarousel: AdfurikunCarousel? = null

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val appIds = ArrayList<String>()
    appIds.add("広告枠ID")
    appIds.add("広告枠ID")
    //...
    
    // 広告枠ID・Activity指定し、カルーセル広告のインスタンスを生成
    mCarousel = AdfurikunCarousel(this, appIds)
    // 読み込み通知リスナーをセット
    mCarousel.setAdfurikunCarouselListener(mListener)
    // ネイティブ広告ビューを貼る
    containerView.addView(mCarousel.getCarouselView())
}
Java
//AdfurikunCarousel インスタンス変数を定義
AdfurikunCarousel mCarousel;

@Override
protected void onCreate(Bundle bundle) {
    final ArrayList<String> appIds = new ArrayList<>();
    appIds.add("広告枠ID");
    appIds.add("広告枠ID");
    //...
        
    // 広告枠ID・Activity指定し、カルーセル広告のインスタンスを生成
    mCarousel = new AdfurikunCarousel(this, appIds);
    // 読み込み通知リスナーをセット
    mCarousel.setAdfurikunCarouselListener(mListener);
    // ネイティブ広告ビューを貼る
    containerView.addView(mCarousel.getCarouselView());
}

@Override
protected void onResume() {
    super.onResume();
    mCarousel.onResume();
}

@Override
protected void onPause() {
    mCarousel.onPause();
    super.onPause();
}

リスナーの実装

Kotlin
private val mListener = object : AdfurikunCarouselListener {
  override fun onCarouselLoadFinish() {
        // 広告の開始が可能になりました。
        // 状態をフラグなどで管理してください
  }

  override fun onCarouselLoadError(errorObject: AdfurikunMovieError?) {
        // 広告の読み込みが失敗になりました。
        // もう一度広告の読み込みしてください。
  }
    
  override fun onCarouselImpression(appId: String?, adnwKey: String?, position: String?) {
        // 広告が表示されました。
  }

  override fun onCarouselViewShowFail(appId: String?, error: AdfurikunMovieError?, adnwKey: String?, position: String?) {
        // 広告の表示に失敗しました。
        // 開始時にネットワークへ接続していない場合も、失敗として通知します。
  }

  override fun onCarouselViewClicked(appId: String?, adnwKey: String?, position: String?) {
        // 開始した広告をクリックすると発生します。
  }
}
Java
AdfurikunCarouselListener mListener = new AdfurikunCarouselListener() {
  @Override
  public void onCarouselLoadFinish() {
    // 広告の開始が可能になりました。
    // 状態をフラグなどで管理してください
  }

  @Override
  public void onCarouselLoadError(AdfurikunMovieError errorObject) {
    // 広告の読み込みが失敗になりました。
    // もう一度広告の読み込みしてください。
  }

  @Override
  public void onCarouselImpression(String appId, String adnwKey, String position){
    // 広告の開始します。
  }

  @Override
  public void onCarouselViewShowFail(String appId, AdfurikunMovieError error, String adnwKey, String position){
    // 広告の開始が失敗しました。
    // 開始時にネットワークへ接続していない場合も、失敗として通知します。
  }

  @Override
  public void onCarouselViewClicked(String appId, String adnwKey, String position){
    // 開始した広告をクリックすると発生します。
  }
}

カルーセル広告のロード

loadメソッドを呼ぶことで各アドネットワークへの表示準備を開始します。

Kotlin
mCarousel.load()
Java
mCarousel.load();

カルーセル広告の表示

isPreparedメソッドで広告準備が完了したかを確認し、playメソッドで広告を表示します。
再生準備が完了したアドネットワークの中から、1つ広告が選択されます。
再生が完了(あるいは失敗)したアドネットワークは、自動的に次の広告の準備が行われます。

Kotlin
mCarousel.play()
Java
mCarousel.play();

生成したインスタンスの破棄

Kotlin
override fun onDestroy() {
    mCarousel?.onDestroy()
    super.onDestroy()
}
Java
@Override
protected void onDestroy() {
    mCarousel.onDestroy();
    super.onDestroy();
}
⚠️ **GitHub.com Fallback** ⚠️