概要
リワード広告はユーザーが動画広告を最後まで視聴すると、ゲーム内通貨、ライフ、ヒントなどの報酬を提供する全画面動画広告です。主な特徴
- 全画面を占める動画広告
- ユーザーが広告を完全に視聴した場合のみ報酬を提供
- ユーザーが直接広告視聴を選択(例:「動画を見てライフをもらう」ボタン)
- 報酬タイプと数量を設定可能
開発環境ではテストユニットIDを使用してください。
実装方法
リワード広告は2つの方式で実装できます:- クラス方式 -
AdropRewardedAdクラスを直接使用 - Hook方式 -
useAdropRewardedAdHookを使用(推奨)
Hook方式実装(推奨)
React Hookを使用してより簡潔でReactらしい方式で実装できます。基本例
useAdropRewardedAd Hook
Hookを使用すると広告状態を自動的に管理できます。パラメータ
string | null
広告コントロールコンソールで発行された広告ユニットID。
nullを渡すと広告インスタンスが生成されません。戻り値
() => void
広告をリクエストします。
() => void
広告を表示します。
() => void
広告状態を初期化して新しい広告インスタンスを生成します。
boolean
広告がロードされて表示可能な状態かどうか
boolean
広告が画面に表示されたかどうか
boolean
広告が閉じられたかどうか
boolean
ユーザーが報酬を獲得したかどうか
{ type: number, amount: number } | undefined
報酬情報(タイプと数量)
string | undefined
エラーコード(エラー発生時のみ値あり)
boolean
広告インスタンスが準備され使用可能な状態かどうか
boolean
広告がクリックされたかどうか
boolean
広告表示中に戻るボタンが押されたかどうか。Androidのみ。
BrowserTarget | undefined
ロードされた広告のブラウザターゲット設定(
BrowserTarget.EXTERNALまたはBrowserTarget.INTERNAL)クラス方式実装
AdropRewardedAdクラスを直接使用して広告を実装できます。
基本例
AdropRewardedAdクラス
コンストラクタ
string
広告コントロールコンソールで発行された広告ユニットID
プロパティ
string
広告ユニットID(読み取り専用)
boolean
広告がロードされて表示可能な状態かどうか(読み取り専用)
string
ロードされた広告のクリエイティブID(読み取り専用)
string
トランザクションID(読み取り専用)
string
ロードされた広告のキャンペーンID(読み取り専用)
string
ロードされた広告のランディングURL(読み取り専用)
BrowserTarget
ロードされた広告のブラウザターゲット設定(
BrowserTarget.EXTERNALまたはBrowserTarget.INTERNAL)(読み取り専用)AdropListener | undefined
広告イベントを受信するリスナー
メソッド
void
広告をリクエストします。結果はリスナーの
onAdReceivedまたはonAdFailedToReceiveで通知されます。void
広告を表示します。
void
広告リソースを解放します。コンポーネントアンマウント時に呼び出す必要があります。
AdropListenerインターフェース
すべてのコールバックはオプションです。必要なコールバックのみ設定してください。コールバック
void
広告受信に成功したときに呼び出されます。この時点から
show()メソッドで広告を表示できます。void
広告受信に失敗したときに呼び出されます。エラーコードで失敗原因を確認できます。
void
広告が表示され、インプレッション記録が送信されたときに呼び出されます。
void
ユーザーが広告をクリックしたときに呼び出されます。
void
広告画面が表示される直前に呼び出されます。
void
広告画面が完全に表示された後に呼び出されます。
void
広告画面が閉じられる直前に呼び出されます。
void
広告画面が完全に閉じられた後に呼び出されます。次の広告を事前ロードするのに適したタイミングです。
void
広告表示に失敗したときに呼び出されます。エラーコードで失敗原因を確認できます。
void
広告表示中にユーザーが戻るボタンを押したときに呼び出されます。Androidのみ。
リワード専用コールバック
void
ユーザーが広告を最後まで視聴し、報酬を獲得したときに呼び出されます。
type: 広告コントロールコンソールで設定した報酬タイプ(整数値)amount: 広告コントロールコンソールで設定した報酬数量(整数値)
報酬処理
Hook方式での報酬処理
クラス方式での報酬処理
サーバーサイド検証
サーバーで報酬の付与を検証することで、不正行為を防止できます。setServerSideVerificationOptions()を使用して、サーバーサイド検証コールバックに含めるユーザーおよびカスタムデータを渡します。
サーバーでSSVコールバックを受信するには、コンソールの**[管理] > [連携] > リワード広告SSV**でコールバックURLを登録してください。ここで設定した
userIdとcustomDataは、そのURLへ送信される暗号化ペイロードに含まれます。ペイロードの復号と設定方法はリワード広告SSVガイドをご参照ください。セットアップ
ServerSideVerificationOptions
userId(string, optional): サーバーコールバックに送信されるユーザー識別子customData(string, optional): サーバーコールバックに送信されるカスタムデータ
setServerSideVerificationOptions()はload()の前に呼び出す必要があります。オプションはユーザーがリワードを獲得した際にサーバーに送信されます。テスト
テストユニットID
開発中は常にテストユニットIDを使用してください。実際のユニットIDでテストすると無効なトラフィックと見なされアカウントが停止される可能性があります。エラー処理
Hook方式でのエラー処理
クラス方式でのエラー処理
ベストプラクティス
1. 広告を事前ロード
ユーザー体験のために広告を事前にロードしておくことをお勧めします。2. 広告準備状態確認
広告がロードされているか確認してUIを更新します。3. メモリ管理
コンポーネントアンマウント時に広告リソースをクリーンアップします。4. エラーハンドリング
適切なエラー処理でユーザー体験を改善します。完全な例
Hook方式の完全な例
バックフィル広告
バックフィル広告を使用するには、ネイティブプラットフォーム(Android/iOS)にバックフィル依存関係が追加されている必要があります。
関連ドキュメント
インタースティシャル広告
インタースティシャル広告実装ガイド
ポップアップ広告
ポップアップ広告実装ガイド
ネイティブ広告
ネイティブ広告実装ガイド
エラーコード
エラーコードリファレンス