十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

如何使用谷歌AdMob广告来获取盈利

百恒网络 2017-05-17 4525

昨天我们了解了iOS商业模式的收费策略和使用苹果iAd广告,今天继续跟随南昌网络公司小编学习如何使用谷歌AdMob广告来获取盈利。在一些无法显示iAd广告的国家,使用谷歌的AdMob广告是一个非常不错的选择。

1.注册 AdMob 账号

要为我们的应用添加AdMob广告,首先需要注册AdMob账号。AdMob的主页是https://apps.admob. com/登录时,需要使用谷歌账户。如果没有谷歌账户的话,需要先注册一个谷歌账户,然后再登录。如果是第一次登录,还需要为AdMob填写完整的信息,如图1所示。填写必要而完整的信息后,提交信息就可以了。

AdMob注册页面

图1 AdMob注册页面

2.管理 AdMob 广告

登录成功之后,我们就可以管理应用。选择“获利”标签,进入获利管理页面,如图2所示,点击“通过新应用获利”按钮可以添加应用,此时的界面如图3所示。

添加应用

图2 添加应用

在图3所示的页面中,可以选择的应用如下所示。

搜索您的应用:适合于已经上线的应用,我们可以在Google Play和iTunes App Store应用商店中搜索。

手动添加您的应用:适合于新创建一个应用。

从您添加的应用中选择:可以从现有的应用选择添加。

这里我们选择“手动添加您的应用”标签,输入应用名称和选择平台,然后点击“添加应用”按钮,此时得到的界面如图4所示。

手动添加应用

图3 手动添加应用

为应用添加广告

图4 为应用添加广告

在图4所示的页面中,可以点击“横幅广告”或“插页式广告”按钮。如果点击“横幅广告”,则进入如图5所示的新建广告单元页面,其中“自动刷新”和“文字广告样式”可以采用默认值,在“广告单元名称”中输入一个具有唯一性的名称,以便日后管理使用,然后点击“保存”按钮,则进入图6所示的页面,此时点击“完成”按钮就创建完广告单元。

新建广告单元

图5 新建广告单元

创建后广告单元

图6 创建后广告单元

创建完成后的页面中会有广告单元ID,这个ID是我们编程时需要的,谷歌会根据这个ID判断是谁投放的广告。

3.AdMob 广告类型

AdMob广告分为:横幅广告和插页广告。

横幅广告像“条幅”一样挂在屏幕上,在屏幕中某一位置占有部分空间。当点击横幅广告时,导航到另外的一个应用或者弹出窗口以呈现广告的细节。点击关闭广告按钮时,可以回到原始的屏幕。无论横屏还是竖屏的情况,横幅广告在不同设备中的尺寸都是固定的,如图7所示。

AdMob横幅广告

图7 AdMob横幅广告

AdMob插页广告与横幅广告不同,插页广告可以占用屏幕的全部空间。在应用启动、视频前贴片或游戏关卡加载时显示广告,我们把这种场景称为“启动场景”AdMob插页广告(见图8)。还有一种是在视频播放结束或游戏结束时显示的,我们称之为“结束场景”AdMob插页广告(见图9)。

启动场景的AdMob插页广告

图8 启动场景的AdMob插页广告

结束场景的AdMob插页广告

图9 结束场景的AdMob插页广告

4.下载 AdMob Ads SDK

谷歌为开发人员提供了一个帮助网站https://developers.google.com/mobile-ads-sdk/,我们可以在这里下载AdMob Ads SDK。进入下载页面(见图10),其中显示可以下载的SDK有4种。

Android (Google Play)。是使用Android系统需要的SDK,它使用了Google Play服务API,在Android系统中推荐使用这个SDK。

Android (6.4.1 and earlier SDKs)。是使用Android系统需要的SDK,它是给低版的Android系统使用的。

iOS。为iOS平台提供SDK。

Windows Phone 8。为Windows Phone 8平台提供SDK。

AdMob Ads SDK下载页面

图10 AdMob Ads SDK下载页面

这里我们需要下载iOS SDK。

5.配置 AdMob 开发环境

我们首先将下载的AdMob iOS SDK压缩件googlemobileadssdkios.zip解压,内容如下:

GoogleMobileAdsSdkiOS目录

|____Add-ons

|____GADAdMobExtras.h

|____GADAdNetworkExtras.h

|____GADAdSize.h

|____GADBannerView.h

|____GADBannerViewDelegate.h

|____GADInAppPurchase.h

|____GADInAppPurchaseDelegate.h

|____GADInterstitial.h

|____GADInterstitialDelegate.h

|____GADModules.h

|____GADRequest.h

|____GADRequestError.h

|____libGoogleAdMobAds.a

|____README.txt

一般只需要.h文件和.a文件就可以了,而Add-ons目录用于存放插件,例如广告搜索定位等功能。我们需要将用到的.h文件和.a文件添加到Xcode工程中,我的习惯是将这些文件复制到工程目录中,并为其创建一个文件夹,如图11所示。然后会在Xcode中启动该工程,并将该文件夹添加到工程中。

添加.h文件和.a文件

图11 添加.h文件和.a文件

