プログラミングと音楽とアニメとiPhoneとiPadとMacとAndroidとLogicとギターとテニスと車

アプリ開発系の勉強メモやTipsなどを中心に他いろいろと書いていきます。

iOSの新言語SwiftでAdMobの実装方法を検証

Objective-Cで書かれているAdMobをSwiftでどうやって使うのか気になったので検証したメモです。

検証環境

Xcode 6.0 beta
GoogleMobileAdsSDkiOS-6.9.2

手順

1、Xcode6で新規プロジェクトを作成

XcodeのメニューからFile>New>Project>「Single View Application」(ここでは例として)を選択。
Language: の選択ではSwiftを選択してプロジェクトを作成します。


2、AdMobのSDKをプロジェクトに追加
今回はここの詳しい説明は省略します。
基本的に以下の公式情報の通りで導入できます。
AdSupportなど必要なフレームワークの追加とOther Linker Flagsに-ObjCを追加を忘れないようにします。

ダウンロード先
https://developers.google.com/mobile-ads-sdk/download#downloadios

プロジェクトへの追加方法
https://developers.google.com/mobile-ads-sdk/docs/#ios


AdMobについては、そのうち別記事で詳しく紹介する予定です。


3、SwiftからAdMob SDKのコードを呼び出せるようにする

XcodeのメニューからFile>New>File から「Header File」を選択し、
Swift_Bridging_Headerというファイル名(任意)にして、Swift_Bridging_Header.h というファイルを作ります。
Swift_Bridging_Header.h のファイル内に #import "GADBannerView.h" を記述します。

Swift_Bridging_Header.h
#import "GADBannerView.h" 

プロジェクトファイルを選択>TARGETS>Build Settings>Swift Compiler - Code Generation>Objective-C Bridging Header に
$(SRCROOT)/$(PROJECT)/Swift_Bridging_Header.h と書いてパスを追加します。


4、SwiftでAdMobのバナー広告を表示する

import UIKit
class ViewController: UIViewController {

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        var bannerView: GADBannerView = GADBannerView();

        bannerView = GADBannerView(adSize:kGADAdSizeBanner);

        bannerView.adUnitID = "ここに広告ユニットIDを書く";

        bannerView.delegate = self;

        bannerView.rootViewController = self;

        self.view.addSubview(bannerView);

        bannerView.loadRequest(GADRequest());

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }
}

以上で、AdMobのバナー広告を表示することができます。
デリゲートの実装については後ほど続きを書きます。