見出し画像

GoogleMobileAdsで広告をつけてみた

今回はインタースティシャルという広告タイプで実装してみます(クイズアプリ等で問題が終了して初期画面に戻る前にスクリーンいっぱいに表示されるような広告タイプです)

*広告タイプはAdmob公式ページに詳しく載っているので見てみてください。


GoodleAdmobに登録した前提で進めていくのでアカウント作成を行なってなければ先に公式ページからアカウントをつくっておいてください。


1: 左の選択画面App → ADD APPを選択、画像の通りチェックを入れる

画像1

2: App nameを記入する

画像2


3: 真ん中のAdd Ad Unitを選択

画像3

4: 広告タイプを選択できるので今回はInterstitialを選択

画像4

5: Unit nameを入力してCreate Ad Unitボタンを押す

画像5


6: Doneを押して広告の下準備はとりあえず完了

画像6


7: xcodeでテキトーにプロジェクトを作成

8: ターミナル上でpod initコマンドでpodファイルを作成(スライムは無視してOkです)

画像7

9: podファイル内を記述(pod 'Google-Mobile-Ads-SDK')を追記すればOKです

画像8

10: ターミナルに戻ってpod installでプロジェクトに取り込む

画像9

11: 完了したらxcworkspace(白いファイル)の方からプロジェクトを開く

画像10

12: まずはinfo.plistを開く、Information Property Listの右にある+ボタンを押して"GADApplicationIdentifier"  "自分のID"を追加する

*自分のIDは手順6のAppleマーク側のIDをコピペしてください

画像11

画像12

画像6

13: storyboardで見た目を作る

ラベル、ボタン一個ずつ

画像14

14: プログラムと繋ぐ

画像15

画像16

15: 以下コードをコピペ

*コード内のca-app-pub-3940256099942544/4411468910はインタースティシャル広告テスト表示用IDです(本番IDでビルドテストは禁止されているらしいので)

import UIKit
import GoogleMobileAds

class ViewController: UIViewController {
   
   @IBOutlet weak var adLabel: UILabel!
   @IBOutlet weak var adButton: UIButton!
   
   private var interstitial: GADInterstitialAd?
   
   override func viewDidLoad() {
       super.viewDidLoad()
       adButton.layer.cornerRadius = 20.0
       setupAd()
   }
   
   private func setupAd() {
       interstitial?.fullScreenContentDelegate = self
       let request = GADRequest()
       GADInterstitialAd.load(withAdUnitID:"ca-app-pub-3940256099942544/4411468910",request: request,completionHandler: { [self] ad, error in
           if let error = error {
               print("Failed to load interstitial ad with error: \(error.localizedDescription)")
               return
           }
           interstitial = ad
           interstitial?.fullScreenContentDelegate = self
       })
   }
   
   @IBAction func buttonAction(_ sender: Any) {
       if self.interstitial != nil {
           self.interstitial?.present(fromRootViewController: self)
       } else {
           print("Ad wasn't ready")
       }
   }
   
}

extension ViewController: GADFullScreenContentDelegate {
   /// Tells the delegate that the ad failed to present full screen content.
   func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
       print("Ad did fail to present full screen content.")
   }
   
   /// Tells the delegate that the ad presented full screen content.
   func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
       print("Ad did present full screen content.")
   }
   
   /// Tells the delegate that the ad dismissed full screen content.
   func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
       print("Ad did dismiss full screen content.")
   }
   
}


ここまでできたら一度ビルドをしてみてください

以下のように表示できればOKです

画像17


以上です

この記事が気に入ったらサポートをしてみませんか?