Android google admob使用

來源:簡書
作者:lambentlight
時間:2020-07-03
4812
國內(nèi)做的app通常情況下,我們根本見不到廣告,比較純凈,而從谷歌商店下載的應用,部分就會包含廣告。

國內(nèi)做的app通常情況下,我們根本見不到廣告,比較純凈,而從谷歌商店下載的應用,部分就會包含廣告。企業(yè)做app是為了服務客戶,個人做的話,通常是為了方便大家使用,但畢竟不是慈善家,用愛發(fā)電畢竟不長久,谷歌的廣告可以比較好的解決這個問題。廣告的主要目的,是為了給app作者創(chuàng)造收入。

1、個人理解的運作機制:

企業(yè)需要發(fā)布廣告,自己做好廣告以后交給google。

個人在google注冊admob的賬號,然后創(chuàng)建應用,并且在應用中創(chuàng)建廣告單元。

google給每個廣告單元分配廣告。

每當用戶有效點擊廣告的時候,企業(yè)需要支付一部分費用,之后按月結(jié)算費用,支付給個人。

途中,如果企業(yè)發(fā)現(xiàn)點擊是無效的(個人惡意點擊等),可以舉報,之后,個人注冊的admob可能會被封。這個涉及到了admob的使用條款。不再詳細說明了。

2、使用

admob在編碼上,十分簡單

1、導入admob庫

implementation 'com.google.firebase:firebase-ads:18.0.0'

2、更新 AndroidManifest.xml

<manifest>

    <application>

        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->

        <meta-data

            android:name="com.google.android.gms.ads.APPLICATION_ID"

            android:value="[ADMOB_APP_ID]"/>

    </application>

</manifest>

3、初始化 SDK

在加載廣告之前,通過使用您的 AdMob 應用 ID 來調(diào)用MobileAds.initialize(),讓應用初始化 Mobile Ads SDK。此操作只需執(zhí)行一次,最好是在應用啟動時執(zhí)行。您可以在 AdMob 界面中找到您的應用 ID。

在 Activity 中調(diào)用initialize()方法的示例如下:

override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)

    // ...

    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713

    MobileAds.initialize(this, "YOUR_ADMOB_APP_ID")

}

這里我實際使用的時候,發(fā)現(xiàn)使用MobileAds.initialize(this)就足夠了,因為在AndroidManifest.xml中已經(jīng)配置過了applicaitonID了

之后我們可以選擇不同的廣告形式

這里以橫幅廣告為例。

4、向布局中添加

    # main_activity.xml

    ...

      <AdView

          xmlns:ads="https://schemas.android.com/apk/res-auto"

          android:id="@+id/"

          android:layout_width="wrap_content"

          android:layout_height="wrap_content"

          android:layout_centerHorizontal="true"

          android:layout_alignParentBottom="true"

          ads:adSize="BANNER"

          ads:adUnitId="">

      </>

    ...

當然也可以通過代碼創(chuàng)建

    val adView = (this)

        adView.adSize = AdSize.BANNER

        adView.adUnitId = ""

    // TODO: Add adView to your view hierarchy.

注意:一定要配置下面的兩個屬性

·ads:adSize-將此屬性設置為要使用的廣告尺寸。如果您不想使用該常量定義的標準尺寸,可改為設置自定義尺寸。

·ads:adUnitId-將此屬性設置為您應用中用于展示廣告的廣告單元所用的唯一標識符。如果您要在不同的 Activity 中展示橫幅廣告,則其中每個都需要一個廣告單元。

UnitId是我們創(chuàng)建廣告單元時,生成到,后面會提到

5、加載廣告

注意:請在主線程中進行對移動廣告 SDK 的所有調(diào)用

放置好后,下一步是加載廣告。此步驟可使用 類中的loadAd()方法完成。這需要 參數(shù),其中包含關于單個廣告請求的運行時信息(如定位信息)。

以下示例顯示了如何通過ActivityonCreate()方法加載廣告:

    package ...


    import ...

    import 

    import 


    class MainActivity : AppCompatActivity() {


        lateinit var m : 


        override fun onCreate(savedInstanceState: Bundle?) {

            super.onCreate(savedInstanceState)

            setContentView(R.layout.activity_main)

                m = findViewById(R.id.)

            val adRequest = .Builder().build()

            m.loadAd(adRequest)

        }

    }

注意:如果您的廣告加載失敗,只要已為廣告單元配置了刷新功能,就無需明確請求再次加載;Google 移動廣告 SDK 會按照您在 界面中指定的頻率進行刷新。如果您尚未啟用刷新,則需要發(fā)出新的請求。

當我們的廣告加載失敗的時候,會自動重新加載,不需要我們做其他操作。

6、廣告事件

要進一步自定義您的廣告行為,您可以在廣告生命周期內(nèi)加入許多事件,如加載、打開、關閉等等。您可以通過AdListener類監(jiān)聽這些事件。

要將AdListener用于 ,只需調(diào)用setAdListener()方法即可:

    m.adListener = object: AdListener() {

        override fun onAdLoaded() {

            // Code to be executed when an ad finishes loading.

        }


        override fun onAdFailedToLoad(errorCode : Int) {

            // Code to be executed when an ad request fails.

        }


        override fun onAdOpened() {

            // Code to be executed when an ad opens an overlay that

            // covers the screen.

        }


        override fun onAdClicked() {

            // Code to be executed when the user clicks on an ad.

        }


        override fun onAdLeftApplication() {

            // Code to be executed when the user has left the app.

        }


        override fun onAdClosed() {

            // Code to be executed when the user is about to return

            // to the app after tapping on an ad.

        }

    }  

可替換的方法

