ベストプラクティス - 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)