AdMob(app内嵌广告)使用入门 您所在的位置:网站首页 wps不支持打开此类型的文件 AdMob(app内嵌广告)使用入门

AdMob(app内嵌广告)使用入门

2023-03-10 06:14| 来源: 网络整理| 查看: 265

微信公众号 关注公众号“投手网”,查看隐藏内容

使用微信扫描二维码关注公众号后,回复“查看码”获取查看码

创建新项目

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

创建新的 Xcode 项目

 导航到 File > New > Project。选择 iOS 应用下的 Single View Application 并点击 Next。

为项目命名

将您的项目命名为"BannerExample"。针对语言选择"Swift"或"Objective-C"。然后点击 Next。

选择项目位置

为您的项目选择一个位置,并点击 Create 以完成新项目的创建。

构建并运行您的新项目

要使用模拟器,请导航到 Product > Destination,并选择一个 iPhone 模拟器。然后选择 Product > Run 以验证您的应用构建情况和运行情况。该应用当前只显示空的白屏。但不用担心,我们将在后续步骤中添加更多内容。

添加 Firebase 和 Mobile Ads SDK

有关如何结合使用 Firebase 与 AdMob 以及这对现有 AdMob 发布商的影响的更多详细信息,请参阅 AdMob 与 Firebase 指南。

使用 CocoaPods(精简方式) GoogleService-Info.plist

AdMob 是 Firebase 移动服务平台的一部分,其使用一个名为 GoogleService-Info.plist的文件存储您的应用的相关配置信息。您需要此文件来完成这个练习。

重要说明:GoogleService-Info.plist 文件不存储广告单元 ID。您应通过一些其他方式存储和检索广告单元 ID,如在常量或自定义属性列表中。

获取此文件的最佳方式是登录 Firebase 控制台并注册一个应用。注册免费并且只需几分钟的时间。在系统要求输入捆绑包 ID 时,使用上面的"为项目命名"步骤中提供的 ID。

如果您还不想注册 Firebase,您也可以下载我们的示例 GoogleService-Info.plist 文件。只要您已按如上所示为您的应用命名,该文件便可用于此示例,但不应在此示例之外使用,且绝不能在一个真实的应用中使用!

不管怎样,在获得一个 GoogleService-Info.plist 文件后,将它保存到其余项目源所在的同一个目录中。

创建 Podfile

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

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

platform :ios, '7.0'pod 'Firebase/Core'pod 'Firebase/AdMob'

运行 pod install

在 Podfile 所在的同一个目录中,从终端运行 pod install。安装完毕后,关闭 BannerExample.xcodeproj 并打开 BannerExample.xcworkspace。您的项目文件应包含一个 Pods 项目(含适用于 Firebase 和 AdMob 的新依赖项)。

使用 SDK 下载(手动方式)

如果您还没有 Google Mobile Ads SDK,请从下载页面下载并解压缩。

添加框架

右键点击"BannerExample"项目,然后选择 Add Files To "BannerExample"。

点击 Options 按钮并选中 Copy destinations if needed 复选框。

添加 GoogleMobileAds.framework。

重新构建您的项目

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

您的第一个横幅广告请求

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

您可以通过故事板或代码创建 GADBannerView。由于布局通常是在故事板中定义的,因此本指南将介绍 storyboard 方法。

在故事板中添加 GADBannerView

打开 Main.storyboard。在右下角的 Object library 中,搜索 UIView 并将 UIView 元素拖放到视图控制器中。然后在右上角的 Identity inspector 中,为此视图指定自定义类 GADBannerView。

在 GADBannerView 上添加限制

我们将在 GADBannerView 上设置限制,以使其位于屏幕底部的中央,且尺寸为 320x50。

确保选中该视图,然后点击屏幕底部的 Pin 图标。 在横幅广告底部添加 Spacing to nearest neighbor 限制并将值设置为 0。 这将会将该视图固定到屏幕底部。

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

接下来,点击 Pin 图标左侧的 Align 图标,并添加 Horizontal Center in Container 限制,将值指定为 0。

对限制做出更改后,您可以通过选择 Pin 图标右侧的 Resolve Auto Layout Issues,然后选择 Update frames 查看将放置视图的位置。

横幅广告现在将位于正确的位置上。

