-
Notifications
You must be signed in to change notification settings - Fork 0
インフィード広告実装方法
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つ動画が選択されます。
・再生が完了(あるいは失敗)したアドネットワークは、自動的に次の動画読み込みが行われます。
- リワード広告
- インタースティシャル広告
- インフィード広告
- カルーセル広告
- アプリ起動時広告
- 共通
- AdMobメディエーション