日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用出海之--AdMob

發(fā)布時(shí)間:2023/12/16 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用出海之--AdMob 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

介紹

Google AdMob是目前全球最大的移動(dòng)APP廣告平臺(tái),向應(yīng)用程序開發(fā)者以及需要在應(yīng)用程序中進(jìn)行廣告投放的廣告主開放,為在移動(dòng)端上發(fā)掘商機(jī)、塑造品牌和實(shí)現(xiàn)收益提供解決方案。

其實(shí)就是在應(yīng)用內(nèi)、游戲頁面、網(wǎng)頁中展示廣告的平臺(tái)

廣告類型區(qū)別

橫幅廣告
占據(jù)一小塊區(qū)域,使用AdView加載,內(nèi)部為webView實(shí)現(xiàn)。加載完成后自動(dòng)廣告,點(diǎn)擊后跳轉(zhuǎn)到相應(yīng)市場(chǎng)或者網(wǎng)頁。

插頁廣告
全屏顯示的廣告,可能為圖片,也可能為視頻。內(nèi)部是個(gè)webview

激勵(lì)視頻廣告
占據(jù)全屏,播放一段視頻,后臺(tái)可配置獎(jiǎng)勵(lì)時(shí)間點(diǎn)和獎(jiǎng)勵(lì)值,在監(jiān)聽中能接收到回調(diào)從而進(jìn)行相應(yīng)的業(yè)務(wù)處理。一般多用于虛擬幣獎(jiǎng)勵(lì)、看視頻解鎖等場(chǎng)景。同樣是個(gè)webview實(shí)現(xiàn)

原生廣告
較前幾個(gè)不同的是,該類型廣告請(qǐng)求成功后不會(huì)自動(dòng)加載,而是把廣告信息返回給開發(fā)人員,由開發(fā)人員定義布局該如何展示廣告內(nèi)容。
廣告內(nèi)容后臺(tái)可選影片、圖片一種或兩種并存。

接入

