Skip to content

インフィード広告実装方法

ren.fujii edited this page Mar 4, 2024 · 9 revisions

インフィード広告

この実装方法ではアドフリくんSDK 3.3.0から追加されたネイティブ広告をベースに説明をしています。 インフィード広告のタイプによって使われるObject名、Listener名が違うだけで全体的な実装方法は同じですので、次のテーブルを参考にして差し替えて実装してください。

広告種類 Class名 Listener名 広告情報Class名
ネイティブ AdfurikunNativeAd AdfurikunNativeAdLoadListener(読込専用)
AdfurikunNativeAdVideoListener(再生専用)
AdfurikunNativeAdInfo
モバイルバナー AdfurikunBanner AdfurikunBannerLoadListener(読込専用)
AdfurikunBannerVideoListener(再生専用)
AdfurikunBannerAdInfo
レクタングル AdfurikunRectangle AdfurikunRectangleLoadListener(読込専用)
AdfurikunRectangleVideoListener(再生専用)
AdfurikunRectangleAdInfo

実装準備

プロジェクトにSDKを追加していない場合、以下のいずれかの方法でSDKを追加してください。

インフィード広告の初期化

AdfurikunNativeAd クラスのインスタンスを生成します。
“アドフリくん管理画面で発行された広告枠 ID” 、広告を表示するActivityを引数に指定して下さい。
getNativeAdViewで広告ビューを取得し、画面に貼り付けて下さい。
AdfurikunNativeAd インスタンスの内部状態はActivityのライフサイクルに合わせて管理する為、それぞれのライフサイクルに合わせて関数を実装して下さい。

Kotlin
//AdfurikunNativeAd インスタンス変数を定義
private var mNativeAd: AdfurikunNativeAd? = null
//ロードリスナーを定義
private val mLoadListener = object : AdfurikunNativeAdLoadListener {
    override fun onNativeAdLoadFinish(adInfo: AdfurikunNativeAdInfo?, appId: String?) {
        //ロード成功時に呼ばれます
    }

    override fun onNativeAdLoadError(error: AdfurikunMovieError?, appId: String?) {
        //ロード失敗時に呼ばれます
    }
}
//広告リスナーを定義
private val mVideoListener = object : AdfurikunNativeAdVideoListener {
    override fun onNativeAdViewPlayStart(appId: String?) {
        //広告の再生が開始された場合にメインスレッドでコールバックされます
    }

    override fun onNativeAdViewPlayFinish(appId: String?, isVideoAd: Boolean) {
        // 広告の再生が完了した場合にメインスレッドでコールバックされます
    }

    override fun onNativeAdViewPlayFail(appId: String?, error: AdfurikunMovieError?) {
        // 広告の再生に失敗した場合にメインスレッドでコールバックされます
    }

    override fun onNativeAdViewClicked(appId: String?) {
        // 広告がクリックされた場合にメインスレッドでコールバックされます
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // 広告枠ID・Activityを指定し、インフィード広告のインスタンスを生成
    mNativeAd = AdfurikunNativeAd(this, 広告枠ID, 320, 180)
    // 読み込み通知リスナーをセット
    mNativeAd.setAdfurikunNativeAdLoadListener(mLoadListener)
    // 再生通知リスナーをセット
    mNativeAd.setAdfurikunNativeAdVideoListener(mVideoListener)
    // ネイティブ広告ビューを貼る
    containerView.addView(mNativeAd.getNativeAdView())
}

override fun onDestroy() {
    mNativeAd?.remove()
    super.onDestory()
}
Java
//AdfurikunNativeAd インスタンス変数を定義
AdfurikunNativeAd mNativeAd;
//ロードリスナーを定義
AdfurikunNativeAdLoadListener mListener = new AdfurikunNativeAdLoadListener() {
    @Override
    public void onNativeAdLoadFinish(AdfurikunNativeAdInfo adInfo, String appId) {
        //ロード成功時に呼ばれます
    }
    @Override
    public void onNativeAdLoadError(AdfurikunMovieError errorObject, String appId) {
        //ロード失敗時に呼ばれます
    }
}
//広告リスナーを定義
AdfurikunNativeAdVideoListener mVideoListener = new AdfurikunNativeAdVideoListener() {
    @Override
    public void onNativeAdViewPlayStart(String appId) {
        //広告の再生が開始された場合にメインスレッドでコールバックされます
    }

    @Override
    public void onNativeAdViewPlayFinish(String appId, boolean isVideoAd) {
        // 広告の再生が完了した場合にメインスレッドでコールバックされます
    }

    @Override
    public void onNativeAdViewPlayFail(String appId, AdfurikunMovieError error) {
        // 広告の再生に失敗した場合にメインスレッドでコールバックされます
    }

    @Override
    public void onNativeAdViewClicked(String appId) {
        // 広告がクリックされた場合にメインスレッドでコールバックされます
    }
}

@Override
protected void onCreate(Bundle bundle) {
    // 広告枠ID・Activityを指定し、インフィード広告のインスタンスを生成
    mNativeAd = new AdfurikunNativeAd(this, 広告枠ID, 320, 180);
    // 読み込み通知リスナーをセット
    mNativeAd.setAdfurikunNativeAdLoadListener(mLoadListener);
    // 再生通知リスナーをセット
    mNativeAd.setAdfurikunNativeAdVideoListener(mVideoListener);
    // ネイティブ広告ビューを貼る
    containerView.addView(mNativeAd.getNativeAdView());
}

@Override
protected void onDestroy() {
    mNativeAd.remove();
    super.onDestroy();
}

インフィード広告のロード

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

Kotlin
mNativeAd.load()
Java
mNativeAd.load();

インフィード広告の表示

isPreparedメソッドで広告準備が完了したかを確認し、playメソッドで広告を表示します。

Kotlin
if ( mNativeAd.isPrepared ) {
    // 再生開始
    mNativeAd.play()
}
Java
if ( mNativeAd.isPrepared ) {
    // 再生開始。
    mNativeAd.play();
}

・再生準備が完了したアドネットワークの中から、1つ動画が選択されます。
・再生が完了(あるいは失敗)したアドネットワークは、自動的に次の動画読み込みが行われます。

AdfurikunSDK Android について

SDKの組み込み

広告SDKの実装

その他

トラブルシューティング

Clone this wiki locally