リワード広告では、動画広告、体験プレイ広告、アンケートを操作したユーザーに報酬としてアプリ内アイテムを進呈できます。詳しくは、リワード広告ユニットの概要をご覧ください。
このガイドでは、React Native アプリにリワード広告を組み込む方法について説明します。
前提条件
先に進む前に、次のことを実施してください。
- Google Mobile Ads SDK for React Native を設定します。
- テスト広告を有効にして、次のテスト広告ユニットを使用します。
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
広告を読み込む
リワード広告を読み込むには、RewardedAd クラスの load メソッドを呼び出します。
次の例では、成功した場合はリワード広告を読み込み、失敗した場合はエラーをログに記録します。
export async function loadRewardedAd(
adUnitId: string,
): Promise<RewardedAd | null> {
try {
const ad = await RewardedAd.load({adUnitId});
return ad;
} catch (error) {
const loadError = error as LoadAdError;
console.error('Failed to load rewarded ad:', loadError.message);
return null;
}
}
広告イベントをリッスンする
広告を表示する前に、読み込まれた RewardedAd インスタンスに adEventCallback リスナーを設定します。このリスナーは、広告が画面に表示されたときや、ユーザーが広告をタップしたときなど、広告のライフサイクル イベントのコールバックを受け取ります。使用可能なコールバックについては、AdEventCallback をご覧ください。
次の例では、広告イベントをリッスンするコールバックを設定しています。
export function registerAdEvents(ad: RewardedAd) {
ad.adEventCallback = {
// Called when the ad is presented on screen.
onAdShowedFullScreenContent: () => {
console.log('Rewarded ad showed full screen content.');
},
// Called when the ad is closed by the user.
onAdDismissedFullScreenContent: () => {
console.log('Rewarded ad dismissed full screen content.');
ad.destroy();
},
// Called when presentation fails.
onAdFailedToShowFullScreenContent: (error) => {
console.error('Failed to show rewarded ad:', error);
ad.destroy();
},
// Called when an impression is recorded.
onAdImpression: () => {
console.log('Rewarded ad recorded an impression.');
},
// Called when the user taps the ad.
onAdClicked: () => {
console.log('Rewarded ad was clicked.');
},
// Called when the ad is estimated to have earned money.
onAdPaid: (adValue) => {
console.log(
`Rewarded ad paid: ${adValue.amountMicros} ${adValue.currencyCode}`,
);
},
};
}
この例では、ユーザーが広告を閉じたときや、広告の表示に失敗したときにも、destroy メソッドを呼び出しています。このプロセスにより、広告で使用されたリソースが解放されます。
広告を表示する
リワード広告を表示するには、ユーザーが獲得した報酬を処理するコールバックを指定して show メソッドを呼び出します。
export function showRewardedAd(
ad: RewardedAd,
onRewardEarned: (reward: Reward) => void,
) {
ad.show(onRewardEarned);
}
任意: サーバーサイド認証コールバックを検証する
サーバーサイド認証(SSV)コールバックで、ユーザー ID やカスタム リワード メタデータなどのカスタム認証パラメータがアプリで必要な場合は、広告を表示する前に、読み込まれた広告インスタンスに serverSideVerificationOptions プロパティを設定します。
設定した値は、SSV コールバックのクエリ パラメータに渡されます。
userId:user_idクエリ パラメータに渡され、ユーザーを識別します。customData: カスタム メタデータを転送するためにcustom_dataクエリ パラメータに渡します。
次の例では、広告を表示する前に、リワード広告オブジェクトに ServerSideVerificationOptions(customData と userId)を設定しています。
サンプル全体を表示する
このセクションでは、リワード広告を React Native アプリに統合する完全な例について説明します。
次の例では、広告を React Native コンポーネントに統合し、広告インスタンスを状態管理して、広告を読み込んで表示するコントロールを提供しています。
次のステップ
リワード広告を統合したら、次のトピックをご覧ください。