ベストプラクティス - glossom-dev/AdfurikunSDK-Android GitHub Wiki

このページでは、「リワード広告」を基に、実装方法を説明します。
広告タイプによって使用するクラス名は異なりますが、実装手順は概ね同じです。
以下のテーブルを参考に、用語を読み替えて実装してください。

広告種類 クラス名 リスナー名
リワード AdfurikunMovieReward AdfurikunMovieRewardListener
インタースティシャル AdfurikunInter AdfurikunInterListener
アプリ起動時 AdfurikunAppOpenAd AdfurikunAppOpenAdListener
ネイティブ AdfurikunNativeAd AdfurikunNativeAdLoadListener(読込専用)
AdfurikunNativeAdVideoListener(再生専用)
モバイルバナー AdfurikunBanner AdfurikunBannerLoadListener(読込専用)
AdfurikunBannerVideoListener(再生専用)
レクタングル AdfurikunRectangle AdfurikunRectangleLoadListener(読込専用)
AdfurikunRectangleVideoListener(再生専用)

広告読み込み関数について

広告の読み込みには、次の2つの方法が存在します。

読み込み方法 関数 説明
通常 AdfurikunMovieReward.load 通常のロード
タイムアウト有 AdfurikunMovieReward.loadWithTimeout タイムアウト有のロード

広告の取得結果に関するコールバック
AdfurikunMovieRewardListener.onPrepareSuccess
AdfurikunMovieRewardListener.onPrepareFailure
は、必ず引数で設定された時間内に呼び出される
(設定可能な範囲は0.1~60秒)

それぞれには次のようなメリット・デメリットが存在します。

読み込み方法 メリット デメリット
通常 広告の取得に成功しやすい ・広告の取得完了までに時間がかかる場合がある
タイムアウト有 通常よりも短時間で
広告取得できる場合がある
・タイムアウトの設定時間が短すぎると、
 広告の取得に失敗しやすくなる
・優先順位が上位のアドネットワークに在庫があっても、
 取得に時間がかかる場合は下位のアドネットワークが
 再生される場合がある

上記の違いから、それぞれ次のようなケースで使用することを推奨いたします。

読み込み方法 推奨されるケース
通常 広告のロードを開始してから、実際に再生されるまでのラグが許容できるケース
例: 特定のページに遷移したタイミングでロードを開始し、時間を置いてユーザが再生する
タイムアウト有 広告のロード開始から再生まで、ラグを発生させたくないケース
例: ユーザが「広告を再生する』ボタンを押した直後に、広告のロードを開始する

広告読み込みの結果コールバックのタイムアウトについて

load関数で広告のロードを行う場合、取得結果に関するコールバック
(リワード広告の場合はAdfurikunMovieRewardListener.onPrepareSuccess,onPrepareFailure)は、
広告枠に設定されたアドネットワークの数や、各ネットワークの在庫状況によって、
呼び出されるまでに時間がかかることがあります。
そのため、広告の読み込み開始から結果が返ってくるまでに遅延が発生する場合があります。

広告の読み込みを開始してから、指定した秒数以内に必ず結果を確認し、ユーザーに通知する必要がある場合は、
loadWithTimeout関数を使用してください。

Note

アプリ起動時広告のクラスAdfurikunAppOpenAdには、loadWithTimeout関数はありませんが、
load関数の引数でタイムアウトが指定できます。

広告読み込みに失敗した際の対応について

読み込み失敗のコールバック(リワード広告の場合はAdfurikunMovieRewardListener.onPrepareFailure)
が呼ばれた場合、その後再度ロードを試みることで、広告の取得が成功する場合があります。
それでも失敗する場合、広告取得に失敗する場合を参考に原因の調査をお願いいたします。

広告の読み込みを高速化する方法

アプリの起動直後にアドフリくんを初期化する

アプリの起動後すぐに広告を表示したい場合は、動画リワード広告の初期化にある通り実装してください。

アドフリくんサーバーとの通信を省略する

アドフリくんの初期化前に以下の処理を実行すると、広告枠に関する情報がキャッシュに保存されます。
これにより、次回以降のアプリ起動時に広告の取得が高速化されます。

Warning

この機能を使用している場合、アドフリくんの管理画面で広告枠の設定を変更しても、
その変更がアプリに反映されませんので、ご注意ください。

Kotlin
AdfurikunSdk.setEnableStartupCache(isEnable: Boolean)
Java
AdfurikunSdk.setEnableStartupCache(Boolean isEnable)
⚠️ **GitHub.com Fallback** ⚠️