AdMob開屏廣告接入步驟

來源: 知乎
作者:聆聽
時間:2021-01-26
18568
開屏廣告是一種特殊的廣告格式,適合希望通過應(yīng)用加載屏幕獲利的發(fā)布商。開屏廣告在用戶將您的應(yīng)用切換為在前臺運行時展示,用戶可隨時關(guān)閉。

AdMob開屏廣告

開屏廣告是一種特殊的廣告格式,適合希望通過應(yīng)用加載屏幕獲利的發(fā)布商。開屏廣告在用戶將您的應(yīng)用切換為在前臺運行時展示,用戶可隨時關(guān)閉。

開屏廣告會自動顯示一個較小的區(qū)域并在其中展示品牌信息,讓用戶知道他們在使用您的應(yīng)用。以下是一個開屏廣告示例:

v2-e5cd831b761a33c9f7a886062bc93399_720w.jpg

需要執(zhí)行的重要步驟包括:

1.擴展Application類以初始化GMA SDK。

2.創(chuàng)建實用工具類,用于先加載廣告,以備需要展示時使用。

3.加載廣告。

4.監(jiān)聽ActivityLifecycleCallbacks.

5.展示廣告并處理回調(diào)。

6.實現(xiàn)并注冊LifecycleObserver接口,以便在出現(xiàn)前臺事件期間展示廣告。

集成AdMob SDK

//開屏廣告需要19.4.0以上版本

implementation'com.google.android.gms:play-services-ads:19.5.0'

初始化SDK

MobileAds.initialize(this,new OnInitializationCompleteListener(){

 Override

public void onInitializationComplete(InitializationStatus initializationStatus){

}

});

加載廣告

/**

 * Request an ad

 */

public void fetchAd() {

    AppOpenAd.AppOpenAdLoadCallback loadCallback = new AppOpenAd.AppOpenAdLoadCallback() {

        /**

         * Called when an app open ad has loaded.

         *

         * @param ad the loaded app open ad.

         */

        @Override

        public void onAppOpenAdLoaded(AppOpenAd ad) {

            Log.e(LOG_TAG, "---onAppOpenAdLoaded---");

        }


        /**

         * Called when an app open ad has failed to load.

         *

         * @param loadAdError the error.

         */

        @Override

        public void onAppOpenAdFailedToLoad(LoadAdError loadAdError) {

            // Handle the error.

            Log.e(LOG_TAG, "---onAppOpenAdFailedToLoad---" + loadAdError);

        }

    };

    AdRequest request = new AdRequest.Builder().build();

    AppOpenAd.load(myApplication, AD_UNIT_ID, request, AppOpenAd.APP_OPEN_AD_ORIENTATION_LANDSCAPE, loadCallback);

    }

展示廣告并處理全屏回調(diào)事件

/**

 * Shows the ad if one isn't already showing.

 */

public void showAdIfAvailable() {

    FullScreenContentCallback fullScreenContentCallback =

            new FullScreenContentCallback() {

                @Override

                public void onAdDismissedFullScreenContent() {

                    // Set the reference to null so isAdAvailable() returns false.

                }


                @Override

                public void onAdFailedToShowFullScreenContent(AdError adError) {

                }


                @Override

                public void onAdShowedFullScreenContent() {

                    isShowingAd = true;

                }

            };

    appOpenAd.show(currentActivity, fullScreenContentCallback);

}

注意:load()和show()必須在主線程中調(diào)用,否則會出現(xiàn)異常。

考慮廣告有效期

開屏廣告Beta版中的廣告引用會在4小時后超時。如果廣告在請求4小時后呈現(xiàn),則相應(yīng)廣告將不再有效且可能無法創(chuàng)收。為確保您不會展示過期的廣告,請在AppOpenManager中添加一個方法,用于檢查廣告引用加載后經(jīng)過了多長時間。然后,使用該方法檢查廣告是否仍然有效。

/**

 * Utility method to check if ad was loaded more than n hours ago.

 */

private boolean wasLoadTimeLessThanNHoursAgo(long numHours) {

    long dateDifference = (new Date()).getTime() - this.loadTime;

    long numMilliSecondsPerHour = 3600000;

    return (dateDifference < (numMilliSecondsPerHour * numHours));

}


/**

 * Utility method that checks if ad exists and can be shown.

 */

public boolean isAdAvailable() {

    return appOpenAd != null && wasLoadTimeLessThanNHoursAgo(4);

}

冷啟動和加載屏幕

用戶啟動應(yīng)用,但該應(yīng)用之前未在內(nèi)存中掛起,這種情況就稱為“冷啟動”。

例如,用戶首次打開您的應(yīng)用便屬于冷啟動。對于冷啟動,您沒有之前已加載的開屏廣告可供立即展示。請求廣告和收到相應(yīng)廣告之間的延遲會導(dǎo)致出現(xiàn)以下情況:用戶能夠暫時使用您的應(yīng)用,然后突然看到一條無關(guān)廣告。應(yīng)避免出現(xiàn)這種情況,因為這會導(dǎo)致用戶體驗不佳。

在冷啟動時使用開屏廣告的首選方法是,使用加載屏幕來加載游戲或應(yīng)用素材資源,并且僅在加載屏幕展示廣告。如果您的應(yīng)用已加載完畢,并且用戶已經(jīng)訪問應(yīng)用的主要內(nèi)容,則不要展示廣告。

最佳做法

借助開屏廣告,您可以在用戶首次啟動應(yīng)用和切換應(yīng)用期間通過應(yīng)用的加載屏幕獲利,不過,還請務(wù)必考慮一些最佳做法,以便用戶喜歡使用您的應(yīng)用。最佳做法如下所示:

·在用戶使用幾次您的應(yīng)用后展示第一個開屏廣告。

·在用戶等待您的應(yīng)用加載時展示開屏廣告。

·如果開屏廣告位于加載屏幕上,并且加載屏幕在用戶關(guān)閉廣告之前已加載完畢,您可能需要通過onAdDismissedFullScreenContent()方法關(guān)閉加載屏幕。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于知乎,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家