android個(gè)人開(kāi)發(fā)者接廣告admob以及需要注意的錯(cuò)誤細(xì)節(jié)

來(lái)源:簡(jiǎn)書(shū)
作者:物是人非事事休欲語(yǔ)淚先流
時(shí)間:2020-07-02
3839
本文主要介紹android個(gè)人開(kāi)發(fā)者接廣告admob以及需要注意的錯(cuò)誤細(xì)節(jié)

各位知道其他路子的求分享啊,我實(shí)在想不到什么方法了,可惜谷歌被屏蔽了,但是總比不能賺1毛錢(qián)好。我相信我的粉絲都是極客。

注冊(cè)admob

https://apps.admob.com

快速開(kāi)始教程

https://developers.google.com/admob/android/quick-start?hl=zh-CN

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

2815884-74ceb1918e445ca4.jpg


2815884-e2309171d149a175.jpg

創(chuàng)建banner

2815884-7144e754f3730805.jpg

得到Y(jié)OUR_ADMOB_APP_ID

https://developers.google.com/admob/android/quick-start?hl=zh-CN#import_the_mobile_ads_sdk

添加xml代碼

       android:id="@+id/ad_view"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_alignParentBottom="true"

        ads:adSize="BANNER"

        ads:adUnitId="ca-app-pub-6391307239504132/6102840431" />

添加java代碼

package ...

import ...

import com.google.android.gms.ads.MobileAds;


public class MainActivity extends AppCompatActivity {

    

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

//全局appid

  MobileAds.initialize(this, "ca-app-pub-6391307239504132~6124388718");

//        MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");

        adView = findViewById(R.id.ad_view);

    

        // 建立發(fā)送廣告請(qǐng)求

        AdRequest adRequest = new AdRequest.Builder()

                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)

                .build();


        // 添加廣告監(jiān)聽(tīng).

        adView.setAdListener(new AdListener(){

            @Override

            public void onAdFailedToLoad(int i) {

                Log.w(TAG,"load fail :"+i);

            }

        });

//加載請(qǐng)求

        adView.loadAd(adRequest);    }

    

}


}

橫幅實(shí)現(xiàn)的官方教程在這里

https://developers.google.com/admob/android/banner?hl=zh-CN

或者用代碼添加banner的方法

adView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-6391307239504132/6102840431");

規(guī)范細(xì)節(jié)

不要忘記代理一下聲明周期。

    /** Called when returning to the activity */

    @Override

    public void onResume() {

        super.onResume();

        if (adView != null) {

            adView.resume();

        }

    }


    /** Called before the activity is destroyed */

    @Override

    public void onDestroy() {

        if (adView != null) {

            adView.destroy();

        }

        super.onDestroy();

    }

各位測(cè)試沒(méi)效果的可以先直接把我的代碼copy測(cè)試效果如何。

插屏廣告

InterstitialAd mInterstitialAd = new InterstitialAd(this);//插頁(yè)廣告

        mInterstitialAd.setAdUnitId("xxxxx");

激勵(lì)廣告

        RewardedVideoAd mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);

        mRewardedVideoAd.setRewardedVideoAdListener(this);

        mRewardedVideoAd.loadAd("ca-app-pub-6391307239504132/8306864775", new AdRequest.Builder().build());




        AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")

                .forAppInstallAd(new NativeAppInstallAd.OnAppInstallAdLoadedListener() {

                    @Override

                    public void onAppInstallAdLoaded(NativeAppInstallAd appInstallAd) {

                        // Show the app install ad.

                    }

                })

                .forContentAd(new NativeContentAd.OnContentAdLoadedListener() {

                    @Override

                    public void onContentAdLoaded(NativeContentAd contentAd) {

                        // Show the content ad.

                    }

                })

                .withAdListener(new AdListener() {

                    @Override

                    public void onAdFailedToLoad(int errorCode) {

                        // Handle the failure by logging, altering the UI, and so on.

                    }

                })

                .withNativeAdOptions(new NativeAdOptions.Builder()

                        // Methods in the NativeAdOptions.Builder class can be

                        // used here to specify individual options settings.

                        .build())

                .build();


        adLoader.loadAd(new AdRequest.Builder().build());

原生廣告

說(shuō)實(shí)話(huà)原生廣告的,老美的文檔根本不全,有點(diǎn)亂,根本不知道某個(gè)東西如何來(lái)的。比如

    private void displayAppInstallAd(ViewGroup parent,NativeAppInstallAd ad) {

        // Inflate a layout and add it to the parent ViewGroup.

        LayoutInflater inflater = (LayoutInflater) parent.getContext()

                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        NativeAppInstallAdView adView = (NativeAppInstallAdView) inflater

                .inflate(R.layout.my_ad_layout, parent);


        // Locate the view that will hold the headline, set its text, and call the

        // NativeAppInstallAdView's setHeadlineView method to register it.

        TextView headlineView = adView.findViewById(R.id.ad_headline);

        headlineView.setText(ad.getHeadline());

        adView.setHeadlineView(headlineView);


        // Repeat the above process for the other assets in the NativeAppInstallAd


        // If the app is using a MediaView to display video, it should be

        // instantiated and passed to setMediaView. This view is a little different

        // in that the asset is populated automatically, so there's one less step.

        MediaView mediaView = (MediaView) adView.findViewById(R.id.ad_media);

        adView.setMediaView(mediaView);


        // Call the NativeAppInstallAdView's setNativeAd method to register the

        // NativeAdObject.

        adView.setNativeAd(ad);


        // Place the AdView into the parent.

        parent.addView(adView);

    }

