โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลเป็นรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทหนึ่งที่ช่วยให้คุณนำเสนอรางวัลสำหรับโฆษณาที่ปรากฏโดยอัตโนมัติระหว่างจุดเปลี่ยนหน้าตามปกติของแอป ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล
ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 19.2.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
การใช้งาน
ขั้นตอนหลักในการผสานรวมโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลมีดังนี้
- โหลดโฆษณา
- ลงทะเบียนสำหรับการเรียกกลับของเหตุการณ์แบบเต็มหน้าจอ
- จัดการการเรียกกลับของรางวัล
- แสดงโฆษณา
โหลดโฆษณา
การโหลดโฆษณาจะทำได้โดยใช้วิธี load()
แบบคงที่ในคลาส
RewardedInterstitialAd
เมธอดโหลดต้องมี Context, รหัสหน่วยโฆษณา, ออบเจ็กต์ AdManagerAdRequest
และ RewardedInterstitialAdLoadCallback
เพื่อรับการแจ้งเตือนเมื่อโหลดโฆษณาสำเร็จหรือไม่สำเร็จ ออบเจ็กต์ RewardedInterstitialAd
ที่โหลดจะระบุเป็นพารามิเตอร์ใน
Callback onRewardedInterstitialAdLoaded()
ตัวอย่างต่อไปนี้แสดงวิธีโหลด RewardedInterstitialAd
ใน
MainActivity
Java
Kotlin
แทนที่ AD_UNIT_ID ด้วยรหัสหน่วยโฆษณา
ลงทะเบียนเพื่อรับการโทรกลับ
หากต้องการรับการแจ้งเตือนสำหรับกิจกรรมการนำเสนอ คุณต้องส่งออบเจ็กต์
FullScreenContentCallback
ไปยังตัวตั้งค่าในโฆษณา ออบเจ็กต์
FullScreenContentCallback
จะจัดการการเรียกกลับเมื่อโฆษณาแสดง
สําเร็จหรือไม่สําเร็จ และเมื่อมีการปิดโฆษณา โค้ดต่อไปนี้
แสดงวิธีตั้งค่าออบเจ็กต์ FullScreenContentCallback
แบบไม่ระบุชื่อภายใน
RewardedInterstitialAdLoadCallback
Java
rewardedInterstitialAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "The ad was dismissed.");
// Make sure to set your reference to null so you don't
// show it a second time.
rewardedInterstitialAd = null;
if (googleMobileAdsConsentManager.canRequestAds()) {
loadRewardedInterstitialAd();
}
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "The ad failed to show.");
// Make sure to set your reference to null so you don't
// show it a second time.
rewardedInterstitialAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "The ad was shown.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "The ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when ad is clicked.
Log.d(TAG, "The ad was clicked.");
}
});
rewardedInterstitialAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "The user earned the reward.");
// Handle the reward.
int rewardAmount = rewardItem.getAmount();
String rewardType = rewardItem.getType();
}
});
}
private void initializeMobileAdsSdk() {
if (isMobileAdsInitializeCalled.getAndSet(true)) {
return;
}
// Set your test devices.
MobileAds.setRequestConfiguration(
new RequestConfiguration.Builder()
.setTestDeviceIds(Arrays.asList(TEST_DEVICE_HASHED_ID))
.build());
new Thread(
() -> {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this, initializationStatus -> {});
// Load an ad on the main thread.
runOnUiThread(() -> loadRewardedInterstitialAd());
})
.start();
}
}
Kotlin
rewardedInterstitialAd?.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.
rewardedInterstitialAd = 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.
rewardedInterstitialAd = 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
rewardedInterstitialAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "The user earned the reward.");
// Handle the reward.
int rewardAmount = rewardItem.getAmount();
String rewardType = rewardItem.getType();
}
});
Kotlin
rewardedInterstitialAd?.show(this) { rewardItem ->
Log.d(TAG, "User earned the reward.")
// Handle the reward.
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
}
ตัวอย่างใน GitHub
ขั้นตอนถัดไป
ดูหัวข้อต่อไปนี้