7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Android SDK

如何通过AdMob增加你Android APP的收入

Scroll to top
Read Time: 3 mins

Chinese (Simplified) (中文(简体)) translation by Zhang Xiang Liang (you can also view the original English article)

在本教程中,你将学习如何集成 AdMob,这样你就可以通过写Android APP赚钱,谁不想要钱?Google的AdMob是市场上最大的移动广告平台。

通过Android APP有许多不同的赚钱方式,包括:付费下载,付费订阅,应用内购买和展示广告。 虽然你可以组合这些方式,但还是建议你选择一种方式。在本教程中,你将学到通过展示广告来增加收入。

你将创建的广告类型包括横幅广告,插页式广告和本地快递广告。 我会解释每种广告,并展示如何在你APP中实现它们。但在此之前,我们先来看看如何集成移动广告SDK并进行初始化。 

创建一个Android Studio项目

在Android Studio中,创建一个名为MainActivity的新项目 。

Android Studio add an activity dialogAndroid Studio add an activity dialogAndroid Studio add an activity dialog

加入移动广告 SDK

要开始将AdMob集成到你的APP,你需要先将移动广告SDK添加到你APP module级的 build.gradle文件中:

如果你要将Firebase集成到APP中,那么你应该使用Firebase的SDK:

如果你需要Firebase的入门帮助,请查看Envato Tuts +上的一些Firebase教程:

添加SDK后确保你同步了该项目,同步是为了从网络获取数据。

初始化MobileAds

你需要先初始化MobileAds SDK,然后才能在Android APP上加载广告,因此请尽早进行。我们创建一个继承Application的类,然后我们在onCreate()方法中初始化MobileAds SDK ,因为该方法在APP启动时仅被调用一次。 

MobileAds类的静态方法initialize()的第二个参数应该是你从AdMob申请的app ID。这里,我们使用Google提供的公开app ID进行演示。 

修改清单文件

我们需要将创建的类添加到我们的AndroidManifest.xml文件中 。 

而且,在这个文件中,请确保申请了INTERNET权限以便能收到Google广告。

在下面的代码片段中,我们在AndroidManifest中添加了 AdActivity。 

AdActivty由SDK提供。在用户点击广告时触发横幅广告以供观看,而插页式广告也是用户点击后显示。

1.横幅广告

横幅广告遮住了当前可见屏幕的一部分。换句话说,你的APP和广告中的任何内容都会一起显示在屏幕上。 这样可以改善用户体验,因为用户可以在广告展示时继续使用你的APP,而不像插页式广告那样(只是挂起,我们很快就会遇到)。请注意,横幅广告可以是文字或图片。 

我们来看看如何实现横幅广告。 

在布局中添加横幅广告

AdView是自定义的ViewGroup,它包含了横幅广告,因此我们需要修改我们的activity_banner_ad.xml布局文件以包含此视图。 

我们可以使用属性ads:adSize来调整AdView大小,然后将其值设置为BANNER。ads:adSize属性的其他值还有 LARGE_BANNERFULL_BANNERSMART_BANNER等。 

ads:adUnitId AdView属性设置为Google提供的示例广告单元。如果你想从广告中赚钱,你必须更新与你帐户相关联的广告单元! 

广告单元ID唯一标识了广告展示位置,您可以在AdMob管理控制台中找到它。此ID将告诉AdMob你APP上显示的广告以及显示格式(图片,文字或视频)。

加载广告

为了显示广告,我们需要先请求,然后在AdView上显示,该AdView是在BannerAdActivity类中创建的。

我们使用构建器创建了AdRequest实例来请求广告。然后,我们使用该addTestDevice()方法,设备ID作为参数传入,以便设备接收测试广告,这个设备在我们的例子中是模拟器。 我们最后调用了AdViewloadAd()方法,然后在后台线程中加载广告(以免阻止UI /主线程)。 

测试广告

现在,我们运行项目并查看结果。 

App showing banner adApp showing banner adApp showing banner ad

从上面的屏幕截图,我们看到测试的横幅广告显示在视图的下方。现在可以点击广告与广告进行互动。 

用AdListener监听广告事件

现在来看看在广告中观察到的事件或回调。下面是可用的事件:

添加监听器后,再次运行该项目并与广告进行交互。观看我们创建的toasts,调用事件,然后观察它。 

2.  插页式广告

我们已经看到显示横幅广告是多么的容易。现在来看看如何创建插页式广告。

插页式广告是覆盖你APP整个屏幕的广告,没有APP其他视图的展示空间(我们稍后将会看到)。由于这会覆盖整个屏幕,并且如果网速较慢,还需要一些时间来加载广告,你需要注意不要刺激到用户。 为了避免这种情况,理想情况下,这些插页式广告应在APP的自然中断期间显示,例如游戏中的各个级别之间,而不是在用户处于任务的中间时显示。

在上面的代码中,我们声明并初始化了InterstitialAdActivity类中的InterstitialAd实例。我们将Google提供的广告单元id作为 setAdUnitId()方法的参数。 

就像我们在横幅广告中所做的一样,我们想要监听广告事件,所以我们设定一个监听器来触发重载方法onAdLoaded() 和  onAdFailedToLoad(int i)。我们使用AdRequest构建器创建AdRequest类的实例来请求广告  ,然后调用方法loadAd(),将刚才创建的请求作为参数传递给该方法。 我们使用方法isLoaded() 来确定广告何时加载,然后调用方法show()来显示广告。 

你也可以增加AdListener,就像在横幅广告中那样操作。 

测试广告

现在,我们可以运行APP并查看结果。 

App showing interstitial adApp showing interstitial adApp showing interstitial ad

在上面的屏幕截图中,你可以看到我们的测试插页式广告。 

3.  原生广告快递(Native Ads Express)

Native Ads Express可让你(发布者)自定义广告的外观和风格,使其自适应你的APP。 此定制通过定义你AdMob帐户中定义自己的字体,颜色,大小等CSS模板来完成的。你不能更改图像,描述和标题,因为这些都是由广告客户设置的。

NativeExpressAdView中的自定义广告可以在你的APP中显示。 

NativeExpressAdView引入到你的布局中

下面我们在布局文件中添加NativeExpressAdView(是一种ViewGroup)。将android:layout_height 和  android:layout_width属性设置为wrap_content。 ads:adSize属性设置为"320x300",我们会使用谷歌提供的NativeExpress广告单元ID(仅用于演示目的)。 

加载广告

接下来,我们构建AdRequest并开始加载要显示的广告。我们还要添加代码来响应Activity生命周期回调。你也可以添加一个  AdListener,就像我们为横幅广告做的那样。

测试广告

现在,你可以运行APP,就能查看你的Native Express广告了。

App showing NativeExpressAdView App showing NativeExpressAdView App showing NativeExpressAdView

创建你自己的AdMob帐户

现在我们已经了解了不同类型的广告,你可以开始将其集成到您的APP中了。 要真正开始展示广告和赚钱,你还需要一个AdMob帐户,其中包含与广告客户相关联的真实广告单元ID。AdMob帐户只需访问AdMob网站即可注册! 

AdMob website home screenAdMob website home screenAdMob website home screen

结语

在本教程中,你学到了AdMob以及如何在Android中集成不同的AdMob广告类型,例如横幅广告,插页式广告和本地快递广告。 

要了解Android上关于AdMob的更多信息,请参阅官方文档。与此同时,请查看关于Android APP开发的其他教程!

关注我们的公众号
Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.