`
bsr1983
  • 浏览: 1124156 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Google AdMob 广告 iOS 中级指南

 
阅读更多
转自:https://developers.google.com/mobile-ads-sdk/docs/ios/intermediate?hl=zh-cn

转载仅为防止被墙致无法查阅!

Google AdMob 广告 iOS 中级指南

横幅尺寸

除了 iPod Touch 和 iPhone 所显示的 320x50 外,Google AdMob 广告还支持 iPad 所用的三种平板电脑专用横幅广告尺寸:

尺寸(宽度x高度) 说明 适用范围 AdSize 常量
320x50 标准横幅广告 手机和平板电脑 GAD_SIZE_320x50
300x250 IAB 中矩形 平板电脑 GAD_SIZE_300x250
468x60 IAB 全尺寸横幅广告 平板电脑 GAD_SIZE_468x60
728x90 IAB 页首横幅 平板电脑 GAD_SIZE_728x90
SDK 会请求系统传回满足请求方 GADBannerView 要求的最大尺寸。如果您的视图尺寸太小,则不会返回任何广告。

广告刷新

如果您在服务器的 AdMob 帐户中指定了刷新率,横幅广告就会自动刷新,也可以通过加载新的请求以编程方式进行刷新。

注意:当前的刷新率范围是 12-120 秒

GADRequest

您可以先自定义 GADRequest,然后再将其传递给 GADBannerView.loadRequest:,这样 Google 就能更精确地定位广告。

GADRequest.testDevices

可以使用此参数指定要接收测试广告的一系列设备。您应该在开发过程中使用这一属性防止产生不适当的展示。要验证 SDK 已成功完成集成,请将您的测试设备添加到此列表,运行应用,然后点击所显示的测试广告。应用内浏览器应该向上滑动并覆盖整个屏幕。

设备标识符会标识设备(与向 Apple 注册的开发设备标识相同)。要获得此值,请打开 Organizer(Xcode 中的 Window > Organizer),用 Control 键或鼠标右键点击设备名,然后选择 Copy Device Identifier(复制设备标识符)。您也可以通过使用 [[UIDevice currentDevice] uniqueIdentifier] 的代码获得此值。

GADRequest *request = [GADRequest request];

request.testDevices = [NSArray arrayWithObjects:
    GAD_SIMULATOR_ID,                               // 模拟器
    @"TEST_DEVICE_ID",                              // 测试 iOS 设备
    nil];
广告定位

您还可以指定地理位置定位信息和根据受众特征定位的信息。出于对用户隐私权的尊重,Google 要求所指定的位置和受众特征数据必须来自您的应用已在使用的信息。

GADRequest *request = [GADRequest request];

request.gender = kGADGenderMale;

[request setLocationWithLatitude:locationManager_.location.coordinate.latitude
                       longitude:locationManager_.location.coordinate.longitude
                        accuracy:locationManager_.location.horizontalAccuracy];

[request setBirthdayWithMonth:3 day:13 year:1976];

[bannerView_ loadRequest:request];
如果不想使用 CoreLocation,您可以通过更宽泛的字词来指定位置:

[request setLocationWithDescription:@"94070 US"];
注意:setLocationWithDescription: 和 setLocationWithLatitude:longitude:accuracy: 相互排斥。

GADBannerViewDelegate

您可以选择实施全部或部分 GADBannerViewDelegate,以跟踪请求失败或“点击访问”等广告生命周期事件。

@protocol GADBannerViewDelegate <NSObject>
  @optional
  - (void)adViewDidReceiveAd:(GADBannerView *)bannerView;
  - (void)adView:(GADBannerView *)bannerView
      didFailToReceiveAdWithError:(GADRequestError *)error;

  - (void)adViewWillPresentScreen:(GADBannerView *)bannerView;
  - (void)adViewDidDismissScreen:(GADBannerView *)bannerView;
  - (void)adViewWillLeaveApplication:(GADBannerView *)bannerView;
@end
这些方法既可以在视图控制器等独立的对象中实施:

#import "GADBannerViewDelegate.h"

@interface NibExampleViewController : UIViewController <GADBannerViewDelegate> {
}

@end
也可以作为 GADBannerView 子类的一部分实施:

#import "GADBannerView.h"
#import "GADBannerViewDelegate.h"

@interface MyBannerView : GADBannerView <GADBannerViewDelegate> {
}

@end
在请求广告前,请务必先使用 setDelegate: 设置委托。

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
当 loadRequest: 成功时发送;如果发送者之前一直隐藏,这是将其添加到视图层级结构的好机会。要使横幅广告从视图控制器加载后就在屏幕上向上滑动,可以参考下例:
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
  [UIView beginAnimations:@"BannerSlide" context:nil];
  bannerView.frame = CGRectMake(0.0,
                                self.view.frame.size.height -
                                    bannerView.frame.size.height,
                                bannerView.frame.size.width,
                                bannerView.frame.size.height);
  [UIView commitAnimations];
}
- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error
当 loadRequest: 失败时发送。常见失败原因:网络故障、应用配置错误,或广告资源不足。您可以记下这些事件,以便进行调试:
- (void)adView:(GADBannerView *)bannerView
    didFailToReceiveAdWithError:(GADRequestError *)error {
  NSLog(@”adView:didFailToReceiveAdWithError:%@”, [error localizedDescription]);
}
- (void)adViewWillPresentScreen:(GADBannerView *)bannerView
在系统响应用户触摸发送者的操作而即将向其展示全屏广告用户界面时发送。与使用 UIApplicationDidEnterBackgroundNotification 时类似,此时应该暂停所有动画、计时器或其他可能会与用户互动的活动,并保存应用状态。
通常用户会简单浏览全屏广告然后关闭它,这样会生成 adViewDidDismissScreen: 并将控制权返回给您的应用。如果横幅广告的操作是 Click-to-App-Store 或 Click-to-iTunes,或者用户在广告内按“首页”键,则您的应用会转到后台运行或者可能终止运行。

如果使用 iOS 4.0+,在这些情况下,系统接着会相继调用根视图控制器的 applicationWillResignActive: 以及 adViewWillLeaveApplication: 这两个方法。

- (void)adViewDidDismissScreen:(GADBannerView *)bannerView
当用户已退出发送者的全屏用户界面时发送
- (void)adViewWillDismissScreen:(GADBannerView *)bannerView
在用户关闭发送者的全屏用户界面前发送,用以恢复您的应用和根视图控制器。这时应该重新启动 adViewWillPresentScreen: 执行期间暂停的任何前台活动。
- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView
在应用因为用户触摸 Click-to-App-Store 或 Click-to-iTunes 横幅广告而转至后台或终止运行前发送。在此之前,先会有 applicationDidEnterBackground: 等常规 UIApplicationDelegate 通知显示。
在这些方法中,您可以通过查看 GADBannerView.hasAutoRefreshed 来判断是否有刷新操作触发了事件。

请注意,如果您将委托作为非 GADBannerView 子类的独特对象来实施,在发布视图前,请务必将 GADBannerView 的委托属性设为 nil。

- (void)viewDidUnload {
  bannerView_.delegate = nil;
  [bannerView_ release];
}

- (void)dealloc {
  [super dealloc];
}
Objective-C 委托不会保留,可能会在委托对象最终获得重新分配之前采用异步方式发送出去。
分享到:
评论

相关推荐

    cocos creator 发布IOS版本(三) google admob广告sdk接入

    这个demo在虚拟器上会出现,调用广告有时候会出现Cannot find an ad network adapter with the name(s): com.google.DummyAdapter. Remember to link all required ad network adapters and SDKs,但在真机上没问题,...

    admob 广告 SDK IOS

    AdMob是Google提供的一款强大的移动广告平台,专为开发者设计,用于在iOS和Android应用中集成广告,从而实现盈利。AdMob SDK for iOS是专门为苹果设备优化的版本,允许开发者在其应用程序中无缝地展示各种类型的广告...

    iOS中加入iAD和ADMOB广告

    本教程将详细介绍如何在iOS应用中集成两种常见的广告网络:Apple的iAD和Google的ADMOB。 首先,我们来了解这两个广告平台的基础知识: 1. **iAD**:由Apple提供,是专门为iOS和OS X设备设计的内置广告解决方案。...

    AdMob广告接入教程.rar

    AdMob是Google提供的一款强大的移动广告平台,它允许开发者在Android和iOS应用中展示各种类型的广告,如横幅广告、插屏广告、激励视频广告等,从而实现盈利。本教程将详细讲解如何将AdMob广告接入到您的应用程序中,...

    GoogleAdmob接入封装,androidstudio中接入admob

    AdMob是Google提供的一个广告网络平台,提供多种广告格式,如横幅广告、插屏广告和激励视频广告。以下是关于如何在Android Studio项目中接入AdMob的详细步骤和相关知识点: 1. **安装Google Play Services库** ...

    admob广告平台Demo

    AdMob是Google提供的一款强大的移动广告平台,专为开发者设计,用于在他们的应用程序中嵌入广告,从而实现盈利。这个“admob广告平台Demo”很可能是一个包含示例代码和配置文件的项目,帮助开发者理解如何在自己的...

    Admob for iOS Android Amazon.rar

    AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS、Android以及Amazon设备上展示广告,从而为应用创造收入。本指南将详细介绍如何在Unity引擎中集成AdMob,以便在各个平台上顺利发布并实现广告功能。 ...

    Google Admob For Unity 5.1

    google admob ads for unity插件,同时支持android和iOS。 支持新版本admob横幅很插屏广告。 android项目把admob_unity_plugin.unitypackage import进unity3d工程即可 然后把admobdemo.cs 复制到项目中,并修改...

    IOS苹果广告和谷歌广告整合

    在移动应用开发领域,iOS平台和Google AdMob的广告整合是一项常见的需求,旨在扩大广告覆盖面,提高收益。本文将深入探讨如何在iOS应用中整合iAd(苹果原生广告服务)与AdMob(谷歌的广告网络平台),以及如何做到无...

    ios admob demo

    iOS AdMob SDK是Google提供的一个广告平台,专为iOS开发者设计,用于在他们的应用程序中集成广告。AdMob提供了一个简单、高效的方法来展示各种类型的广告,包括横幅广告、插屏广告和激励视频广告,帮助开发者实现...

    admob ane android ios 稳定附例子详细教程

    【标题】"admob ane android ios 稳定附例子详细教程"涉及的主要知识点是Adobe Air应用开发中集成Google AdMob广告网络的过程,适用于Android和iOS平台。AdMob ANE(Adobe Native Extension)是一种扩展,它允许Air...

    Admob 广告加载示例

    Admob是Google提供的一款强大的移动广告平台,广泛用于Android和iOS应用中,为开发者提供了多种广告格式,包括原生广告、插页广告和横幅广告。在这个“Admob广告加载示例”中,我们将深入探讨如何在Android应用程序...

    iPad/iPhone 增加adMob移动广告Demo

    在iOS应用开发中,将adMob移动广告集成到iPad或iPhone应用中是常见的盈利和推广方式。adMob是由Google提供的一项服务,它允许开发者在他们的应用程序中展示广告,从而赚取收入。本教程将深入探讨如何在iPad和iPhone...

    Admob ane for ios

    AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS和Android应用中轻松集成广告,从而实现盈利。AdMob ANE(Adobe Native Extension)是为了让Adobe Air开发者能够方便地在iOS应用程序中接入AdMob服务...

    admob sdk for ios6.0

    AdMob是Google的一款移动广告平台,允许开发者在他们的iOS应用中集成广告,从而实现盈利。这个SDK确保了对两种主要的iOS设备架构,即armv7和armv7s的支持,这涵盖了当时大部分的iOS设备。 1. **AdMob SDK**:AdMob ...

    iOS如何添加谷歌广告

    在iOS平台上集成谷歌广告,主要是为了在应用中展示广告,增加收入或推广产品。这个过程涉及到Google AdMob,它是Google提供的一个广告网络平台,适用于移动应用程序。以下将详细讲解如何在iOS项目中添加并配置谷歌...

    admob广告展示

    AdMob是Google提供的一款强大的移动广告平台,它允许开发者在Android和iOS应用中集成广告,以实现盈利。本文将深入探讨AdMob广告展示的相关知识点,包括AdMob的基本概念、广告类型、集成步骤以及优化策略。 一、...

    GoogleAdmobBindingXamariniOS:谷歌 Admob 的 iOS 绑定项目,具有统一的 API 支持

    适用于 Xamarin iOS 的 Google Admob 绑定 谷歌 Admob 的 iOS 绑定项目,具有统一的 API 支持。 当前 AdMob 版本: 7.0.0. 目前包含的架构: armv7 armv7s arm64 i386 x86_64 主页: : 如何使用 您可以在 bin/...

    unity google广告插件

    Unity谷歌广告插件是开发者在Unity游戏或应用中集成Google AdMob广告的一种工具。AdMob是Google提供的一个全球领先的移动广告服务,它允许开发者通过展示广告来赚取收益。这款插件使得在Unity项目中实现广告的显示变...

    如何添加admob的广告

    AdMob是谷歌提供的一个强大且广泛使用的移动广告平台,它允许开发者在他们的应用程序中展示各种类型的广告,包括横幅广告、插屏广告和激励视频广告,从而实现盈利。本文将详细介绍如何在Android应用中集成AdMob广告...

Global site tag (gtag.js) - Google Analytics