ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 19.7.0 ขึ้นไป
 - ทำตามคู่มือเริ่มต้นใช้งาน
 
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง หากไม่ดำเนินการดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับ โฆษณาที่มีการให้รางวัลบน Android
ca-app-pub-3940256099942544/5224354917
ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถ ใช้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีทำงานของโฆษณาทดสอบของ Google Mobile Ads SDK ได้ที่โฆษณาทดสอบ
โหลดออบเจ็กต์โฆษณาที่มีการให้รางวัล
โฆษณาที่มีการให้รางวัลจะโหลดโดยการเรียกใช้เมธอด 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
  },
)
[ไม่บังคับ] ตรวจสอบความถูกต้องของ Callback การยืนยันฝั่งเซิร์ฟเวอร์ (SSV)
แอปที่ต้องใช้ข้อมูลเพิ่มเติมในแฮนเดิลการเรียกกลับการยืนยันฝั่งเซิร์ฟเวอร์
ควรใช้ฟีเจอร์ข้อมูลที่กําหนดเองของโฆษณาที่มีการให้รางวัล ค่าสตริงที่ตั้งค่าในออบเจ็กต์โฆษณาที่มีการให้รางวัลจะส่งไปยังพารามิเตอร์การค้นหา custom_data ของ
การเรียกกลับ SSV หากไม่ได้ตั้งค่าข้อมูลที่กําหนดเอง custom_dataค่าพารามิเตอร์การค้นหาจะไม่ปรากฏในคอลแบ็ก SSV
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าข้อมูลที่กำหนดเองในออบเจ็กต์โฆษณาที่มีการให้รางวัล ก่อนที่จะขอโฆษณา
Java
Kotlin
แทนที่ SAMPLE_CUSTOM_DATA_STRING ด้วยข้อมูลที่กำหนดเอง
หากต้องการตั้งค่าสตริงรางวัลที่กำหนดเอง คุณต้องดำเนินการก่อนแสดงโฆษณา
คำถามที่พบบ่อย
- การเรียกใช้การเริ่มต้นมีระยะหมดเวลาไหม
 - หลังจากผ่านไป 10 วินาที SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะเรียกใช้
OnInitializationCompleteListenerแม้ว่าเครือข่ายสื่อกลางจะยัง เริ่มต้นไม่เสร็จก็ตาม - จะเกิดอะไรขึ้นหากเครือข่ายสื่อกลางบางเครือข่ายไม่พร้อมเมื่อฉันได้รับการเรียกกลับการเริ่มต้น
 เราขอแนะนำให้โหลดโฆษณาภายในแฮนเดิลการเรียกกลับของ
OnInitializationCompleteListenerแม้ว่าเครือข่ายสื่อกลางจะไม่พร้อม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ก็ยังคงขอโฆษณาจากเครือข่ายนั้น ดังนั้นหาก เครือข่ายสื่อกลางเริ่มต้นเสร็จสิ้นหลังจากหมดเวลา ก็ยัง แสดงคำขอโฆษณาในอนาคตในเซสชันนั้นได้คุณสามารถสำรวจสถานะการเริ่มต้นของอแดปเตอร์ทั้งหมดในเซสชันแอปได้ต่อไปโดยเรียกใช้
MobileAds.getInitializationStatus()- ฉันจะรู้ได้อย่างไรว่าเหตุใดเครือข่ายสื่อกลางหนึ่งๆ จึงไม่พร้อมใช้งาน
 AdapterStatus.getDescription()อธิบายสาเหตุที่อะแดปเตอร์ยังไม่พร้อม ให้บริการคำขอโฆษณา- ระบบจะเรียกใช้แฮนเดิล 
onUserEarnedReward()ก่อนแฮนเดิลonAdDismissedFullScreenContent()เสมอไหม สําหรับโฆษณา Google
onUserEarnedReward()การเรียกใช้ทั้งหมดจะเกิดขึ้นก่อนonAdDismissedFullScreenContent()สำหรับโฆษณาที่แสดงผ่านสื่อกลาง การติดตั้งใช้งาน SDK เครือข่ายโฆษณาของบุคคลที่สามจะเป็นตัวกำหนดลำดับการเรียกกลับ สำหรับ SDK เครือข่ายโฆษณา ที่ให้การเรียกกลับการปิดเพียงครั้งเดียวพร้อมข้อมูลรางวัล อแดปเตอร์สื่อกลางจะเรียกใช้onUserEarnedReward()ก่อนonAdDismissedFullScreenContent()
ตัวอย่างใน GitHub
ขั้นตอนถัดไป
ดูหัวข้อต่อไปนี้