GoogleMobileAdsで広告をつけてみた
今回はインタースティシャルという広告タイプで実装してみます(クイズアプリ等で問題が終了して初期画面に戻る前にスクリーンいっぱいに表示されるような広告タイプです)
*広告タイプはAdmob公式ページに詳しく載っているので見てみてください。
GoodleAdmobに登録した前提で進めていくのでアカウント作成を行なってなければ先に公式ページからアカウントをつくっておいてください。
1: 左の選択画面App → ADD APPを選択、画像の通りチェックを入れる
2: App nameを記入する
3: 真ん中のAdd Ad Unitを選択
4: 広告タイプを選択できるので今回はInterstitialを選択
5: Unit nameを入力してCreate Ad Unitボタンを押す
6: Doneを押して広告の下準備はとりあえず完了
7: xcodeでテキトーにプロジェクトを作成
8: ターミナル上でpod initコマンドでpodファイルを作成(スライムは無視してOkです)
9: podファイル内を記述(pod 'Google-Mobile-Ads-SDK')を追記すればOKです
10: ターミナルに戻ってpod installでプロジェクトに取り込む
11: 完了したらxcworkspace(白いファイル)の方からプロジェクトを開く
12: まずはinfo.plistを開く、Information Property Listの右にある+ボタンを押して"GADApplicationIdentifier" "自分のID"を追加する
*自分のIDは手順6のAppleマーク側のIDをコピペしてください
13: storyboardで見た目を作る
ラベル、ボタン一個ずつ
14: プログラムと繋ぐ
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です
以上です
この記事が気に入ったらサポートをしてみませんか?