如何将AdMob横幅广告添加到您的iOS Swift应用

最终产品图片
您将要创造的

横幅广告是许多应用程序开发人员的重要收入来源。 在本教程中,您将学习如何使用Swift 3和Xcode 8将AdMob广告添加到iOS应用中。

创建横幅广告单元ID

准备您的iOS应用程序以显示横幅广告的第一件事是在AdMob网站上创建其单元ID。 如果您没有Google帐户,建议您注册一个新帐户-它是免费的,并且可以访问所有Google服务。

进入AdMob主页后,点击红色的“通过新应用获利”按钮。

AdMob网站首页

如果您的应用尚未在iTunes App Store上,则必须选择手动添加您的应用  然后输入应用程序的名称,选择iOS平台,然后单击“ 添加应用程序”按钮。

开始通过您的应用获利

在下一个屏幕上,您将在Apple灰色图标下方看到新生成的AdMob应用ID 。 请注意,它与需要粘贴到Xcode项目中的单元ID不同。 我们将稍等一下。

点击横幅以选择广告格式。 建议您将广告类型自动刷新文字广告样式设置保留为默认值。 如果您想自定义广告样式,则可以点击 标准组合框,然后选择自定义 。 对于自定义横幅,您可以自定义背景,边框,标题,文本和URL颜色。

最后,在广告单元名称框中输入名称 。 那将不是您的横幅标识符,而只是您的单位ID的参考名称。 单击“ 保存”继续进行第三步。

创建横幅广告单元ID

第3步是可选步骤,可让您将AdMob应用链接到Firebase并通过免费的Firebase Analytics工具共享数据。 现在,只需单击“ 跳过”继续。

将AdMob链接到Firebase Analytics可选

最后,您可以从Firebase服务器下载最新的GoogleMobileAds.framework文件。 第四步还将显示您必须粘贴到Xcode项目的主.swift文件中的广告单元ID,我们将在后面看到。

完成创建横幅ID

点击下载Google Mobile Ads SDK链接。 新的标签页将在您的浏览器中打开,您将能够下载最新的官方软件包zip文件。

下载Google Mobile SDK程序包

返回AdMob网站,然后点击完成 。 下一个屏幕将显示您刚刚创建的广告单元ID ,可以将其复制并粘贴到Xcode的.swift文件中。 我假设您已经创建了一个新的Xcode项目,或者您有一个要在其中添加AdMob广告的项目。

在您的Xcode项目中实施AdMob

提取您以前从Firebase服务器下载的googlemobileadssdkios.zip文件,打开其文件夹,然后仅复制GoogleMobileAds.framework

复制GoogleMobileAdsframework

将其粘贴到您的项目文件夹中。

将GoogleMobileAdsframework粘贴到您的项目文件夹中

现在,输入您的Xcode项目,然后转到“ 常规”标签,向下滚动到“ 链接的框架和库”部分,然后将GoogleMobileAds.framework文件拖到该项目上。

将GoogleMobileAdsframework拖到您的Xcode窗口中

您可能必须向Xcode项目中添加其他iOS框架,以便AdMob可以在您的应用中接收和显示横幅。

单击底部的+号,然后一个接一个地导入以下框架:

  • 事件包
  • EventKitUI
  • AVFoundation
  • AdSupport
  • 音频工具箱
  • AVFoundation
  • CoreGraphics
  • 核心电话
  • 核心媒体
  • MessageUI
  • StoreKit
  • 系统配置
在Xcode中导入iOS框架

要做的是切换到“ 构建设置”选项卡并搜索位 。 Xcode将调出Enable Bitcode选项,您必须将其设置为No。

启用位码选项设置为否

现在,您可以编写一些代码以使AdMob广告显示在您的应用中!

代码

根据应用的构建方式,您希望AdMob广告显示在视图控制器中。 因此,您需要输入要显示广告的控制器的.swift文件,并在文件顶部导入以下框架:

import GoogleMobileAds
import AudioToolbox

通过将GADBannerViewDelegate协议添加到类声明的末尾来采用它:

