開発メモ

開発関係のメモをいろいろと。たぶん。

CocoaPods無しでAdMobを使う時のメモ

CocoaPodsを使ってAdMobを使えるようにする方法はいろいろなところで紹介されているので、あえて、CocoaPods無しでAdMobを使う実験をしてみた時のメモです。

動作を確認した環境

環境 情報
Xcode 6.2 (6C131e)
iOS 8.2
Swift 1.1
Date 2015/3/29

事前に用意しておいたもの

AdMobの広告Unit ID

"ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN"形式のもの。

AdMobのSDK

以下のURLからダウンロード。

Downloads - Google Mobile Ads SDKGoogle Developers
https://developers.google.com/mobile-ads-sdk/download

今回は7.0.0を利用。

実際の手順

1. ProjectにFrameworkを組み込み

あらかじめ、AdMobのSDKをどこかに展開しておいて、Add FilesでGoogleMobileAds.frameworkをProjectに追加。

f:id:see_ku:20150329210520p:plain

2. StoryboardでGADBannerViewを配置

UIViewをViewControllerにドロップ。適当に位置を決めて、AutoLayoutまで設定しておく。とりあえず、iPhone用ということでViewの高さは50に設定。

f:id:see_ku:20150329210536p:plain

設置したUIViewのclassをGADBannerViewに変更。

f:id:see_ku:20150329210548p:plain

ついでに、ViewをViewControllerに紐づけておく。

3. プログラムから必要な情報を設定してリクエス

具体的にはこんな感じで。

import UIKit

// AdMobのフレームワークをインポート
import GoogleMobileAds

class ViewController: UIViewController {

    @IBOutlet weak var admobView: GADBannerView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // 広告Unit IDを設定
        admobView.adUnitID = "ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN"
        admobView.rootViewController = self

        // テスト用デバイスのデバイスIDを登録してからリクエスト
        let req = GADRequest()
//     req.testDevices = [
//     ]
        admobView.loadRequest(req)
    }
}

特に問題がなければ、こんな感じで広告が表示されるはず。

f:id:see_ku:20150329210603p:plain

まとめ

普通に使ってみたら問題なく使えた。特に引っかかるところはなし・・・ あまりにも簡単だから、誰もネタにしなかっただけなんだろうか?

AdMobの使い方の話としては、Portrait/Landscapeの切り替えとか、iPhoneiPadの両方への対応とか、広告の表示/非表示とか・・・ やらないといけないことはいろいろ残ってるけど、それはまた別のお話と言う事で。