Google Mobile Ads SDKをCocoapodsを利用しないで設定する

April 10, 2016

毎回、ちょっと思い出しながらやっているので簡単にまとめておく。7.7.1 で動作確認した。Cocoapods を利用しない方針なので、こういうのはたまに必要。

MobileAds の登録

https://apps.admob.com/ のホームから「新しいアプリの収益化」を選択

広告ユニット ID(ca-app-pub-xxxxxxxxxxxxxxxxx/xxxxxxxxxx)が生成される。

Google Mobile Ads SDK をダウンロード

AdMob for iOS

プロジェクトに読み込む

GoogleMobileAds.framework をこのようにプロジェクトに追加する。

SignViewController swift Edited

Linked Frameworks and Libraries に追加されているのを確認する

Arrows xcodeproj

Briding-Header を作成する

下記のヘッダーファイルを import する。

import <GoogleMobileAds/GoogleMobileAds.h>

利用する

ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx の部分には最初に作成した広告ユニット ID をセットする。

func showAdIfFreeUser(timer: NSTimer) {
    let adSize = kGADAdSizeBanner
    let bannerView = GADBannerView(adSize: adSize)
    view.addSubview(bannerView)
    bannerView.snp\_makeConstraints { \[unowned self\] (make) -> Void in
        make.left.equalTo(self.view)
        make.top.equalTo(self.view)
        make.width.equalTo(adSize.size.width)
        make.height.equalTo(adSize.size.height)
    }
    bannerView.adUnitID = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx"
    bannerView.rootViewController = self
    bannerView.delegate = self
    let request = GADRequest()
    request.testDevices = \[kGADSimulatorID\]
    bannerView.loadRequest(request)
    self.adBannerView = bannerView
}

* 位置の指定には SnapKit を使っているがこれは別に利用せず、普通の AutoLayout でよい。

GADBannerViewDelegate

func adViewDidReceiveAd(bannerView: GADBannerView!) {
    // Do something
}

func adView(bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
    // Do something
}

すごく簡単な設定はこれでよし。


Profile picture

Written by morizotter who lives and works in Tokyo building useful things. You should follow them on Twitter