Android应用如何植入AdMob广告赚钱

⌚Time: 2022-08-24 13:54:41

👨‍💻Author: Jack Ge

注册AdMob账号

上外网,注册admob账号

https://admob.google.com/home/

添加应用

注册后登录,并且添加一个新应用,平台选中android,之后的设置根据需要

应用添加后你会获得一个应用id

添加广告单元

应用建立后,点击广告单元,新建一个广告单元

我选中了插页广告

之后根据自己需要进行配置展现广告的内容,频率等

创建好广告单元后,你会得到对应的广告单元 ID。

Android程序配置

导入SDK

在项目级别的build.gradle文件中添加以下代码

buildscript {
    repositories {
        google()
        mavenCentral()
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

在模块级别的build.gradle中添加以下代码

dependencies {
compile 'com.google.android.gms:play-services-ads:11.2.0'
}

在AndroidManifest.xml中添加以下代码,其中ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy替换成你自己的应用id

<manifest>
    <application>
        <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

在Activity的Oncreate函数中,初始化谷歌移动广告 SDK

MobileAds.initialize(this);

添加测试广告

以插页广告为例,如何进行显示

       final InterstitialAd iad = new InterstitialAd(this);
        //用于测试的广告
        //AdRequest adRequest = new AdRequest.Builder().addTestDevice("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx").build();
        AdRequest adRequest = new AdRequest.Builder().build();

        iad.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy");
        iad.loadAd(adRequest);
        //设置监听器,广告加载完成时进行显示
        iad.setAdListener(new AdListener(){
            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
                if(iad.isLoaded()){
                    iad.show();
                }
            }
        });

上面代码setUnitId方法里面的就是插页单元广告的ID。填入你的对应的单元广告id 通过AdRequest.Builder().addTestDevice()方法显示测试广告,参数会在logcat的程序日志里面看到

Use AdRequest.Builder.addTestDevice("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") to get test ads on this device.

程序运行后会显示测试广告

正式发布时直接使用AdRequest.Builder().build();方法就可以了,就会显示正式广告

为什么应用能够正常显示测试广告而不显示正式广告

查看程序日志

W/Ads: Received error HTTP response code: 400
W/Ads: There was a problem getting an ad response. ErrorCode: 0
W/Ads: Failed to load ad: 0

这是因为没有添加收款信息造成的,在Admob中点击收款,添加收款用户就可以了

I/Ads: No fill from any mediation ad networks.
I/Ads: No fill from ad server.
W/Ads: Failed to load ad: 3

并不是任何时候服务器都会有广告,在注册应用后需要等待一段时间才会有广告被投放。

可以在admob中查看数据,请求了124次,而只有一次展示了广告,因为国内admob广告较少的缘故

通过中介功能,创建中介组,得到更多广告的机会

参考

https://developers.google.cn/admob/android/quick-start