這里需要傳遞一個(gè)參數(shù),文檔并沒(méi)有說(shuō)是怎么出來(lái)的,我感覺(jué)需要找找他們的demo.

https://developers.google.com/admob/android/native-advanced?hl=zh-CN

https://apps.admob.com/v2/home

將 Firebase 添加到您的 Android 項(xiàng)目

https://firebase.google.com/docs/android/setup

buildscript {

    // ...

    dependencies {

        // ...

        classpath 'com.google.gms:google-services:3.2.0' // google-services plugin

    }

}


allprojects {

    // ...

    repositories {

        // ...

        maven {

            url "https://maven.google.com" // Google's Maven repository

        }

    }

}

完整步驟

1.請(qǐng)使用此應(yīng)用 ID 完成說(shuō)明:

2.請(qǐng)集成 SDK。在使用此廣告單元 ID 集成代碼時(shí),您需要指定廣告類(lèi)型和展示位置:

3.請(qǐng)開(kāi)始從 Firebase 控制臺(tái)下載配置文件。在下一步的最后,您將需要用到此文件。如果您無(wú)法訪(fǎng)問(wèn) Firebase 控制臺(tái),請(qǐng)與 Firebase 項(xiàng)目負(fù)責(zé)人聯(lián)系,請(qǐng)其將您添加為項(xiàng)目成員。

4.在您的應(yīng)用中實(shí)施 Firebase SDK。

5.完成集成后,請(qǐng)重新發(fā)布您的應(yīng)用,我們會(huì)在應(yīng)用概覽信息中心顯示相關(guān)的分析數(shù)據(jù)。

6.請(qǐng)查看 AdMob 政策,確保您的實(shí)現(xiàn)方案符合相關(guān)規(guī)定。

排錯(cuò)

on failed for task ':childgit:app:processDebugGoogleServices'.

> File google-services.json is missing. The Google Services Plugin cannot function without it. 

   Searched Location: 

  F:\src\git_project\qq_qqrobot\childgit\app\src\nullnull\debug\google-services.json

  F:\src\git_project\qq_qqrobot\childgit\app\src\debug\nullnull\google-services.json

  F:\src\git_project\qq_qqrobot\childgit\app\src\null


All firebase libraries must be either above or below 14.0.0

fix

    //https://dl.google.com/dl/android/maven2/index.html


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

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

    //implementation 'com.google.firebase:firebase-core:11.8.0'

        implementation 'com.google.firebase:firebase-core:15.0.0'

進(jìn)入控制臺(tái)點(diǎn)擊firexx 然后點(diǎn)擊下載配置文件。放到這個(gè)目錄

https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest

最終

      classpath 'com.google.gms:google-services:3.2.1' // google-services plugin

錯(cuò)誤碼

我剛開(kāi)始的時(shí)候是0

public final class AdRequest {

    public static final int ERROR_CODE_INTERNAL_ERROR = 0;

    public static final int ERROR_CODE_INVALID_REQUEST = 1;

    public static final int ERROR_CODE_NETWORK_ERROR = 2;

    public static final int ERROR_CODE_NO_FILL = 3;

https://github.com/googleads/googleads-mobile-android-examples

遇到問(wèn)題可以提交到谷歌官方的論壇哈

https://groups.google.com/forum/#!forum/google-admob-ads-sdk

我現(xiàn)在官方的demo正常顯示,強(qiáng)烈建議大家也下載demo玩,其實(shí)看文檔是很不全的。demo的演示比較全,我這里就只給大家做個(gè)導(dǎo)師了,哈哈,

我這里一直提示0,我以為是要等幾個(gè)小時(shí),過(guò)了幾天打開(kāi)官方網(wǎng)站看了一下,有一個(gè)警告信息。

提供詳細(xì)付款信息

只有在您提供此信息后 AdMob 才能投放您的廣告

這是比較棘手的,需要信用卡,而且我上次搞谷歌支付用招商這種雙幣信用卡都不行,雖然可以用來(lái)買(mǎi)0.99美元的書(shū),虧了我不少錢(qián),后面還是不行,最后不得已去淘寶購(gòu)買(mǎi)了禮品卡才搞定了,然后用來(lái)購(gòu)買(mǎi)開(kāi)發(fā)者賬號(hào)

不過(guò)這次很幸運(yùn),成功了,ok,錯(cuò)誤碼從內(nèi)部錯(cuò)誤0 變成沒(méi)有廣告的錯(cuò)誤碼3了。

pulic static final int ERROR_CODE_INTERNAL_ERROR = 0;

    public static final int ERROR_CODE_INVALID_REQUEST = 1;

    public static final int ERROR_CODE_NETWORK_ERROR = 2;

    public static final int ERROR_CODE_NO_FILL = 3;

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來(lái)源:簡(jiǎn)書(shū)
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于簡(jiǎn)書(shū),本站不擁有所有權(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),線(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ú)效流量問(wèn)題的解決思路
Google Admob碰到無(wú)效流量問(wèn)題的解決思路
做Google Admob的廣告變現(xiàn),新賬號(hào)很容易遇到無(wú)效流量問(wèn)題,這里提供一下解決思路。
Google Admob
流量
2022-03-15
歡迎AdMob用戶(hù)使用全新“廣告活動(dòng)”報(bào)告
歡迎AdMob用戶(hù)使用全新“廣告活動(dòng)”報(bào)告
近期所有AdMob用戶(hù)的報(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ù)專(zhuān)員的信息分享,向您介紹關(guān)于AdMob技術(shù)接入時(shí)需要注意的以下3條黃金準(zhǔn)則。
Google Admob
2021-12-28
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家