โฆษณาคั่นระหว่างหน้า

โฆษณาคั่นระหว่างหน้าเป็นโฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปโฮสต์ โดยมักจะแสดงที่จุดเปลี่ยนหน้าปกติในขณะที่ใช้งานแอปพลิเคชัน เช่น ระหว่างดำเนินกิจกรรมต่างๆ หรือในช่วงหยุดชั่วคราวระหว่างเปลี่ยนด่านในเกม เมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า ผู้ใช้สามารถเลือกที่จะ แตะโฆษณาและไปยังปลายทาง หรือปิดโฆษณาและกลับไปที่ แอป โปรดอ่านกรณีศึกษาของเรา

คู่มือนี้อธิบายวิธีผสานรวมโฆษณาคั่นระหว่างหน้าในแอป Android

ข้อกำหนดเบื้องต้น

โหลดโฆษณา

หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้เมธอด InterstitialAd แบบคงที่ load() และส่ง InterstitialAdLoadCallback เพื่อรับโฆษณาที่โหลดหรือข้อผิดพลาดที่อาจเกิดขึ้น InterstitialAdLoadCallback ใช้ LoadAdError เพื่อให้รายละเอียดข้อผิดพลาด

Java

InterstitialAd.load(
    this,
    AD_UNIT_ID,
    new AdRequest.Builder().build(),
    new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        Log.d(TAG, "Ad was loaded.");
        MyActivity.this.interstitialAd = interstitialAd;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        Log.d(TAG, loadAdError.getMessage());
        interstitialAd = null;
      }
    });

Kotlin

InterstitialAd.load(
  this,
  AD_UNIT_ID,
  AdRequest.Builder().build(),
  object : InterstitialAdLoadCallback() {
    override fun onAdLoaded(ad: InterstitialAd) {
      Log.d(TAG, "Ad was loaded.")
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError.message)
      interstitialAd = null
    }
  },
)

ตั้งค่า FullScreenContentCallback

FullScreenContentCallback จัดการเหตุการณ์ที่เกี่ยวข้องกับการแสดง InterstitialAd โปรดตั้งค่าการเรียกกลับก่อนแสดง InterstitialAd โดยทำดังนี้

Java

interstitialAd.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.
        MyActivity.this.interstitialAd = null;
      }

      @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.
        MyActivity.this.interstitialAd = 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.");
      }
    });

Kotlin

interstitialAd?.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.
      interstitialAd = 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.
      interstitialAd = 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 ad is clicked.
      Log.d(TAG, "Ad was clicked.")
    }
  }

แสดงโฆษณา

โฆษณาคั่นระหว่างหน้าควรแสดงในช่วงหยุดชั่วคราวตามปกติขณะใช้งานแอป เช่น ระหว่างด่านของเกม หรือหลังจากที่ผู้ใช้ทำภารกิจเสร็จสมบูรณ์ หากต้องการแสดงโฆษณาคั่นระหว่างหน้า ให้ใช้ show เมธอด

Java

if (interstitialAd != null) {
  interstitialAd.show(this);
} else {
  Log.d(TAG, "The interstitial ad is still loading.");
}

Kotlin

interstitialAd?.show(this)

ทดสอบด้วยโฆษณาทดสอบเสมอ

เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง หากไม่ดำเนินการดังกล่าว อาจส่งผลให้บัญชีถูกระงับ

วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาคั่นระหว่างหน้าของ Android ดังนี้

ca-app-pub-3940256099942544/1033173712

ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้รหัสนี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป

ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบGoogle Mobile Ads SDK (Legacy)ได้ที่ เปิดใช้โฆษณาทดสอบ

ซอร์สโค้ด

ตัวอย่างใน GitHub

  • ตัวอย่างโฆษณาคั่นระหว่างหน้า: Java | Kotlin

เรื่องราวความสำเร็จ

ขั้นตอนถัดไป