Android google admob使用

來(lái)源:簡(jiǎn)書
作者:lambentlight
時(shí)間:2020-07-03
4603
國(guó)內(nèi)做的app通常情況下,我們根本見不到廣告,比較純凈,而從谷歌商店下載的應(yīng)用,部分就會(huì)包含廣告。

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

1、個(gè)人理解的運(yùn)作機(jī)制:

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

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

google給每個(gè)廣告單元分配廣告。

每當(dāng)用戶有效點(diǎn)擊廣告的時(shí)候,企業(yè)需要支付一部分費(fèi)用,之后按月結(jié)算費(fèi)用,支付給個(gè)人。

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

2、使用

admob在編碼上,十分簡(jiǎn)單

1、導(dǎo)入admob庫(kù)

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

在加載廣告之前,通過(guò)使用您的 AdMob 應(yīng)用 ID 來(lái)調(diào)用MobileAds.initialize(),讓應(yīng)用初始化 Mobile Ads SDK。此操作只需執(zhí)行一次,最好是在應(yīng)用啟動(dòng)時(shí)執(zhí)行。您可以在 AdMob 界面中找到您的應(yīng)用 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")

}

這里我實(shí)際使用的時(shí)候,發(fā)現(xiàn)使用MobileAds.initialize(this)就足夠了,因?yàn)樵?span style="font-family: 微軟雅黑, "Microsoft YaHei"; color: rgb(192, 80, 77); background-color: rgb(242, 242, 242);">AndroidManifest.xml中已經(jīng)配置過(guò)了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="">

      </>

    ...

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

    val adView = (this)

        adView.adSize = AdSize.BANNER

        adView.adUnitId = ""

    // TODO: Add adView to your view hierarchy.

注意:一定要配置下面的兩個(gè)屬性

·ads:adSize-將此屬性設(shè)置為要使用的廣告尺寸。如果您不想使用該常量定義的標(biāo)準(zhǔn)尺寸,可改為設(shè)置自定義尺寸。

·ads:adUnitId-將此屬性設(shè)置為您應(yīng)用中用于展示廣告的廣告單元所用的唯一標(biāo)識(shí)符。如果您要在不同的 Activity 中展示橫幅廣告,則其中每個(gè)都需要一個(gè)廣告單元。

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

5、加載廣告

注意:請(qǐng)?jiān)谥骶€程中進(jìn)行對(duì)移動(dòng)廣告 SDK 的所有調(diào)用

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

以下示例顯示了如何通過(guò)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)

        }

    }

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

當(dāng)我們的廣告加載失敗的時(shí)候,會(huì)自動(dòng)重新加載,不需要我們做其他操作。

6、廣告事件

要進(jìn)一步自定義您的廣告行為,您可以在廣告生命周期內(nèi)加入許多事件,如加載、打開、關(guān)閉等等。您可以通過(guò)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)會(huì)執(zhí)行onAdLoaded()方法。如果您想推遲給 Activity 或 Fragment 添加的操作,例如推遲到您確定廣告會(huì)加載時(shí),可以在此處進(jìn)行。

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

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

onAdLeftApplication():用戶點(diǎn)擊打開其他應(yīng)用(例如,Google Play 商店)時(shí),系統(tǒng)會(huì)先調(diào)用onAdOpened(),再調(diào)用此方法,從而在后臺(tái)運(yùn)行當(dāng)前應(yīng)用。

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

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

7、廣告測(cè)試。

實(shí)裝確實(shí)就上面的那些,非常簡(jiǎn)單,這里說(shuō)一下測(cè)試相關(guān)的一些內(nèi)容。官方文檔

最開始的時(shí)候說(shuō)到過(guò),如果我們?cè)跍y(cè)試的時(shí)候,測(cè)試點(diǎn)擊廣告,這些點(diǎn)擊是屬于無(wú)效的動(dòng)作,企業(yè)收到點(diǎn)擊之后需要給我們付費(fèi),這樣會(huì)導(dǎo)致我們的賬號(hào)被封。所以測(cè)試的時(shí)候,有兩種方式。

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

1593763120(1).png

上表是我們?cè)诟鱾€(gè)頁(yè)面使用的adUnitId,在xml里面或者自己定義的View中設(shè)置的。

Mainifest中設(shè)置的applicationid是ca-app-pub-3940256099942544~3347511713

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

