Quảng cáo khi mở ứng dụng là một định dạng quảng cáo dành cho những nhà xuất bản muốn kiếm tiền từ màn hình tải ứng dụng của họ. Người dùng có thể đóng quảng cáo khi mở ứng dụng bất cứ lúc nào. Khi người dùng đưa ứng dụng của bạn lên nền trước, hãy hiển thị quảng cáo khi mở ứng dụng.
Để biết thêm thông tin, hãy xem Hướng dẫn về quảng cáo khi mở ứng dụng.Tài liệu hướng dẫn này giải thích cách tích hợp quảng cáo khi mở ứng dụng vào một ứng dụng Android.
Trước khi bắt đầu
Trước khi tiếp tục, hãy làm như sau:
- Thiết lập GMA Next-Gen SDK.
- Sử dụng mã đơn vị quảng cáo thử nghiệm khi mở ứng dụng
ca-app-pub-3940256099942544/9257395921.- Khi bạn tạo và thử nghiệm ứng dụng, hãy nhớ sử dụng quảng cáo thử nghiệm thay vì quảng cáo sản phẩm đang chạy trong thực tế. Nếu bạn không sử dụng mã đơn vị quảng cáo thử nghiệm, Google có thể tạm ngưng tài khoản của bạn.
- Trước khi xuất bản ứng dụng, hãy thay thế mã này bằng mã đơn vị quảng cáo của bạn.
- Để biết thông tin chi tiết về quảng cáo thử nghiệm GMA Next-Gen SDK, hãy xem bài viết Bật quảng cáo thử nghiệm.
Tải một quảng cáo
Ví dụ sau đây tải một quảng cáo:
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; } });
Khi thử nghiệm, hãy sử dụng mã đơn vị quảng cáo thử nghiệm:
ca-app-pub-3940256099942544/9257395921.
Hiển thị quảng cáo
Để hiển thị quảng cáo khi mở ứng dụng, hãy gọi phương thứcshow. Quảng cáo khi mở ứng dụng sẽ hết hạn sau 4 giờ kể từ khi tải. Đừng hiển thị quảng cáo khi mở ứng dụng đang tải trong hơn
bốn giờ.
Ví dụ sau đây cho thấy quảng cáo:
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); }
Xử lý khởi động nguội và màn hình tải
Quá trình khởi động nguội xảy ra khi ứng dụng của bạn chạy từ ổ đĩa, còn quá trình khởi động ấm xảy ra khi bạn mở lại ứng dụng từ bộ nhớ. Trong trường hợp khởi động nguội, bạn không có quảng cáo đã tải trước đó để hiển thị. Trong trường hợp khởi động ấm, bạn vẫn có thể hiển thị quảng cáo đã tải.
Trong quá trình khởi động nguội, người dùng có thể tương tác với ứng dụng của bạn trước khi ứng dụng tải và hiển thị quảng cáo. Để tránh mang lại trải nghiệm kém cho người dùng, hãy chỉ hiển thị quảng cáo khi mở ứng dụng vào lúc khởi động nguội trên màn hình tải trong khi các thành phần của ứng dụng đang tải. Trong khi người dùng chờ ứng dụng của bạn tải, hãy hiển thị quảng cáo khi mở ứng dụng. Không hiển thị quảng cáo khi mở ứng dụng trong lần đầu tiên khởi động ứng dụng. Nếu quá trình tải thành phần hoàn tất và người dùng truy cập vào nội dung chính trước khi quảng cáo tải xong, thì đừng hiển thị quảng cáo.
Tải thành phần ứng dụng trên một luồng trong nền để tiếp tục tải trong khi quảng cáo hiển thị. Nếu màn hình tải của bạn tải xong trong khi quảng cáo hiển thị, hãy đóng màn hình tải trong phương thức gọi lại khi quảng cáo bị đóng.
Theo dõi các sự kiện quảng cáo
Trước khi hiển thị quảng cáo, hãy theo dõi các sự kiện trong vòng đời của quảng cáo. Ví dụ sau đây đăng ký lệnh gọi lại cho các sự kiện quảng cáo:
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. } }); }