由于AdMob依赖于其他的一些框架,我们需要把这些框架添加到工程中,这些框架包括:

StoreKit.framework

CoreTelephony.framework

SystemConfiguration.framework

MessageUI.framework

MediaPlayer.framework

AdSupport.framework

AudioToolbox.framework

AVFoundation.framework

CoreGraphics.framework

QuartzCore.framework

EventKitUI.framework

EventKit.framework

引入框架后,还需要设置编译参数Other Linker Flags,把它的Debug和Release参数都设置为-ObjC,如图12所示。

设置编译参数Other Linker Flags

图12 设置编译参数Other Linker Flags

配置好后我们就可以编译了,如果前面的设置没有问题,我们应该能够编译成功。

6.AdMob 横幅广告

AdMob横幅广告与iAd横幅广告的概念一样,出现在屏幕中某一位置,占有部分空间,点击广告进入广告详细信息页面。

AdMob也规定了不同的广告尺寸,不同的尺寸是由如下常量定义的。

kGADAdSizeBanner。标准横幅广告,尺寸320×50,适应于iPhone、iPod touch和iPad。

kGADAdSizeLargeBanner。夸大的kGADAdSizeBanner,尺寸320×100。

kGADAdSizeMediumRectangle。矩形广告(Medium Rectangle),可以在iPad设备上使用,广告尺寸是320×250。

kGADAdSizeFullBanner。全栏广告,适用于iPad ,广告尺寸是468×60。

kGADAdSizeLeaderboard。排行榜广告,适用于iPad ,广告尺寸是728×90。

kGADAdSizeSmartBannerPortrait。竖屏智能广告,iPhone和iPod设备竖屏情况下的高度是50,iPad设备竖屏情况下的高度是90。

kGADAdSizeSmartBannerLandscape。横屏智能广告,iPhone和iPod设备横屏情况下的高度是32,iPad设备横屏情况下的高度是90。

由于AdMob是Objective-C编写的,我们需要在工程中添加桥接头文件,并需要在编译参数中设置。在SizeClassSample-Bridging-Header.h中添加如下内容:

#import "GADBannerView.h"

#import "GADBannerViewDelegate.h"

#import "GADRequest.h"

下面的代码是案例工程中ViewController的代码:

ViewController代码一

ViewController代码二

上述代码中,第①行定义ViewController中需要声明遵守GADBannerViewDelegate协议。第②行代码定义了GADBannerView类型的属性adBannerView。第③行代码定义常量AdUnitID,指定应用发布者ID。

第④行代码用于创建并初始化广告栏视图,其中createBannerView方法是我们自定义的。在createBannerView方法中,第⑤行代码用于在广告栏视图对象非空的情况下,设置委托对象为nil,第⑥行代码用于将广告栏视图对象从父视图中移除掉。第⑤和⑥行代码对于再次创建并初始化广告栏视图非常重要。第⑦行代码用于创建广告栏视图GADBannerView对象。第⑧行代码用于设置应用发布者ID,第⑨行代码用于设置广告栏视图的委托对象为self,第⑩行代码用于将当前视图控制器作为广告栏根视图控制器。第⑪行代码用于请求广告,其中self.request()语句(Objective-C中是self request)用于获得请求对象GADRequest。

由于在横屏和竖屏切换的时候,需要改变广告栏的大小,因此需要捕获屏幕旋转,这可以通过viewWillTransitionToSize:withTransitionCoordinator:方法实现,见代码第⑫行,该方法是iOS 8新的API。第⑬行代码用于判断横屏情况,也就是宽大于高的情况下,相反如果宽小于高时则是竖屏情况。

第⑭行代码用于定义request方法,其中第⑮行代码用于创建请求对象GADRequest。第⑯行代码用于设置测试设备标识,其中GAD_SIMULATOR_ID是模拟器标识,7740674c81cf31a50d2f92bcdb729f10是我们的iPod touch设备标识。

南昌网络公司小编提示:设置测试设备非常重要,如果你的测试设备标识没有添加到testDevices集合中,在应用运行的时候会在控制台输出该设备的标识,我们需要将这个设备标识复制并添加到testDevices集合中。如果你不添加测试设备标识,而去点击广告,这样谷歌一旦检测出来,你的AdMob广告账号会被封掉。

运行一下看看效果,广告请求成功后会看到如图13所示的广告横幅,点击广告栏即可启动广告详细内容画面。

AdMob横幅广告画面

图13 AdMob横幅广告画面

7.添加 AdMob 插页广告

AdMob插页广告与苹果iAd插页广告比较相似,都是全屏显示,它的应用场景与iAd稍有不同。在应用启动、视频前贴片或游戏关卡加载时显示广告,我们把这种场景称为“启动场景”,这与iAd的“内容显示场景”类似。还有一种是在视频播放结束或游戏结束时显示的,我们称之为“结束场景”。

(1)启动场景

应用启动、视频前贴片或游戏关卡加载时,会弹出模态全屏广告对话框,点击全屏广告左上角的关闭按钮,可以关闭该对话框,如图17-21所示。没有广告时,直接进入②界面(主屏幕界面),如果有广告填充时先启动①(广告界面)进入,我们需要关闭它才能回到②界面(主屏幕界面)。