在代码中添加对 GADBannerView 的引用

需要在代码中引用 GADBannerView 以便向其中加载广告。通过导航至 View > Assistant Editor > Show Assistant Editor 打开助理编辑器。 确保在助理编辑器中显示的是 ViewController.h 文件。 接下来,按住 Ctrl 键,点击 GADBannerView 并将光标拖到 ViewController.h 上。 对于 Swift 项目,请按照上面的步骤操作,但需要在 ViewController.swift 文件中添加一个对 GADBannerView 的引用。

Xcode 将为您生成一个属性并进行连接。请将其命名为"bannerView",然后选择 Connect。

OBJECTIVE-C SWIFT

ViewController.h

#import

@import GoogleMobileAds;

@interface ViewController : UIViewController

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

@end

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

将广告加载到 GADBannerView 中

最后,将代码添加到 ViewController.m 或 ViewController.swift,以便将广告加载到横幅广告视图中。

OBJECTIVE-C SWIFT

ViewController.m

- (void)viewDidLoad {   [super viewDidLoad];

  NSLog(@"Google Mobile Ads SDK version: %@", [GADRequest sdkVersion]);  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";  self.bannerView.rootViewController = self;  [self.bannerView loadRequest:[GADRequest request]]; }

请执行以下三项更改:

在 viewDidLoad 方法中,在横幅广告上设置一个广告单元 ID。您最终需要通过 AdMob 界面创建一个广告单元 ID 以在应用中使用。不过为方便起见,您可以使用上文中提供的测试广告单元 ID。

在首次将应用与 AdMob 集成时,请务必使用提供的测试广告单元 ID 或 指定一个测试设备。 点击自己的实时广告违反 AdMob 政策。在开发和测试期间,请使用测试广告。如果您确实需要在发布前呈现直播广告,请避免点击它们。如果您点击直播广告,您的 AdMob 帐户可能被暂停。

将包含 GADBannerView 的视图控制器设置为根视图控制器。 此视图控制器用于在用户点击广告后呈现叠加层。

使用一个 GADRequest 对象在 GADBannerView 上调用 loadRequest:。

构建并运行应用

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

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

在 GitHub 上查看完成的示例 OBJECTIVE-C SWIFT #import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {   [super viewDidLoad];

 

// Replace this ad unit ID with your own ad unit ID.  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";  self.bannerView.rootViewController = self;

 

GADRequest *request = [GADRequest request];  // Requests test ads on devices you specify. Your test device ID is printed to the console when  // an ad request is made. GADBannerView automatically returns test ads when running on a  // simulator.  request.testDevices = @[    @"2077ef9a63d2b398840261c8221a0c9a"  // Eric's iPod Touch  ];  [self.bannerView loadRequest:request];}

- (void)didReceiveMemoryWarning {   [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}

@end

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

OBJECTIVE-C SWIFT

后续操作

如需使用 AdMob 进行更多操作,请 注册 AdMob 帐户。

如需了解有关全屏插页式广告的详细信息,请查看插页式广告指南。

若要调整您的横幅广告实现,请查看下列指南:

横幅广告自定义 广告事件 常见问题解答

我正在使用 CocoaPods。我该如何更新 SDK? :在终端中 Podfile 所在的目录中运行 pod update。

我是否需要使用测试广告? 是的。 点击自己的实时广告违反 AdMob 政策。在开发和测试期间,请使用测试广告。如果您确实需要在发布前呈现直播广告,请避免点击它们。如果您点击直播广告,您的 AdMob 帐户可能被暂停。 如需了解详细信息,请查看  AdMob 政策 并深入了解 无效活动。

我如何在物理设备上获得测试广告?

请参阅 目标指南,以了解获取测试设备 ID 的相关说明。

我如何获得 AdMob 广告单元 ID?

有关如何创建 AdMob 广告单元 ID 的指示,请访问  此处。AdMob 广告单元 ID 采用以下格式: ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN。

我不断收到错误消息"Invalid unknown request error:Cannot determine request type.Is your ad unit id correct?"

请确保您的广告单元 ID 正确无误。此广告单元 ID 的格式为  ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN。 如果您使用格式  pub-XXXXXXXXXXXXXXXX,就会收到此错误。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有