blog

プログラミングとひとりごと。

iPhoneアプリに広告を付ける手順 2018/3(Xcode Version 9.2)

Xcode  Version 9.2 (9C40b) 

 

これ↓を参考に、iPhoneアプリに広告を付けました。

 

qiita.com

 

▼手順

1. AdMobでアカウント登録

2. 広告を作成

3. アプリを選択(ないので仮の名前で追加)

4. 広告フォーマットの選択(バナー広告にしました)

5. Google Mobile Ads SDKをダウンロード

    googlemobileadssdkios.zipをダウンロードして解凍すると

    GoogleMobileAdsSdkiOS-7.29.0というフォルダができるので

    その中のGoogleMobileAds.frameworkを後ほど使います

 

 

6. 組み込みフレームワークのインポート

 ↓

f:id:marimoko3:20180303190316p:plain

 

 

7. AdMob SDKのインストール

※ 上のQiita記事に書かれている通りにするとあとでエラーになるので、、、

 

blog.livedoor.jp

 

f:id:marimoko3:20180303192032p:plain

 

この記事の通りに

BuildPhasesのCopyBundleResouecesに、「GoogleMobileAds.framework」を

ドラッグアンドドロップして、追加しようとすると

「Copy items if needed」にチェックを付けることができます

 

▼ここの記載も参考にしました

AdMob広告をXcode(Swift)でiOSアプリに表示する手順とエラー対処方法 - ダーヤス.com プレミアム

f:id:marimoko3:20180303192649p:plain

f:id:marimoko3:20180303192856p:plain

 

 

8. 上で、BuildPhasesのCopyBundleResouecesに追加した

「GoogleMobileAds.framework」を、ドラッグアンドドロップして

Link Binary With Librariesに移動します。

 

9. コーディングは

以下を参考に、

https://developers.google.com/admob/ios/banner?hl=ja

 

ViewController.swift にコードをコピーしていきます

f:id:marimoko3:20180303194029p:plain

 
import GoogleMobileAds
import UIKit

class ViewController: UIViewController {

 
var bannerView: GADBannerView!

 
override func viewDidLoad() {
   
super.viewDidLoad()
   

   
// In this case, we instantiate the banner with desired ad size.
    bannerView
= GADBannerView(adSize: kGADAdSizeBanner)

    addBannerViewToView
(bannerView)
 
}

  func addBannerViewToView
(_ bannerView: GADBannerView) {
    bannerView
.translatesAutoresizingMaskIntoConstraints = false
    view
.addSubview(bannerView)
    view
.addConstraints(
     
[NSLayoutConstraint(item: bannerView,
                          attribute
: .bottom,
                          relatedBy
: .equal,
                          toItem
: bottomLayoutGuide,
                          attribute
: .top,
                          multiplier
: 1,
                          constant
: 0),
       
NSLayoutConstraint(item: bannerView,
                          attribute
: .centerX,
                          relatedBy
: .equal,
                          toItem
: view,
                          attribute
: .centerX,
                          multiplier
: 1,
                          constant
: 0)
     
])
   
}
   

}
 
import GoogleMobileAds
import UIKit

class ViewController: UIViewController {

 
var bannerView: GADBannerView!

 
override func viewDidLoad() {
   
super.viewDidLoad()
   

   
// In this case, we instantiate the banner with desired ad size.
    bannerView
= GADBannerView(adSize: kGADAdSizeBanner)

    addBannerViewToView
(bannerView)
 
}

  func addBannerViewToView
(_ bannerView: GADBannerView) {
    bannerView
.translatesAutoresizingMaskIntoConstraints = false
    view
.addSubview(bannerView)
    view
.addConstraints(
     
[NSLayoutConstraint(item: bannerView,
                          attribute
: .bottom,
                          relatedBy
: .equal,
                          toItem
: bottomLayoutGuide,
                          attribute
: .top,
                          multiplier
: 1,
                          constant
: 0),
       
NSLayoutConstraint(item: bannerView,
                          attribute
: .centerX,
                          relatedBy
: .equal,
                          toItem
: view,
                          attribute
: .centerX,
                          multiplier
: 1,
                          constant
: 0)
     
])
   
}
   

}

f:id:marimoko3:20180303194133p:plain

f:id:marimoko3:20180303194242p:plain

 

f:id:marimoko3:20180303194346p:plain

f:id:marimoko3:20180303194446p:plain

 

この辺までやってシュミレータで動かしたら

テスト用の広告が表示されました!!

 

 

 

▼書いたコードはこんな感じ

f:id:marimoko3:20180303195344p:plain

 

f:id:marimoko3:20180303195502p:plain

 

こんな警告は出てますが

「'bottomLayoutGuide' was deprecated in iOS 11.0: Use view.safeAreaLayoutGuide.bottomAnchor instead of bottomLayoutGuide.topAnchor」

 

 とりあえず今日はここまで!!