2. 啟用測(cè)試設(shè)備

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

請(qǐng)按照以下步驟操作,將您的設(shè)備添加為測(cè)試設(shè)備。

添加您的測(cè)試設(shè)備

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

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

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

to get test ads on this device."

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

4.重新運(yùn)行您的應(yīng)用。如果廣告是 Google 廣告,則您會(huì)在廣告(橫幅廣告、插頁(yè)式廣告或激勵(lì)視頻廣告)頂部的中間部分看到一個(gè)“Test Ad”標(biāo)簽。

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

3、admob注冊(cè)

下面說(shuō)明一下,關(guān)于我們實(shí)際使用中的unitId和applicaitonId是如何獲取的。

1、注冊(cè)admob賬號(hào)。

10035622-79ce5d5522ba39b8.webp.jpg

注冊(cè)賬號(hào)

在firebase中注冊(cè)admob賬號(hào)。

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

注意!?。。哼@里創(chuàng)建了的應(yīng)用,目前來(lái)看是無(wú)法刪除的,請(qǐng)謹(jǐn)慎操作

10035622-014b25c93a6d2df5.webp.jpg

創(chuàng)建應(yīng)用

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

3、輸入應(yīng)用的信息

我在上一步選擇了否

10035622-4750b5ce8dafee60.webp.jpg

應(yīng)用信息

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

10035622-c1e009910b7f20fe.webp.jpg

成功創(chuàng)建

注意這個(gè)應(yīng)用id,是我們?cè)谑褂眠^(guò)程中,配置在Mainifest中的id,需要自己記錄。

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

10035622-9b02d1a2a85f7f3c.。jpg.webp.jpg

廣告選擇

這里跟我們使用中一樣,需要我們選擇不同的廣告格式,需要我們?cè)趯?shí)裝的時(shí)候匹配

6、設(shè)置廣告單元

10035622-f5cdd4d9133a8f47.webp.jpg

橫幅廣告

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

7、完成

3.jpg

成功創(chuàng)建

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

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

8、后續(xù)

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

10035622-a1355efa4d698b7a.webp.jpg

付款信息

10035622-f097ea2c12e28ebc.webp.jpg

填寫信息

填寫完成之后

10035622-fb29559f42f7db80.webp.jpg

完成

因?yàn)槲也]有正式發(fā)布過(guò)app,所以不太清楚后面還有沒有其他的操作需要我們進(jìn)行。這里還有待補(bǔ)充。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來(lái)源:簡(jiǎn)書
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于簡(jiǎn)書,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Admob平臺(tái)注冊(cè)及收款
Admob平臺(tái)注冊(cè)及收款
Admob最大的優(yōu)勢(shì)是全球范圍內(nèi)填充率相對(duì)較高;且有流量即可變現(xiàn),線下APP也可支持變現(xiàn)。但2021年政策逐步收緊,5月份起,新APP需要過(guò)審,且只有上架Google play、Appstore、Amazon、OPPO、VIVO、XIAOMI、Galaxy Store應(yīng)用商店,才可審核過(guò)進(jìn)行變現(xiàn),但不妨礙Admob依然是全球最大的廣告聯(lián)盟平臺(tái)。
Admob
廣告變現(xiàn)
2023-01-12
Google Admob碰到無(wú)效流量問題的解決思路
Google Admob碰到無(wú)效流量問題的解決思路
做Google Admob的廣告變現(xiàn),新賬號(hào)很容易遇到無(wú)效流量問題,這里提供一下解決思路。
Google Admob
流量
2022-03-15
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
近期所有AdMob用戶的報(bào)告后臺(tái)將看到全新的“廣告活動(dòng)”報(bào)告。此報(bào)告集中顯示您的廣告效果,將AdMob廣告聯(lián)盟報(bào)告、中介報(bào)告和出價(jià)報(bào)告中的數(shù)據(jù)、指標(biāo)和維度整合到一個(gè)報(bào)告中。
Admob
Google Admob
2021-12-28
解讀AdMob廣告單元技術(shù)接入指南
解讀AdMob廣告單元技術(shù)接入指南
本期文章內(nèi)容來(lái)源于AdMob技術(shù)專員的信息分享,向您介紹關(guān)于AdMob技術(shù)接入時(shí)需要注意的以下3條黃金準(zhǔn)則。
Google Admob
2021-12-28
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家