LoginSignup
2
4

More than 5 years have passed since last update.

[iOS][Swift]Admobの広告をSwiftで表示する

Posted at

個人的なメモ。役立つ人がいれば。
まだまだ、アプリ開発は初心者のという私のような人向け。

環境

Xcode8.1/Swift3.0

広告導入

iAd が使えないし、簡単に広告を入れてみる。

導入は、podfile を書いてみた。コマンドラインで、pod init して、pod install をする。

target 'SaimonCats' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  # use_frameworks!
    pod 'Firebase'
    pod 'Firebase/AdMob'
    pod 'EAIntroView', '~> 2.10.0'

  # Pods for SaimonCats

(略)

end

brigeも書いて定義する。

Bridging-Header.h
#ifndef Bridging_Header_h
#define Bridging_Header_h

#import "EAIntroView/EAIntroView.h"

#endif /* Bridging_Header_h */

ViewController の Delegate を定義する。

ViewController.swift
class ViewController: UIViewController, GADBannerViewDelegate {

ViewController に func を定義する。

ViewController.swift
    // Admob広告表示処理
    func getAdBannerView(_ BannerType: Bool) -> GADBannerView {
        // Admob Version
        print("Google Mobile Ads SDK version: " + GADRequest.sdkVersion())

        // bannerViewの作成
        var bannerView: GADBannerView = GADBannerView()
        bannerView = GADBannerView(adSize:kGADAdSizeBanner)

        // 表示位置計算
        var bannerY:CGFloat = 20
        if BannerType {
            bannerY = UIScreen.main.bounds.size.height - bannerView.frame.height
        }
        let bannerX = (UIScreen.main.bounds.size.width - bannerView.frame.width) / 2

        // 表示位置設定
        bannerView.frame.origin = CGPoint(x: bannerX, y: bannerY)
        bannerView.frame.size = CGSize(width: bannerView.frame.width, height: bannerView.frame.height)

        // 表示バナーのIDを指定
        bannerView.adUnitID = bannerId // Enter Ad's ID here

        // delegate と表示先指定
        bannerView.delegate = ViewController()
        bannerView.rootViewController = self

        // バナーをリクエスト
        let getrequest:GADRequest = GADRequest()

        if debugModeFlag {
            // テスト用バナー
            getrequest.testDevices = [kGADSimulatorID]
        }

        bannerView.load(getrequest)

        // バナーを返す
        return bannerView
    }

別のViewControllerから呼ぶ。

SampleViewController.swift
    let viewController = ViewController()
    let bannerView:GADBannerView = viewController.getAdBannerView(true)
    self.view.addSubview(bannerView)

他に書き方もあるとは思いますが、一例ということで。

自分のアプリに反映

以下のアプリで使っています。スクリーンショット観てみてください。

[AppStore] Simoncats
https://itunes.apple.com/jp/app/simoncats/id1078064315?mt=8

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4