Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

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

by
Difficulty:BeginnerLength:MediumLanguages:

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 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 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 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

创建你自己的AdMob帐户

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

AdMob website home screen

结语

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

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

关注我们的公众号
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.