โฆษณาเปิดแอปเป็นรูปแบบโฆษณาที่มีไว้สำหรับผู้เผยแพร่โฆษณาที่ต้องการสร้างรายได้จากหน้าจอโหลดของแอป ผู้ใช้สามารถปิดโฆษณาเปิดแอปได้ทุกเมื่อ เมื่อผู้ใช้นำแอปของคุณมาไว้ที่เบื้องหน้า ให้แสดงโฆษณาเปิดแอป
ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์โฆษณาเปิดแอปคู่มือนี้อธิบายวิธีผสานรวมโฆษณาเปิดแอปเข้ากับแอป Android
ก่อนเริ่มต้น
โปรดทำสิ่งต่อไปนี้ก่อนดำเนินการต่อ
- ตั้งค่า GMA Next-Gen SDK
- ใช้รหัสหน่วยโฆษณาเปิดแอปทดสอบ
ca-app-pub-3940256099942544/9257395921- เมื่อสร้างและทดสอบแอป โปรดตรวจสอบว่าคุณใช้โฆษณาทดสอบ ไม่ใช่โฆษณาจริงที่ใช้งานจริง หากคุณไม่ใช้รหัสหน่วยโฆษณาทดสอบ Google อาจระงับบัญชีของคุณ
- ก่อนเผยแพร่แอป ให้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณา
- ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบของ 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 โฆษณาเปิดแอปจะหมดอายุหลังจากโหลดไปแล้ว 4 ชั่วโมง อย่าแสดงโฆษณาเปิดแอปที่โหลดนานกว่า 4 ชั่วโมง
ตัวอย่างต่อไปนี้แสดงโฆษณา
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); }
จัดการ Cold Start และหน้าจอโหลด
Cold Start จะเกิดขึ้นเมื่อแอปเปิดขึ้นจากดิสก์ และ Warm Start จะเกิดขึ้นเมื่อคุณเปิดแอปอีกครั้งจากหน่วยความจำ ในระหว่างการเริ่ม Cold Start คุณจะไม่มีโฆษณาที่โหลดไว้ก่อนหน้านี้พร้อมแสดง ในระหว่างการเริ่มต้นแบบอุ่น คุณอาจยังมีโฆษณาที่โหลดไว้พร้อมแสดงอยู่
ในระหว่างการเปิดแอปแบบ Cold Start ผู้ใช้อาจโต้ตอบกับแอปก่อนที่แอปจะโหลดและแสดงโฆษณา เพื่อหลีกเลี่ยงประสบการณ์ที่ไม่ดีของผู้ใช้ ให้แสดงโฆษณาเปิดแอปใน Cold Start จากหน้าจอการโหลดอย่างเคร่งครัดขณะที่โหลดชิ้นงานแอป แสดงโฆษณาเปิดแอปขณะที่ผู้ใช้รอให้แอปโหลด อย่าแสดงโฆษณาเปิดแอปเมื่อเปิดแอปครั้งแรก หากโหลดเนื้อหาเสร็จแล้วและผู้ใช้เข้าถึงเนื้อหาหลักก่อนที่โฆษณาจะโหลด ก็ไม่ต้องแสดงโฆษณา
โหลดชิ้นงานแอปในเทรดเบื้องหลังเพื่อให้โหลดต่อไปได้ขณะที่โฆษณาแสดง หากหน้าจอการโหลดโหลดเสร็จขณะที่โฆษณาแสดง ให้ปิดหน้าจอการโหลดในเมธอด Callback ที่ปิดโฆษณา
รอเหตุการณ์โฆษณา
ก่อนแสดงโฆษณา ให้รอเหตุการณ์ในวงจรของโฆษณา ตัวอย่างต่อไปนี้จะบันทึก Callback สำหรับเหตุการณ์โฆษณา
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. } }); }