下面我们将图7所示的插页广告实现一下。首先,参考添加AdMob设置环境。然后,添加桥接头文件AdMobFullScreen1Demo-Bridging-Header.h,其代码如下:

#import "GADInterstitial.h"

案例的主要代码是在ViewController中编写的,具体如下:

ViewController代码一

ViewController代码二

上述代码中,第①行说明定义类时需要声明遵守GADInterstitialDelegate委托协议,该协议规定了GADInterstitial 生命周期事件。第②行代码是定义GADInterstitialAd 类型的属性 splashInterstitial 。

GADInterstitialAd是AdMob插页广告视图对象。第③行代码用于创建并初始化插页广告视图对象。第④行代码用于请求广告,其中self.createRequest()语句(Objective-C是self createRequest)用于获得请求对象GADRequest。

第⑤行和第⑧行是GADInterstitialDelegate委托协议方法,其中第⑤行的方法是成功加载广告的方法,第⑥行用于判断广告是否已经加载完成,第⑦行用于呈现广告界面,其中self是当前视图控制器,它也是呈现广告界面的视图控制器。

(2)结束场景

该场景是在视频播放结束或游戏结束时显示广告,它需要有一个触发条件,满足该条件时才弹出模态全屏广告对话框,如图8所示。下面我们将图8所示的插页广告实现一下。首先,参考添加AdMob设置环境。然后,添加桥接头文件AdMobFullScreen2Demo-Bridging-Header.h,相关代码如下:

#import "GADInterstitial.h"

案例的主要代码是在ViewController中编写的。ViewController类定义、属性等的相关代码如下:

ViewController类定义、属性等的相关代码一

ViewController类定义、属性等的相关代码二

在onClick:方法中,第①行代码通过NSTimer开始计划任务,该计划任务是每隔0.1秒调用一次update方法。在update方法中,第②行代码用于判断游戏是否结束(当然这是模拟),NSTimer使用完,就需要使用第③行代码停止计划执行。第④行代码用于实例化GADInterstitial对象。第⑦行代码通过调用createRequest方法获得请求对象发出广告请求。

createRequest方法的代码如下:

createRequest方法的代码

下面我们再看看ViewController中有关GADInterstitialDelegate委托的实现代码:

ViewController中有关GADInterstitialDelegate委托的实现代码一

ViewController中有关GADInterstitialDelegate委托的实现代码二

在接收成功的interstitialDidReceiveAd:方法中,需要使用第①行代码模态呈现广告对话框,GADInterstitial对象的presentFromRootViewController:方法需要在成功请求回来后再调用。运行一下,看看是否能呈现广告。

8.为广告提交用户和位置信息

如果广告主能够获得用户信息或位置信息,那么展示给用户的广告会更有针对性。出于对用户隐私的尊重,谷歌要求只能指定以下信息:用户性别、用户生日和位置等。

修改第6节案例中ViewController的createRequest代码,具体如下:

ViewController的createRequest代码

在上述代码中,第①行代码用于设定用户的性别,其中GADGender.Male(Objective-C中是KGADGenderMale)是男性常量。类似地,还有.Female女性常量和.Unknown未知常量。第②行代码用于设置用户的出生信息。

第③行代码用于设置用户的位置信息,其中setLocationWithLatitude:部分用于设置纬度,如39.904667,longitude:部分是经度,如116.408198,这个经纬度是北京的地理坐标,accuracy:部分是水平精度。如果我们得不到经纬度地理坐标,也可以采用地理信息描述方式查询位置,第④行的setLocationWithDescription:方法就可以实现这个目的。

9.搜索广告

AdMob还提供了一些插件来编写更加准确的广告应用,搜索广告就是其中一个。搜索广告用于访问GoogleAdWords广告资源,帮助用户查找他们所需的内容。

搜索广告使用GADSearchBannerView替代GADBannerView。

使用搜索广告时,首先导入Add-ons目录中的Search、DoubleClick和Mediation子目录。注意导入采用组,如图14所示,在Folders中选中Create groups for any added folders单选按钮,这可以使原来目录中的子目录变成工程中的“组”。

导入Add-ons目录

图14 导入Add-ons目录

下面我们修改第6节案例中ViewController的代码,主要代码如下:

ViewController的代码

上述代码中,第①行用于实例化GADSearchBannerView对象,注意不是GADBannerView对象。在request方法中,第②行代码用于实例化GADSearchRequest请求对象,第③行代码用于设置搜索关键词,第④行代码用于获得GADRequest对象,这是通过GADSearchRequest的类方法request返回的。

我们首先了解了iOS中的商业模式,其中收费策略值得广大读者借鉴。然后,我们重点学习了植入广告,其中包括苹果自己的iAd和谷歌的AdMob广告。了解更多相关资讯,欢迎咨询南昌网络公司--百恒网络。百恒网络是一家专业从事南昌网站建设、微信开发、APP开发、网络营销等服务的南昌网络公司,技术过硬,经验丰富。如有任何网站方面的问题,百恒网络随时欢迎大家来电咨询,我们专业为您解答!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×