CJPAdController 是一个单例类,允许在您的 iOS 应用中轻松实现 iAd 和 Google AdMob 广告。它支持所有设备和方向,且在 iOS 6.0+ 上运行。
NSUserDefaults
中存储了该布尔值)1. 将 CJPAdController
和 GoogleMobileAdsSdk
文件夹拖到您的项目中。注意:您可能希望检查是否有更新的 AdMob SDK 可用,您至少需要版本 7.0.0。
2. 如果您正在做一个新项目,您可能不需要执行任何其他操作。如果它是一个旧项目,则根据其设置,您可能需要手动链接所有必要的框架,如果是这样的话,请确保以下框架已链接到您的项目
对于 iAd
iAd.framework
AdSupport.framework
对于 AdMob
AudioToolbox.framework
AVFoundation.framework
CoreGraphics.framework
CoreTelephony.framework
MessageUI.framework
StoreKit.framework
SystemConfiguration.framework
EventKit.framework
EventKitUI.framework
CJPAdController 会在您的视图的顶部或底部自动显示广告。它旨在与 UINavigationController 或 UITabBarController 一起使用。
1. 在您的 AppDelegate.m
中包含 #import "CJPAdController.h"
。
2. 在 applicationDidFinishLaunchingWithOptions
中,使用单例( sharedInstance)根据您的喜好配置 CJPAdController
[CJPAdController sharedInstance].adNetworks = @[@(CJPAdNetworkiAd), @(CJPAdNetworkAdMob)];
[CJPAdController sharedInstance].adPosition = CJPAdPositionBottom;
[CJPAdController sharedInstance].initialDelay = 2.0;
// AdMob specific
[CJPAdController sharedInstance].adMobUnitID = @"ca-app-pub-1234567890987654/1234567890";
3. 按照常规设置您的导航/标签栏控制器,然后告诉 CJPAdController 在其中开始展示广告。
[[CJPAdController sharedInstance] startWithViewController:_yourNavController];
4. 还有一点……您需要将窗口的根视图控制器设置为 CJPAdController 的单例。
self.window.rootViewController = [CJPAdController sharedInstance];
CJPAdController 假定您将同时使用 iAd 和 AdMob,因为这个类就是为此而编写的。默认情况下都将使用,且 iAd 将作为首选选项。您可以通过以不同的顺序传递数组(数组中的第一个值将设置为您的首选广告)来覆盖此设置,如果您愿意,甚至可以排除其中一个网络。
[CJPAdController sharedInstance].adNetworks = @[@(CJPAdNetworkAdMob), @(CJPAdNetworkiAd)];
默认情况下,广告将从视图底部向上滑动并固定在那里。或者,您也可以将其反向,让广告从顶部向下滑动并固定在视图顶部。
[CJPAdController sharedInstance].adPosition = CJPAdPositionTop;
默认情况下,广告将在您的应用启动时立即请求。您可以通过提供 NSTimeInterval 延迟,以下代码将等待您的应用启动后2秒再请求广告。
[CJPAdController sharedInstance].initialDelay = 2.0;
如果您尝试在一个不是 UINavigationController 或 UITabBarController 子类的自定义视图中实现 CJPAdController,您可能会遇到广告无法正确显示或完全不显示的问题。在这种情况下,可以重写 isNavController
属性,一些用户已成功实现。
[CJPAdController sharedInstance].overrideIsNavController = YES;
还有一些特定于 AdMob 的选项可以进行配置,以及一些用于隐藏、删除、恢复广告等的一般方法。AdMob 广告也可以根据用户的年龄、性别和位置进行定向。在使用任何这些功能之前,请先阅读头文件中的注释。您可以在示例项目中看到这些示例,此外,头文件也有很好的注释,包含每个方法的功能以及如何在测试或生产中使用它们。
如果您觉得好,可以提供归属和链接到 这个 GitHub 项目。
版权(c)2011-2015 Chris Phillips
特此授予任何人(在此以下简称“您”)免费获得包括本软件及其相关文档文件(以下简称“软件”)副本的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、转许可和/或销售软件的副本,并允许接受软件的人(以下简称“接受者”)进行上述行为,前提是
上述版权声明和许可声明应在软件的所有副本或主要部分中包含。
软件按“原样”提供,不提供任何形式的保证,包括但不限于对适销性、特定用途的适用性和非侵权性的保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任承担义务,无论该责任源于合同行为、侵权行为或其他方式,也不管该责任是否与软件、软件的使用或其他与软件相关的事项有关。