onAdLoaded()廣告加載完成后,系統(tǒng)會執(zhí)行onAdLoaded()方法。如果您想推遲給 Activity 或 Fragment 添加的操作,例如推遲到您確定廣告會加載時,可以在此處進行。

onAdFailedToLoad()onAdFailedToLoad()是唯一包含參數(shù)的方法。errorCode參數(shù)會指明發(fā)生了何種類型的失敗。系統(tǒng)將這些可能的類型值定義為 類中的如下常量:* ERROR_CODE_INTERNAL_ERROR - 內(nèi)部出現(xiàn)問題;例如,收到廣告服務器的無效響應。* ERROR_CODE_INVALID_REQUEST - 廣告請求無效;例如,廣告單元 ID 不正確。* ERROR_CODE_NETWORK_ERROR - 由于網(wǎng)絡連接問題,廣告請求失敗。* ERROR_CODE_NO_FILL - 廣告請求成功,但由于缺少廣告資源,未返回廣告。

onAdOpened():用戶點按廣告時,系統(tǒng)會調(diào)用此方法。

onAdLeftApplication():用戶點擊打開其他應用(例如,Google Play 商店)時,系統(tǒng)會先調(diào)用onAdOpened(),再調(diào)用此方法,從而在后臺運行當前應用。

onAdClosed():用戶查看了廣告的目標網(wǎng)址并返回應用時,系統(tǒng)會調(diào)用此方法。應用可以使用此方法恢復暫停的活動,或執(zhí)行任何其他必要的操作,以做好互動準備。

廣告的事件,一般用來監(jiān)聽廣告點擊,加載失敗等、看情況使用。

7、廣告測試。

實裝確實就上面的那些,非常簡單,這里說一下測試相關的一些內(nèi)容。官方文檔

最開始的時候說到過,如果我們在測試的時候,測試點擊廣告,這些點擊是屬于無效的動作,企業(yè)收到點擊之后需要給我們付費,這樣會導致我們的賬號被封。所以測試的時候,有兩種方式。

1. 使用谷歌給定的示例廣告單元。

1593763120(1).png

上表是我們在各個頁面使用的adUnitId,在xml里面或者自己定義的View中設置的。

Mainifest中設置的applicationid是ca-app-pub-3940256099942544~3347511713

在測試過程中,這些廣告的點擊是不會產(chǎn)生流量的,可以放心使用。

2. 啟用測試設備

如果您希望使用實際投放的廣告進行更嚴格的測試,那么現(xiàn)在就可以將您的設備配置為測試設備,并使用您在 界面中創(chuàng)建的自己的廣告單元 ID。

請按照以下步驟操作,將您的設備添加為測試設備。

添加您的測試設備

1.加載您的已植入廣告的應用,并發(fā)出廣告請求。

2.檢查 logcat 輸出,以查找像下面這樣的消息:

I/Ads: Use AdRequest.Builder.addTestDevice("33BE2250B43518CCDA7DE426D04EE231")

to get test ads on this device."

3.修改代碼,以便用您的測試設備 ID 調(diào)用AdRequest.Builder.addTestDevice()。您可以為多個設備多次調(diào)用這個方法。

4.重新運行您的應用。如果廣告是 Google 廣告,則您會在廣告(橫幅廣告、插頁式廣告或激勵視頻廣告)頂部的中間部分看到一個“Test Ad”標簽。

以上是所有Android中,實裝需要注意的所有地方了

3、admob注冊

下面說明一下,關于我們實際使用中的unitId和applicaitonId是如何獲取的。

1、注冊admob賬號。

10035622-79ce5d5522ba39b8.webp.jpg

注冊賬號

在firebase中注冊admob賬號。

2、創(chuàng)建新的應用

注意?。。。哼@里創(chuàng)建了的應用,目前來看是無法刪除的,請謹慎操作

10035622-014b25c93a6d2df5.webp.jpg

創(chuàng)建應用

這里根據(jù)自己的需求來設置,如果選擇已經(jīng)發(fā)布的話,我們需要去找到自己的應用,然后關聯(lián)應用。

3、輸入應用的信息

我在上一步選擇了否

10035622-4750b5ce8dafee60.webp.jpg

應用信息

4、創(chuàng)建應用成功

10035622-c1e009910b7f20fe.webp.jpg

成功創(chuàng)建

注意這個應用id,是我們在使用過程中,配置在Mainifest中的id,需要自己記錄。

5、創(chuàng)建廣告單元

10035622-9b02d1a2a85f7f3c.。jpg.webp.jpg

廣告選擇

這里跟我們使用中一樣,需要我們選擇不同的廣告格式,需要我們在實裝的時候匹配

6、設置廣告單元

10035622-f5cdd4d9133a8f47.webp.jpg

橫幅廣告

這里依舊以橫幅廣告為例,需要配置各項參數(shù)。

7、完成

3.jpg

成功創(chuàng)建

這里就已經(jīng)完成了創(chuàng)建,到此就全部結(jié)束了。

圖中的兩個id,1中的id是我們配置在Mainifest中,2是在adview中顯示的,我們可以在一個應用中,創(chuàng)建不同的廣告單元,不同的頁面去顯示不同的廣告單元。

8、后續(xù)

在成功創(chuàng)建以后,還沒有結(jié)束,在admob的首頁會提示我們沒有付款,沒辦法正常顯示廣告。

10035622-a1355efa4d698b7a.webp.jpg

付款信息

10035622-f097ea2c12e28ebc.webp.jpg

填寫信息

填寫完成之后

10035622-fb29559f42f7db80.webp.jpg

完成

因為我并沒有正式發(fā)布過app,所以不太清楚后面還有沒有其他的操作需要我們進行。這里還有待補充。

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