SDK ที่มี API แบบโหลดครั้งเดียว
โฆษณาเปิดแอปเป็นรูปแบบโฆษณาพิเศษที่ออกแบบมาสำหรับผู้เผยแพร่โฆษณาที่ต้องการสร้างรายได้จากหน้าจอโหลดของแอป ผู้ใช้สามารถปิดโฆษณาเปิดแอปได้ทุกเมื่อ และโฆษณาได้รับการออกแบบมาให้แสดงเมื่อผู้ใช้นำแอปของคุณขึ้นมาแสดงในเบื้องหน้า
ดูข้อมูลเพิ่มเติมได้ที่ คำแนะนำเกี่ยวกับโฆษณาเปิดแอปคู่มือนี้อธิบายวิธีผสานรวมโฆษณาเปิดแอปในแอป Android
ข้อกำหนดเบื้องต้น
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง หากไม่ดำเนินการดังกล่าว อาจส่งผลให้บัญชีถูกระงับ
หากต้องการโหลดโฆษณาทดสอบ ให้ใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาเปิดแอป Android ดังนี้
ca-app-pub-3940256099942544/9257395921
รหัสหน่วยโฆษณานี้ได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ คุณสามารถใช้รหัสนี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง อย่าลืมแทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบ GMA Next-Gen SDK ได้ที่หัวข้อ เปิดใช้โฆษณาทดสอบ
โหลดโฆษณา
ตัวอย่างต่อไปนี้แสดงวิธีโหลดโฆษณาเดียว
Kotlin
// Load ads after you initialize MobileAds. AppOpenAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<AppOpenAd> { override fun onAdLoaded(ad: AppOpenAd) { // App open ad loaded. appOpenAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: ${adError.message}") appOpenAd = null } }, )
Java
// Load ads after you initialize MobileAds. AppOpenAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<AppOpenAd>() { @Override public void onAdLoaded(AppOpenAd ad) { // App open ad loaded. appOpenAd = ad; } @Override public void onAdFailedToLoad(LoadAdError adError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: " + adError.getMessage()); appOpenAd = null; } });
เมื่อทดสอบ ให้ใช้รหัสหน่วยโฆษณาทดสอบ ca-app-pub-3940256099942544/9257395921
แสดงโฆษณา
หากต้องการแสดงโฆษณาเปิดแอป ให้ใช้เมธอด show
Kotlin
private fun showAd(appOpenAd: AppOpenAd, activity: Activity) { // Show the ad. appOpenAd.show(activity) }
Java
private void showAd(AppOpenAd appOpenAd, Activity activity) { // Show the ad. appOpenAd.show(activity); }
รอเหตุการณ์โฆษณา
ก่อนแสดงโฆษณา ให้รอเหตุการณ์วงจรโฆษณา ดังนี้
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = appOpenAd if (ad == null) { Log.e(TAG, "App open ad is not ready yet.") return } ad.adEventCallback = object : AppOpenAdEventCallback { override fun onAdShowedFullScreenContent() { // App open ad did show. } override fun onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // App open ad did record an impression. } override fun onAdClicked() { // App open ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (appOpenAd == null) { Log.e(TAG, "App open ad is not ready yet."); return; } appOpenAd.setAdEventCallback( new AppOpenAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // App open ad did show. } @Override public void onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // App open ad did record an impression. } @Override public void onAdClicked() { // App open ad did record a click. } }); }
Cold Start และหน้าจอโหลด
Cold Start จะเกิดขึ้นเมื่อแอปเปิดตัวตั้งแต่ต้น เช่น เมื่อผู้ใช้เปิดแอปเป็นครั้งแรกหรือหลังจากแอปถูกปิดเนื่องจากหน่วยความจำไม่เพียงพอ ในระหว่าง Cold Start คุณจะไม่มีโฆษณาเปิดแอปที่โหลดไว้ก่อนหน้านี้พร้อมที่จะแสดงทันที
เนื่องจากคำขอโฆษณาอาจล่าช้า ผู้ใช้อาจโต้ตอบกับแอปก่อนที่โฆษณาเปิดแอปจะปรากฏขึ้น หากต้องการหลีกเลี่ยงไม่ให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ไม่ดี ให้แสดงโฆษณาเปิดแอปใน Cold Start จากหน้าจอโหลดเท่านั้นขณะที่เนื้อหาของแอปกำลังโหลด หากการโหลดเนื้อหาเสร็จสมบูรณ์และผู้ใช้เข้าถึงเนื้อหาหลักก่อนที่โฆษณาจะโหลดเสร็จสมบูรณ์ ให้งดแสดงโฆษณา
โหลดเนื้อหาของแอปในเธรดเบื้องหลังเพื่อให้การโหลดดำเนินต่อไปขณะที่โฆษณาแสดงอยู่
แนวทางปฏิบัติแนะนำ
ทำตามแนวทางปฏิบัติแนะนำต่อไปนี้สำหรับโฆษณาเปิดแอป
- แสดงโฆษณาเปิดแอปครั้งแรกหลังจากที่ผู้ใช้เปิดแอปหลายครั้งแล้วเท่านั้น
- แสดงโฆษณาเปิดแอปขณะที่ผู้ใช้รอให้แอปโหลดเท่านั้น
- หากหน้าจอโหลดโหลดเสร็จสมบูรณ์ขณะที่โฆษณาแสดงอยู่ ให้ปิดหน้าจอโหลดในเมธอด Callback เมื่อโฆษณาถูกปิด