开始使用

本指南为您介绍如何创建新的 iOS 项目、加入 Google 移动广告 SDK 以及发送您的第一个横幅广告请求。

前提条件

下载 DFP 横幅广告示例

创建新项目

在此步骤中,我们将在 Xcode 中创建一个全新的项目。如果您尚未运行 Xcode,请现在将其打开。

创建新的 Xcode 项目

转到文件 > 新建 > 项目。选择 iOS 应用下的单一视图应用,然后点击下一步

为您的项目命名

将项目命名为“DFPBannerExample”。选择“Swift”或“Objective-C”语言。然后点击下一步

为项目选择位置

为您的项目选择一个位置,然后点击“Create”(创建)以创建一个新项目。

构建并运行您的新项目

要使用模拟器,请转到“Product”(产品)>“Destination”(目标)并选择 iPhone 模拟器。然后选择“Product”(产品)>“Run”(运行)验证您的应用构建情况和运行情况。该应用当前只显示空的白屏。不要着急,我们会在后续步骤中添加相关内容。

将 SDK 添加到 Xcode 项目中

您可以使用以下两种方法将 Google 移动广告 SDK 添加到 Xcode 项目中:

使用 CocoaPods(精简方式)

创建 Podfile

DFPBannerExample.xcodeproj 文件所在的同一目录中,创建一个包含以下内容的名为 Podfile 的文件:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'

target 'DFPBannerExample' do
  pod 'Google-Mobile-Ads-SDK', '~> 7.8'
end

运行 pod install

Podfile 文件所在的目录中,从终端运行 pod install。安装完成后,关闭 DFPBannerExample.xcodeproj 并打开 DFPBannerExample.xcworkspace

您的项目文件应包含一个目录为 Pods/Google-Mobile-Ads-SDKPods 项目。

重新构建您的项目

重新构建并运行您的项目。虽然应用仍显示白屏,但目前您的应用正在引用 Google 移动广告 SDK。现在您可以开始发送您的第一个横幅广告请求

使用 SDK 下载(手动方式)

如果您还没有 Google 移动广告 SDK,请从下载页面下载并解压缩。

添加框架

右键点击 DFPBannerExample 项目,然后选择将文件添加到“DFPBannerExample”。

添加 GoogleMobileAds.framework。

重新构建您的项目

重新构建并运行您的项目。您仍会看到一个白屏,但现在您会在 Xcode 控制台中看到一条日志,说明您的 Google 移动广告 SDK 的版本。

您的第一个横幅广告请求

现在您的项目已经成功引用 SDK,接下来我们将横幅广告放入该项目中。

您可以通过 Storyboard 或代码创建 DFPBannerView。由于布局通常是在 Storyboard 中定义的,因此本指南将介绍使用 Storyboard 的方法。

在 Storyboard 中添加 DFPBannerView

打开 Main.storyboard。在右下角的对象库中,搜索 UIView 并将 UIView 元素拖放到视图控制器中。然后在右上角的身份检查器中为此视图指定自定义类 DFPBannerView

在 DFPBannerView 上添加固定点

我们将在 DFPBannerView 上设置固定点,以使其位于屏幕底部的中央,尺寸为 320x50。

确保选中该视图,然后点击屏幕底部的固定图标。为横幅广告底部指定 Spacing to nearest neighbor(与附近内容的最近间距)限制并将值设置为 0。这将会将该视图固定到屏幕底部。

另请查看对宽度和高度的限制并将相应值分别设置为 32050,以设置视图的尺寸。

接下来,点击 Pin(固定)图标左侧的 Align(对齐)图标,并添加 Horizontal Center in Container(容器中的水平中心)限制,将值指定为 0

对限制做出更改后,您可以通过以下方式查看视图所在的位置:依次选择 Pin(固定)右侧的 Resolve Auto Layout Issues(解决自动布局问题)图标和 Update frames(更新框架)

横幅广告现在将显示在正确的位置。