class ViewController: UIViewController, 
GADBannerViewDelegate
{

在您的课程的viewDidLoad()方法上方添加AdMob横幅视图:

// Ad banner and interstitial views
var adMobBannerView = GADBannerView()

以下代码行是一个简单的字符串,它可以调用您之前创建的广告单元ID:

// IMPORTANT: REPLACE THE RED STRING BELOW WITH THE AD UNIT ID YOU'VE GOT BY REGISTERING YOUR APP IN https://apps.admob.com
let ADMOB_BANNER_UNIT_ID = "ca-app-pub-9733347540588953/7805958028"

在这里您必须替换ca-app-pub-9733347540588953/6145924825   使用您自己的横幅单元ID,因此请返回浏览器中的“ AdMob 广告单元”页面,以复制该字符串并将其粘贴到上面的代码中。

现在,在viewDidLoad()方法内添加以下函数:

override func viewDidLoad() {
        super.viewDidLoad()

    // Init AdMob banner
    initAdMobBanner()
}

最后,将以下方法声明粘贴到.swift中的任意位置 文件(在类右括号之前,而不是在现有方法中):

// MARK: -  ADMOB BANNER
func initAdMobBanner() {
    
    if UIDevice.current.userInterfaceIdiom == .phone {
        // iPhone
        adMobBannerView.adSize =  GADAdSizeFromCGSize(CGSize(width: 320, height: 50))
        adMobBannerView.frame = CGRect(x: 0, y: view.frame.size.height, width: 320, height: 50)
    } else  {
        // iPad
        adMobBannerView.adSize =  GADAdSizeFromCGSize(CGSize(width: 468, height: 60))
        adMobBannerView.frame = CGRect(x: 0, y: view.frame.size.height, width: 468, height: 60)
    }
    
    adMobBannerView.adUnitID = ADMOB_BANNER_UNIT_ID
    adMobBannerView.rootViewController = self
    adMobBannerView.delegate = self
    view.addSubview(adMobBannerView)
        
    let request = GADRequest()
    adMobBannerView.load(request)
}
    

// Hide the banner
func hideBanner(_ banner: UIView) {
        UIView.beginAnimations("hideBanner", context: nil)
        banner.frame = CGRect(x: view.frame.size.width/2 - banner.frame.size.width/2, y: view.frame.size.height - banner.frame.size.height, width: banner.frame.size.width, height: banner.frame.size.height)
        UIView.commitAnimations()
        banner.isHidden = true
}
    
// Show the banner
func showBanner(_ banner: UIView) {
        UIView.beginAnimations("showBanner", context: nil)
        banner.frame = CGRect(x: view.frame.size.width/2 - banner.frame.size.width/2, y: view.frame.size.height - banner.frame.size.height, width: banner.frame.size.width, height: banner.frame.size.height)
        UIView.commitAnimations()
        banner.isHidden = false
}
    
// AdMob banner available
func adViewDidReceiveAd(_ view: GADBannerView!) {
        showBanner(adMobBannerView)
}
    
// NO AdMob banner available
func adView(_ view: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
        hideBanner(adMobBannerView)
}

请注意,AdMob标语的大小取决于所使用的设备,因此func initAdMobBanner()的第一行代码设置了iPhone / iPod Touch和iPad标语的大小。

如果您对AdMob广告的可用横幅尺寸感到好奇,可以查看AdMob文档 。 无论如何,iPhone和iPad设备的最佳横幅尺寸是我们在上面的代码中设置的尺寸:

  • 适用于iPhone的320 x 50像素
  • iPad 468 x 60像素

CodeCanyon模板

在CodeCanyon上,我正在出售一个iOS应用程序模板,该模板内置了AdMob标语,并且还支持插页式广告 。 因此,如果您想加快开发速度,只需购买该模板并启动您的应用即可。

AdMob横幅非页内广告iOS通用应用模板

在此处查找: iOS AdMob横幅+ Interstital广告模板| 通用(快速)

CodeCanyon上还有数百个其他iOS应用程序模板 。 去看看他们! 您可能只是在下一个应用程序上节省了工作时间。

结论

感谢您的阅读,下次再见! 请查看有关使用Swift开发iOS应用的其他一些课程和教程。

翻译自: https://code.tutsplus.com/tutorials/how-to-add-admob-banner-ads-to-your-ios-swift-app--cms-27403

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值