ก่อนเริ่มต้น
ก่อนดำเนินการต่อ ให้ทำดังนี้
- ตั้งค่า Google Mobile Ads SDK (Legacy)
- ใช้รหัสหน่วยโฆษณาที่มีการให้รางวัลทดสอบ
ca-app-pub-3940256099942544/5224354917- เมื่อสร้างและทดสอบแอป โปรดตรวจสอบว่าคุณใช้โฆษณาทดสอบแทนโฆษณาจริงที่ใช้งานอยู่ หากคุณไม่ใช้รหัสหน่วยโฆษณาทดสอบ Google อาจ ระงับบัญชีของคุณ
- ก่อนเผยแพร่แอป ให้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณา
- ดูรายละเอียดเกี่ยวกับGoogle Mobile Ads SDK (Legacy)โฆษณาทดสอบได้ที่ เปิดใช้โฆษณาทดสอบ
โหลดออบเจ็กต์โฆษณาที่มีการให้รางวัล
ระบบจะโหลดโฆษณาที่มีการให้รางวัลโดยการเรียกใช้เมธอด load แบบคงที่ในคลาส
RewardedAd และส่ง RewardedAdLoadCallback โดยปกติแล้ว การดำเนินการนี้จะทำในเมธอด onCreate ของ Activity
โปรดทราบว่าเช่นเดียวกับแฮนเดิลการโหลดรูปแบบอื่นๆ RewardedAdLoadCallback ใช้ LoadAdError เพื่อให้รายละเอียดข้อผิดพลาดที่มีคุณภาพสูงขึ้น
Java
Kotlin
แทนที่ AD_UNIT_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) จะเรียกใช้เมธอด
onUserEarnedReward
ก่อนเมธอด
onAdDismissedFullScreenContent
สำหรับโฆษณาที่แสดงด้วยสื่อกลาง AdMob แหล่งที่มาของโฆษณาบุคคลที่สาม
จะเป็นตัวกำหนดลำดับการเรียกกลับ สำหรับแหล่งที่มาของโฆษณาที่ให้การเรียกกลับแบบปิดครั้งเดียวพร้อมข้อมูลรางวัล อะแดปเตอร์สื่อกลางจะเรียกใช้เมธอด onUserEarnedReward ก่อนเมธอด onAdDismissedFullScreenContent โปรดดูรายละเอียดที่หัวข้อ
ตั้งค่าสื่อกลาง AdMob
ไม่บังคับ: ตรวจสอบความถูกต้องของ SSV Callback
แอปที่ต้องการข้อมูลเพิ่มเติมใน SSV
Callback ควรใช้ฟีเจอร์ข้อมูลที่กำหนดเองของโฆษณาที่มีการให้รางวัล ค่าสตริงที่ตั้งค่าไว้ในออบเจ็กต์โฆษณาที่มีการให้รางวัลจะส่งไปยังพารามิเตอร์การค้นหา custom_data ของ SSV Callback หากไม่ได้ตั้งค่าข้อมูลที่กำหนดเอง ค่าพารามิเตอร์การค้นหา custom_data จะไม่อยู่ใน SSV Callback
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าข้อมูลที่กำหนดเองในออบเจ็กต์โฆษณาที่มีการให้รางวัล ก่อนที่จะขอโฆษณา
Java
Kotlin
แทนที่ SAMPLE_CUSTOM_DATA_STRING ด้วยข้อมูลที่กำหนดเอง
หากต้องการตั้งค่าสตริงรางวัลที่กำหนดเอง คุณต้องดำเนินการก่อนแสดงโฆษณา
ตัวอย่างใน GitHub
ขั้นตอนถัดไป
ดูหัวข้อต่อไปนี้