始める前に
先に進む前に、次のことを実施してください。
- Google Mobile Ads SDK (Legacy) を設定します。
- テスト用のリワード広告ユニット ID
ca-app-pub-3940256099942544/5224354917を使用します。- アプリの開発とテストでは、配信中の実際の広告ではなく、必ずテスト広告を使用してください。テスト広告ユニット ID を使用しない場合、Google はアカウントを一時停止することがあります。
- アプリを公開する前に、この ID を広告ユニット ID に置き換えてください。
- Google Mobile Ads SDK (Legacy) のテスト広告について詳しくは、テスト広告を有効にするをご覧ください。
リワード広告のオブジェクトを読み込む
リワード広告を読み込むには、RewardedAd クラスの静的 load メソッドを呼び出して RewardedAdLoadCallback を渡します。通常、これは Activity の onCreate メソッドで行います。他の形式の読み込みコールバックと同様に、RewardedAdLoadCallback では LoadAdError を利用して、再現性優先のエラーの詳細が提供されます。
Java
Kotlin
AD_UNIT_ID は、実際の広告ユニット ID に置き換えてください。
FullScreenContentCallback を設定する
FullScreenContentCallback は、RewardedAd の表示に関連するイベントを処理します。RewardedAd を表示する前に、コールバックを以下のように設定してください。
Java
rewardedAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.");
}
});
Kotlin
rewardedAd?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
広告を表示する
リワード広告を表示する際は、OnUserEarnedRewardListener オブジェクトを使用してリワード イベントを処理します。
Java
rewardedAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "User earned the reward.");
// Handle the reward.
}
});
Kotlin
rewardedAd?.show(
this,
OnUserEarnedRewardListener { rewardItem ->
Log.d(TAG, "User earned the reward.")
// Handle the reward.
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
},
)
Google が配信する広告の場合、Google Mobile Ads SDK (Legacy) は onAdDismissedFullScreenContent メソッドの前に onUserEarnedReward メソッドを呼び出します。AdMob メディエーションで配信される広告の場合、第三者の広告のソースによってコールバックの順序が決まります。リワード情報を含む単一のクローズ コールバックを提供する広告ソースの場合、メディエーション アダプタは、onAdDismissedFullScreenContent メソッドの前に onUserEarnedReward メソッドを呼び出します。詳しくは、AdMob メディエーションを設定するをご覧ください。
任意: サーバーサイド認証(SSV)コールバックを検証する
サーバーサイド認証コールバックで追加データを必要とするアプリでは、リワード広告のカスタムデータ機能を使用してください。リワード広告オブジェクトに設定されている文字列値はすべて、SSV コールバックの custom_data クエリ パラメータに受け渡されます。カスタムデータ値が設定されていない場合、SSV コールバックは custom_data クエリ パラメータ値を持ちません。
次のコード例は、広告をリクエストする前に、リワード広告オブジェクトにカスタムデータを設定する方法を示したものです。
Java
Kotlin
SAMPLE_CUSTOM_DATA_STRING は、実際のカスタムデータに置き換えてください。
カスタム リワード文字列を設定する場合は、広告を表示する前に行う必要があります。
GitHub の例
次のステップ
次のトピックについて確認します。