ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 19.7.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง หากไม่ดำเนินการดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับ โฆษณาที่มีการให้รางวัลบน Android
/21775744923/example/rewarded
เราได้กำหนดค่าไว้เป็นพิเศษเพื่อแสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้ในแอปของคุณเองได้ขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ Mobile Ads SDK ได้ที่โฆษณาทดสอบ
โหลดออบเจ็กต์โฆษณาที่มีการให้รางวัล
โฆษณาที่มีการให้รางวัลจะโหลดโดยการเรียกใช้เมธอดแบบคงที่ load()
ในคลาส
RewardedAd
และส่ง RewardedAdLoadCallback
โดยปกติแล้วจะดำเนินการในเมธอด onCreate()
ของ Activity
โปรดทราบว่าเช่นเดียวกับ Callback การโหลดรูปแบบอื่นๆ 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
},
)
คำถามที่พบบ่อย
- การเรียกใช้การเริ่มต้นมีระยะหมดเวลาไหม
- หลังจากผ่านไป 10 วินาที SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะเรียกใช้
OnInitializationCompleteListener
แม้ว่าเครือข่ายสื่อกลางจะยัง เริ่มต้นไม่เสร็จสมบูรณ์ก็ตาม - จะเกิดอะไรขึ้นหากเครือข่ายสื่อกลางบางเครือข่ายไม่พร้อมเมื่อฉันได้รับการเรียกกลับการเริ่มต้น
เราขอแนะนำให้โหลดโฆษณาภายในแฮนเดิลการเรียกกลับของ
OnInitializationCompleteListener
แม้ว่าเครือข่ายสื่อกลางจะไม่พร้อม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ก็ยังคงขอโฆษณาจากเครือข่ายนั้น ดังนั้นหาก เครือข่ายสื่อกลางเริ่มต้นเสร็จสิ้นหลังจากหมดเวลา ก็ยัง แสดงคำขอโฆษณาในอนาคตในเซสชันนั้นได้คุณสามารถสำรวจสถานะการเริ่มต้นของอแดปเตอร์ทั้งหมดตลอดเซสชันแอปได้โดยเรียกใช้
MobileAds.getInitializationStatus()
- ฉันจะรู้ได้อย่างไรว่าเหตุใดเครือข่ายสื่อกลางหนึ่งๆ จึงไม่พร้อมใช้งาน
AdapterStatus.getDescription()
อธิบายสาเหตุที่อะแดปเตอร์ยังไม่พร้อมให้บริการคำขอโฆษณา- ระบบจะเรียกใช้แฮนเดิล
onUserEarnedReward()
ก่อนแฮนเดิลonAdDismissedFullScreenContent()
เสมอใช่ไหม สําหรับโฆษณา Google
onUserEarnedReward()
การเรียกใช้ทั้งหมดจะเกิดขึ้นก่อนonAdDismissedFullScreenContent()
สำหรับโฆษณาที่แสดงผ่านสื่อกลาง การติดตั้งใช้งาน SDK เครือข่ายโฆษณาของบุคคลที่สามจะเป็นตัวกำหนดลำดับการเรียกกลับ สำหรับ SDK เครือข่ายโฆษณา ที่ให้การเรียกกลับการปิดเพียงครั้งเดียวพร้อมข้อมูลรางวัล อแดปเตอร์สื่อกลางจะเรียกใช้onUserEarnedReward()
ก่อนonAdDismissedFullScreenContent()
ตัวอย่างใน GitHub
ขั้นตอนถัดไป
ดูหัวข้อต่อไปนี้