接入沒有太多問題,照著官網(wǎng)文檔一步一步接入。
官網(wǎng)接入文檔–>文檔地址

  • 通過gradle或者jar包方式導(dǎo)入sdk
  • 申請(qǐng)應(yīng)用(包名),申請(qǐng)廣告單元,生成unitId,每處顯示的廣告需要對(duì)應(yīng)一個(gè)unitId。當(dāng)然也可以使用同一個(gè)id,但是那樣無法區(qū)分具體位置的廣告帶來的點(diǎn)擊率和收益。
  • 舊版:Application中進(jìn)行初始化(使用appId)。新版:在AndroidManifest.xml中配置
  • 設(shè)置廣告顯示布局(xml配置或者java生成)。注意:Banner廣告:unitId和AdSize一定要同在xml或者代碼中設(shè)置,不能xml中設(shè)置size,代碼中設(shè)置unitId。
  • 設(shè)置unitId,請(qǐng)求廣告
  • 顯示廣告
  • 監(jiān)聽需要的事件(加載失敗、成功、點(diǎn)擊、關(guān)閉、跳轉(zhuǎn)等事件)
  • 注意點(diǎn)

    原生廣告的加載不自動(dòng)加載,但是沒有詳細(xì)的文檔說明每個(gè)字段的含義,或者如何獲取點(diǎn)擊事件、如何跳轉(zhuǎn)等,可以參考官方給出的demo:
    參考demo地址

    踩坑指南

    因?yàn)槭窃趪?guó)外比較流行,國(guó)內(nèi)接這個(gè)庫的不多,還是有挺多坑慢慢踩的。

    一、Failed to load , errorCode = 3

    這個(gè)問題遇到也挺多的,大致是有兩種原因:

  • 單元id剛剛注冊(cè)好
  • 請(qǐng)求成功了,但是沒有足夠的廣告資源返回
  • 我還遇到因?yàn)槭謾C(jī)沒有翻墻返回code為3,翻墻之后馬上顯示正常了,但明明說的是不翻墻也能獲取。。。。。。

    另外,對(duì)應(yīng)于onLoadFailed方法里的errCode,官網(wǎng)有文檔進(jìn)行描述,可以根據(jù)文檔進(jìn)行查找對(duì)應(yīng)因何引起。
    鏈接—>對(duì)應(yīng)code編碼
    例舉如下:

    TypeCodeReason
    intERROR_CODE_NO_FILLThe ad request was successful, but no ad was returned due to lack of ad inventory.
    intERROR_CODE_INTERNAL_ERRORSomething happened internally; for instance, an invalid response was received from the ad server.

    解決
    感覺真是無解了,當(dāng)初這個(gè)問題搞了半個(gè)月,測(cè)試unitId一切正常,切成正式id就這個(gè)錯(cuò)誤,看了各種文檔,無果,后來做了個(gè)plan B然后硬著頭皮上線,上線就好了,廣告正常加載。。。

    二、AdView加載成功仍不顯示

    遇到橫幅廣告不顯示的問題,以為是加載失敗了,通過監(jiān)聽發(fā)現(xiàn)已經(jīng)加載成功了,只是沒有顯示。
    原因1
    當(dāng)googlePlay Service遇上ADMob,激烈碰撞之后,會(huì)締結(jié)這么一個(gè)bug,AdView加載完成之后不能自動(dòng)刷新顯示,需要等待它下一次重新繪制的時(shí)候,而這個(gè)時(shí)長(zhǎng)有60s之久,所以資源獲取成功了而并沒有顯示。
    出現(xiàn)該問題的情況,admob導(dǎo)入入方式為api 'com.google.android.gms.play-services-ads:8.1.0',如果換成admob庫單獨(dú)導(dǎo)入而不是通過play-services導(dǎo)入,則不會(huì)有該問題。
    解決:回調(diào)方法onLoadAd()中,手動(dòng)觸發(fā)重繪。 例如setBackground()、layout()等方法

    原因2
    實(shí)際開發(fā)中遇到一種情況是AdSize設(shè)置相關(guān),導(dǎo)致雖然加載成功但不顯示。
    官網(wǎng)文檔中,有對(duì)AdSize設(shè)置不正確導(dǎo)致顯示異常的說明:

    注意:橫幅廣告容器的尺寸必須至少與橫幅廣告一樣大。如果您的容器留有內(nèi)邊距,將會(huì)有效減小容器大小。如果容器無法容納橫幅廣告,則橫幅廣告不會(huì)展示,并且您的日志中會(huì)顯示以下警告:
    W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.

    官網(wǎng)有一種AdSize是 SMART_BANNER,官網(wǎng)對(duì)其描述是智能適應(yīng)豎屏、橫屏、大屏自適應(yīng)改變寬高,如此智能于是乎我便設(shè)置為該size,結(jié)果經(jīng)常加載不出來,無法顯示,換成BANNER后馬上顯示正常。
    解決:盡量使用官方提供的Size,自己設(shè)置寬高的話注意要能容納下該廣告

    三、原生廣告視頻相關(guān)

    后臺(tái)選擇原生廣告的話,有兩種廣告可勾選:

    • 圖片
    • 影片

    播放監(jiān)聽
    很多場(chǎng)景產(chǎn)品會(huì)提出使用視頻廣告,觀看完給用戶贈(zèng)送某個(gè)東西或者解鎖某個(gè)內(nèi)容,就需要使用到監(jiān)聽,而原生廣告中視頻播放監(jiān)聽不太一樣,我們需要如下設(shè)置:

    在獲取到NativeAD對(duì)象后,獲取VideoController對(duì)象,通過此進(jìn)行監(jiān)聽:

    VideoController vc = nativeAd.getVideoController(); vc.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() {@Overridepublic void onVideoPlay() {super.onVideoPlay();isStartPlay = true;}@Overridepublic void onVideoEnd() {super.onVideoEnd();isPlayEnd = true;}//其他回調(diào)方法... });

    播放設(shè)置
    關(guān)于是否靜音播放,可以如下配置

    VideoOptions videoOptions = new VideoOptions.Builder()//設(shè)置不靜音播放,默認(rèn)靜音.setStartMuted(false)//設(shè)置是否點(diǎn)擊展開全屏,默認(rèn)否.setClickToExpandRequested(true).build();

    最后在AdLoader的構(gòu)建過程中,添加Options:

    .withNativeAdOptions(new NativeAdOptions.Builder()//設(shè)置的配置.setVideoOptions(videoOptions).build()) .build()

    廣告源問題
    如果在后臺(tái)只勾選影片,從而想實(shí)現(xiàn)都是視頻廣告的話,那就坑大發(fā)了。因?yàn)樗€是會(huì)冒很多圖片廣告出來。。
    可能原因1:google這個(gè)過濾有問題,勾了也沒用

    可能原因2:廣告主投放的時(shí)候可能明明是張圖片,非要投到影片類型下,然后我們加載出來的死活就只是圖片了

    四、日后慢慢填

    總結(jié)

    以上是生活随笔為你收集整理的应用出海之--AdMob的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。