【iOSアプリ開発】-swift2- AdMobで広告を表示する : 実装編<バナー広告>

これまでiOSアプリにおいて、AdMobを利用して広告を表示するための準備について説明してきました。

【iOSアプリ開発】-swift2- AdMobで広告を表示する : 準備編

次に、実際にバナータイプの広告を表示する方法について説明していきます。

1,バナーを表示したいViewControllerの設定

(1)GoogleMobileAdsをimport
(2)ViewControllerに対して、GADBannerViewDelegateを登録
ex) ViewController.swift

import UIKit
import GoogleMobileAds

class ViewController: UIViewController,GADBannerViewDelegate {

}

2,AdMobで作成した広告ユニット情報を設定

[/sourcecode]
(1)AdMobID
(2)TEST_DEVICE_IDは、エミュレータで動かす場合は、TEST_EMULATORに設定
実機で、動かす場合は、TEST_EMULATORに設定したままビルドするとXcodeのコンソールに
o get test ads on this device, call adRequest.addTestDevice(“D9XXXXXXXXXXXXXXXXXXXXXXXXXXXXX”);”
といったDeviceIDが出力されるので、この値を設定します。
(3)また、AdMobでは、広告の表示モードをテスト状態と本番状態でわけることができます。
基本的には開発中は、テストモードアプリを提出するときには本番モードに変更します。
今回はそのステータスを管理するためにAdMobTest:Boolを用意しております。
(4)さらに、開発しているテストをエミュレータでビルドするか実機でビルドするかで、すぎ切り替えることができるようにSimulatorTest:Boolも用意しています。

以下、サンプルコード

import UIKit
import GoogleMobileAds

class ViewController: UIViewController,GADBannerViewDelegate {
    //AdMob管理画面から確認できるユニットIDを設定
    let AdMobID = "ca-app-puXXXXXX"
    let TEST_DEVICE_ID = "b343xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    let AdMobTest:Bool = true
    let SimulatorTest:Bool = false

}

3,バナー広告を呼び出す関数を用意

(1)admobViewをGADBannerView()で初期化し、広告表示ビューを用意し、広告ユニットID、サイズ、配置位置などの設定を行ないます。
(2)次にadmobViewに表示する広告をリクエストするためのadmobRequest:GADRequestを初期化します。
(3)また広告表示のモードやビルド環境に応じたdeviceIDを設定し
(4)最後に広告リクエストを行ったadmobViewをviewに追加し、広告を表示します。

func banner_ads(){
        var admobView: GADBannerView = GADBannerView()
        admobView = GADBannerView(adSize:kGADAdSizeBanner)
        admobView.frame.origin = CGPointMake(0, self.view.frame.size.height - admobView.frame.height)
        admobView.frame.size = CGSizeMake(self.view.frame.width, admobView.frame.height)
        admobView.adUnitID = AdMobID
        admobView.delegate = self
        admobView.rootViewController = self
        
        let admobRequest:GADRequest = GADRequest()
        
        if AdMobTest {
            if SimulatorTest {
                admobRequest.testDevices = [kGADSimulatorID]
            }
            else {
                admobRequest.testDevices = [TEST_DEVICE_ID]
            }
        }
        admobView.loadRequest(admobRequest)
        self.view.addSubview(admobView)
    }

4,広告を表示する

あとは任意のタイミングで、上のbanner_ads()を呼び出すと広告が表示されるようになります。
以上で広告の表示が完了します。

インタースティシャル広告に関する表示方法についても説明していますので、参考にしてみて下さい↓

【iOSアプリ開発】-swift2- AdMobで広告を表示する : 実装編<インタースティシャル広告>