โฆษณาคั่นระหว่างหน้าเป็นโฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปโฮสต์ โดยมักจะแสดงที่จุดเปลี่ยนหน้าปกติในขณะที่ใช้งานแอป เช่น ระหว่างดำเนินกิจกรรมต่างๆ หรือในช่วงหยุดชั่วคราวระหว่างเปลี่ยนด่านในเกม เมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า ผู้ใช้สามารถเลือกที่จะแตะโฆษณาและไปยังปลายทาง หรือปิดโฆษณาและกลับไปที่แอป
คู่มือนี้อธิบายวิธีผสานรวมโฆษณาคั่นระหว่างหน้าเข้ากับแอป Android
ข้อกำหนดเบื้องต้น
- Google Mobile Ads SDK เวอร์ชัน 19.7.0 ขึ้นไป
- ตั้งค่า Google Mobile Ads SDK
ทดสอบด้วยโฆษณาสำหรับการทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาสำหรับการทดสอบแทนโฆษณาจริง หากไม่ปฏิบัติตาม อาจทำให้บัญชีของคุณถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาสำหรับการทดสอบคือการใช้รหัสหน่วยโฆษณาสำหรับการทดสอบโดยเฉพาะสำหรับโฆษณาคั่นระหว่างหน้าของ Android ดังนี้
/21775744923/example/interstitial
ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาสำหรับการทดสอบสำหรับทุกคำขอ และคุณสามารถใช้รหัสนี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูรายละเอียดเกี่ยวกับโฆษณาสำหรับการทดสอบGoogle Mobile Ads SDK ได้ที่ หัวข้อเปิดใช้โฆษณาสำหรับการทดสอบ
โหลดโฆษณา
หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้เมธอด AdManagerInterstitialAd
static
load() และส่ง
AdManagerInterstitialAdLoadCallback เพื่อรับ
โฆษณาที่โหลดแล้วหรือข้อผิดพลาดที่อาจเกิดขึ้น โปรดทราบว่า AdManagerInterstitialAdLoadCallback ใช้ LoadAdError เพื่อให้รายละเอียดข้อผิดพลาดที่แม่นยำยิ่งขึ้น เช่นเดียวกับ Load Callback ของรูปแบบอื่นๆ
Java
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
new AdManagerAdRequest.Builder().build(),
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd 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
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
AdManagerAdRequest.Builder().build(),
object : AdManagerInterstitialAdLoadCallback() {
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, "Ad was loaded.")
this@MyActivity.interstitialAd = interstitialAd
}
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError.message)
interstitialAd = null
}
},
)
ตั้งค่า FullScreenContentCallback
FullScreenContentCallback จะจัดการเหตุการณ์ที่เกี่ยวข้องกับการแสดง InterstitialAd โปรดตั้งค่า Callback ก่อนแสดง 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)
แนวทางปฏิบัติแนะนำบางส่วน
- พิจารณาว่าโฆษณาคั่นระหว่างหน้าเป็นโฆษณาประเภทที่เหมาะสมกับแอปของคุณหรือไม่
- โฆษณาคั่นระหว่างหน้าเหมาะที่สุดสำหรับแอปที่มีจุดเปลี่ยนหน้าตามปกติ การทำงานเสร็จภายในแอป เช่น การแชร์รูปภาพหรือการเล่นเกมผ่านด่าน จะสร้างจุดเปลี่ยนหน้าดังกล่าว โปรดพิจารณาว่าคุณจะแสดงโฆษณาคั่นระหว่างหน้าที่จุดใดในเวิร์กโฟลว์ของแอป และผู้ใช้มีแนวโน้มที่จะตอบสนองอย่างไร
- อย่าลืมหยุดการดำเนินการชั่วคราวเมื่อแสดงโฆษณาคั่นระหว่างหน้า
- โฆษณาคั่นระหว่างหน้ามีหลายประเภท ได้แก่ แบบข้อความ รูปภาพ วิดีโอ และอื่นๆ คุณควรตรวจสอบว่าเมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า แอปจะระงับการใช้ทรัพยากรบางอย่างด้วย เพื่อให้โฆษณาสามารถใช้ประโยชน์จากทรัพยากรเหล่านั้นได้ ตัวอย่างเช่น เมื่อโทรเพื่อแสดงโฆษณาคั่นระหว่างหน้า ให้หยุดเอาต์พุตเสียงใดๆ ที่แอปของคุณสร้างขึ้นชั่วคราว
- เผื่อเวลาโหลดให้เพียงพอ
- เช่นเดียวกับการแสดงโฆษณาคั่นระหว่างหน้าในเวลาที่เหมาะสม คุณควรตรวจสอบว่าผู้ใช้ไม่ต้องรอให้โฆษณาโหลด การโหลดโฆษณาล่วงหน้าโดยการเรียกใช้
load()ก่อนที่จะเรียกใช้show()จะช่วยให้แอปมีโฆษณาคั่นระหว่างหน้าที่โหลดแล้วอย่างสมบูรณ์พร้อมแสดงเมื่อถึงเวลา - อย่าแสดงโฆษณาให้ผู้ใช้เห็นมากเกินไป
- แม้การแสดงโฆษณาคั่นระหว่างหน้าถี่ขึ้นในแอปอาจเป็นวิธีเพิ่มรายได้ที่ดี แต่อาจทำให้ประสบการณ์ของผู้ใช้แย่ลงและลดอัตราการคลิกผ่าน อย่าขัดจังหวะผู้ใช้บ่อยเกินไปจนกระทั่งไม่สนุกกับการใช้แอป
ตัวอย่างใน GitHub
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดเป้าหมายโฆษณา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับความเป็นส่วนตัวของผู้ใช้
- สำรวจการเริ่มต้น SDK และการโหลดโฆษณาที่เพิ่มประสิทธิภาพแล้ว (เบต้า)