Skip to content

リワード広告実装のベストプラクティス

Youngdoo Lee edited this page Dec 20, 2023 · 9 revisions

広告視聴によるユーザーへの報酬の付与タイミングについて

報酬の付与は、AdfurikunMovieRewardListenerの

fun onAdClose(data: MovieRewardData)

関数が呼ばれた際にユーザーへ報酬を付与する事を推奨します。

広告読み込みタイミングについて

ネットワーク使用量、広告の効率、読み込みと再生タイミングのアプリケーションの実装内容など、様々なケースを顧慮して3つの広告読み込み方法を選んで実装する必要があります。

広告読み込み方法 実装内容 動作内容  メリット  デメリット  実装ケース
通常の読み込み AdfurikunMovieReward.load() ・load()関数が呼ばれると各アドネットワークへのRequestが順番で発生する
・1回の再生完了後、再度再生するためには毎回load()関数を呼び出す必要がある
・広告が必要なタイミングでRequestが発生する
・必要な分だけネットワークを使用する
・上位アドネットワークからRequestが発生するため広告効率が高い
・広告再生が間に合わないケースがある  ・広告読み込み開始と再生までの時間がかかる場合
・画面に遷移したタイミングで読み込みを行って、ユーザが時間を置いて再生するケース
Timeoutを設定した時の読み込み AdfurikunMovieReward.loadWithTimeout() ・通常の読み込みと同じ動作を行う
・load()関数の結果が必ずTimeout時間内で発生する 
・ネットワーク使用面で優秀
・適切なTimeoutを設定することで広告再生が間に合わないのが発生しない 
・Timeoutが短すぎると広告準備が間に合わないケースがある
・上位アドネットワークに在庫があっても下位アドネットワークが再生されるケースもある
・ユーザにポップアップを表示してボタンを押したタイミングから読み込みが発生するケース

広告読み込みの結果CallbackのTimeoutについて

広告枠情報に設定されている時間情報をベースとして各アドネットワークへのRequestが発生します。それによって、読み込みの結果Callback(onPrepareSuccess, onPrepareFailure)は在庫の状況・設定されているアドネットワークの数などの影響で時間がかかる場合があります。

もし、アプリケーションの動作として、何秒以内に必ず広告の読み込み結果を確認してユーザへの通知を行う場合にはloadWithTimeout(timeout: Float)関数を使ってロードを行なってください。 アプリの方で設定したTimeout以内で必ずCallbackが発生します。設定可能な範囲は1秒から60秒までになります。

アドネットワークへのRequestを最大限抑えることでネットワーク使用量及び広告の効率を考慮したモードです。上記の関数でTimeoutを指定すると各アドネットワークへのRequestが仕様より速く発生する為効率が悪くなる恐れがあります。なお、設定したTimeoutが短すぎると広告取得途中で読み込み失敗だと判断される可能性があります。ですので、onPrepareFailure Callbackが発生した場合でも再度Loadを行うことで広告在庫取得が成功することもあります。

速く広告を取得する方法

アドフリくん初期化タイミングを速くする

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

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

以下コードをアドフリくん初期化前に行う事で、アドフリくんの枠情報を保存して次回以降の広告の取得が早くなります。このコードを使っている間はアドフリくん配信設定を変更しても反映されないので注意してください。

Kotlin
AdfurikunSdk.setEnableStartupCache(isEnable: Boolean)
Java
AdfurikunSdk.setEnableStartupCache(Boolean isEnable)

AdfurikunSDK Android について

SDKの組み込み

広告SDKの実装

その他

トラブルシューティング

Clone this wiki locally