在代码中添加对 DFPBannerView 的引用

您需要在代码中引用 DFPBannerView 以便向其中加载广告。请转到视图 > 助理编辑器 > 显示助理编辑器以打开助理编辑器。确保助理编辑器中显示 ViewController.h 文件。接下来,按住 Ctrl 键,点击 DFPBannerView 并将光标拖动到 ViewController.h。对于 Swift 项目,请按照上面的步骤操作,但需要在 ViewController.swift 文件中添加对 DFPBannerView 的引用。

Xcode 将为您生成并连接一个属性。请将其命名为“bannerView”并选择连接

Objective-C

ViewController.m
#import <UIKit/UIKit.h>

@import GoogleMobileAds;

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet DFPBannerView  *bannerView;

@end

Swift

ViewController.swift
import UIKit
import GoogleMobileAds

class ViewController: UIViewController {

  @IBOutlet weak var bannerView: DFPBannerView!

} 

要解决编译错误,还要在 ViewController.h 中加入 @import GoogleMobileAds 或在 ViewController.swift 中加入 import GoogleMobileAds,以便编译器知道 DFPBannerView 是一个有效的类。

将广告加载到 DFPBannerView

最后,将代码添加到 ViewController.mViewController.swift 中,从而将广告加载到横幅广告视图中。

Objective-C

ViewController.m
- (void)viewDidLoad {
  [super viewDidLoad];

  NSLog(@"Google Mobile Ads SDK version: %@", [DFPRequest sdkVersion]);
  self.bannerView.adUnitID = @"/6499/example/banner";
  self.bannerView.rootViewController = self;
  [self.bannerView loadRequest:[DFPRequest request]];
}

Swift

ViewController.swift
override func viewDidLoad() {
  super.viewDidLoad()

  print("Google Mobile Ads SDK version: \(DFPRequest.sdkVersion())")
  bannerView.adUnitID = "/6499/example/banner"
  bannerView.rootViewController = self
  bannerView.loadRequest(DFPRequest())
}

请执行以下 3 项更改:

  1. viewDidLoad 方法中,在横幅广告上设置一个广告单元 ID。您最终需要在 DFP 界面中投放自己的订单项,然后使用广告单元定位该订单项,并在您的应用中使用该广告单元 ID。但是为简便起见,您可以使用上面提供的投放到某一测试订单项的示例广告单元 ID。

  2. 将包含 DFPBannerView 的视图控制器设置为根视图控制器。此视图控制器用于在用户点击广告后呈现重叠式广告。

  3. 使用 DFPRequest 对象在 DFPBannerView 上调用 loadRequest:

运行应用

构建并运行应用。这次,您将在屏幕底部看到一个测试横幅广告。

恭喜您!您已成功发送第一个广告请求。

在 Github 上查看已完成的示例

Objective-C

Swift

在 GitHub 上查看横幅广告示例的完整实现:

Objective-C Swift

后续操作

要了解全屏插页式广告,请查看插页式广告指南

要调整您的横幅广告实现方式,请查看以下指南:

常见问题解答

我正在使用 CocoaPods。我该如何更新 SDK?
在终端中,在 Podfile 所在的目录中运行 pod update
如何获取 DFP 广告单元 ID?
DFP 广告单元 ID 的格式为:/networkCode/adUnitName。您可以在 DFP 中生成广告单元 ID。首先,登录您的 DFP 帐号。在广告资源标签上,导航到广告单元,然后点击生成代码。或者,您可以在广告联盟设置下的管理标签上找到您的帐号的广告联盟代码。
我不断收到错误消息“无效的未知请求错误:无法确定请求类型。您的广告单元 ID 是否正确?”
请确保您的广告单元 ID 正确无误。它应该采用 /<network_code>/<ad_unit_path> 的格式。

发送以下问题的反馈:

此网页
SDK for DFP Users on iOS
需要帮助?请访问我们的支持页面