RuiYuAdMob 0.1.0

RuiYuAdMob 0.1.0

DerekYuYi 维护。



  • 作者:
  • Ruiyu

MDAd

RuiYuAdMob.framework 用于在 iOS 端展示常见移动应用广告。基于 Swift 语言开发。在使用广告服务的同时,我们真诚希望收到大家的反馈。

环境支持

  • 基于 Swift 5.0 语言开发。 如需支持 Swift 低版本的 framework,请联系我们。
  • 最低系统支持 iOS 10.0。

集成方式

  1. 手动集成。请将仓库中的 RuiYuAdMob.frameworkRuiYuAdMob.bundle 手动拖入项目中。在弹出的文件选项框中,请勾选 Copy items if needed,如图所示

    1

    • target -> General -> Linked Frameworks and Libraries 中删除 RuiYuAdMob.framework,然后在中添加 RuiYuAdMob.frameworktarget -> General -> Embedded Binaries 中。这时也会自动在中添加一份。如图所示

      1

    • 用法:在使用 RuiYuAdMob.framework 时,在需要的文件头部 import RuiYuAdMob 即可。

  2. 通过 CocoaPods 集成(稍后集成)

五种广告样式

RuiYuAdMob.framework 提供五种广告样式,分别是 横幅广告信息流广告开屏广告插屏广告浮标广告

横幅广告

横幅广告 又称为 Banner. 通常展示在 App 页面的顶部或者底部. framework 中提供的横幅广告尺寸宽高比为 700 : 280. 在使用该广告之前,你需要申请横幅广告的广告 ID。集成横幅广告的简单示例如下:

  1. 为了方便展示,我们采用 Interface Builder 来构建视图。我们拖入一个 View 视图,取名为 bannerView,并选择继承自 RYBannerViewRYBannerViewRuiYuAdMob.framework 中用于展示横幅广告的视图类。

    @IBOutlet weak var bannerView: RYBannerView!
  2. viewDidLoad(或其他加载视图的时机)中配置横幅广告 ID,并且开始请求广告,示例代码如下:

    // 1. Required step1: configs AdsID
    bannerView.adsID = "横幅广告ID"
    
    // 2. Required step2: load request
    bannerView.loadRequest()
  3. RYBannerView 提供广告请求成功或失败的代理方法。如果你在广告数据请求成功后显示广告视图,可以这样做:

    • 设置代理给当前控制器

      bannerView.delegate = self
    • 实现广告数据成功获取代理方法

      func adViewDidReceiveAd(_ bannerView: RYBannerView) {
        // You can show infoFlowView with animation.
        // 你可以在收到横幅广告后, 在这里使用动画来展示它
        UIView.animate(withDuration: 1.0) {
           self.bannerView.alpha = 1.0
        }
      }
  4. 详细代码请参考 Demo 中的 BannerViewController 类。实现效果如下

    3

信息流广告

信息流广告 用于在信息流列表中展示。你可以使用 RYInfoFlowView 类来实现信息流广告的展示。framework 中提供的信息流广告尺寸宽高比为 700 : 280。在使用该广告之前,你需要申请信息流广告的广告 ID。集成信息流广告的简单示例如下:

  1. 创建 RYInfoFlowView 实例

    @IBOutlet weak var infoFlowView: RYInfoFlowView!
  2. viewDidLoad(或其他加载视图的时机)中配置信息流广告 ID,并且开始请求广告,示例代码如下:

    // 1. Required step1: configs `AdsID`
    infoFlowView.adsID = "信息流广告ID"
    
    // 2. Required step2: load request
    infoFlowView.loadRequest()
  3. RYInfoFlowViewDelegate 提供广告加载成功、失败等可选代理方法,具体使用可参考 framework 中对应注释。

  4. 详细代码请参考 Demo 中的 InfoFlowViewController 类。实现效果如下

    4

开屏广告

开屏广告 用于展示全屏广告。通常用于 App 启动或用页面过渡到另一个页面的场景中。你可以使用 RYInterstitialView 类来实现开屏广告的展示。framework 中提供开屏广告尺寸宽高比为 750 : 1334。在使用该广告之前,你需要申请开屏广告的广告 ID。集成开屏广告的简单示例如下:

  1. 创建 RYInterstitialView 实例

    @IBOutlet weak var interstitialView: RYInterstitialView!
  2. viewDidLoad(或其他加载视图的时机)中配置开屏广告 ID,并且开始请求广告,示例代码如下:

    // 1. Required step1: configs `AdsID`
    interstitialView.adsID = "开屏广告ID"
    
    // 2. Required step2: load request
    interstitialView.loadRequest()
  3. RYInterstitialViewDelegate 提供广告加载成功、失败等可选代理方法,具体使用可参考 framework 中对应注释。

  4. 详细代码请参考 Demo 中的 InterstitialViewController 类。实现效果如下

    5

插屏广告

插屏广告 用于展示半屏广告。通常用于 App 屏幕中间展示。你可以使用 RYInterstitialHalfView 类来实现插屏广告的展示。framework 中提供的插屏广告尺寸宽高比为 510 : 510。在使用该广告之前,你需要申请插屏广告的广告 ID。集成插屏广告的简单示例如下:

  1. 创建 RYInterstitialHalfView 实例

    @IBOutlet weak var halfInterstitialView: RYInterstitialHalfView!
  2. viewDidLoad(或其他加载视图的时机)中配置插屏广告 ID,并且开始请求广告,示例代码如下:

    // 1. Required step1: configs `AdsID`
    halfInterstitialView.adsID = "插屏广告ID"
    
    // 2. Required step2: load request
    halfInterstitialView.loadRequest()
  3. RYInterstitialHalfViewDelegate 提供广告加载成功、失败等可选代理方法,具体使用可参考 framework 中对应注释。

  4. 详细代码请参考 Demo 中的 InterstitialHalfViewController 类。实现效果如下

    6

浮标广告

浮标广告 通常展示在页面的边角位置。是五种广告中展示面积最小的一种。你可以使用 RYBuoyView 类来实现浮标广告的展示。framework 中提供的浮标广告尺寸宽高比为 110 : 110。在使用该广告之前,你需要申请浮标广告的广告 ID。集成浮标广告的简单示例如下:

  1. 创建 RYBuoyView 实例

    @IBOutlet weak var buoyView: RYBuoyView!
  2. viewDidLoad(或其他加载视图的时机)中配置浮标广告 ID,并且开始请求广告,示例代码如下:

    // 1. Required step1: configs `AdsID`
    buoyView.adsID = "浮标广告ID"
    
    // 2. Required step2: load request
    buoyView.loadRequest()
  3. RYBuoyViewDelegate 提供了广告加载成功、失败等可选代理方法,具体使用可查看 framework 中对应注释。

  4. 详细代码请参考 Demo 中的 BuoyViewController 类。实现效果如下

    7

常见问题

  1. 如果广告未加载显示,请检查对应广告 ID 是否正确;
  2. 手动集成发生 image not found 错误:请确认 RuiYuAdMob.bundle 已经导入,可在 target -> Build Phases -> Copy Bundle Resources 查看是否存在。确保 RuiYuAdMob.frameworkRuiYuAdMob.bundle 同时存在于项目中。
  3. 本文档以 Swift 代码演示,如果你正在使用 Objective-C 语言开发,可以查看仓库中的 OC 示例工程。

版本日志

0.1.0: 接入五种常用广告。