[iPhone] Firebaseを使わないでAdMobをアプリに貼る

今までのSDKのみでAdMobを設定する方法です。FirebaseでのAdMobをGoogleは推奨していますが、iOS6は対応できなかったりしますので古いSDKのみの方法も残っていてるようです。

ios_admob2


 

Swift 3.0
Xcode 8.0

 

sponsored link

AdMob SDK の導入

 
Ref:iOS クイック スタート

最新のSDKをダウンロードします
以前からのSDKによる設定を実装してみます

https://developers.google.com/admob/ios/download
 
スクリーンショット 2016-01-26 18.19.38
 
ダウンロードしたSDKには、
GoogleMobileAds.framework があり、「Add Files to “project”…」を使ってこれをプロジェクトに追加します。
 
注意としてはファイルをコピーしてプロジェクトフォルダ内に持ってくること
「Copy items if needed」
 
admob_add_file
 
スクリーンショット 2016-01-26 18.21.11
 
以下のframeworkを追加します

  1. AdSupport
  2. AudioToolbox
  3. AVFoundation
  4. CoreGraphics
  5. CoreTelephony
  6. EventKit
  7. EventKitUI
  8. MessageUI
  9. StoreKit
  10. SystemConfiguration

「Build Phases」タブの「Link Binary With Libraries」に上の frame.work を追加
 
スクリーンショット 2015-05-21 13.06.03
 

コードの記述

GoogleMobileAds を import します
GADBannerViewDelegate で delegate を設定
let SimulatorTest:Bool = true はシミュレーターの場合
実機では false に変更
 
ViewController.swift

 
シミュレータの場合にはIDは、kGADSimulatorID を使いますが、実機のテストモードでのIDは一度アプリを走らせ広告を出させると

こんなメッセージがでます。
ここで出てきた 61b0154xxxxxxxxxxxxxxxxxxxxxxxe0 を
TEST_DEVICE_IDに置き換えてやります

最初はネットワークの関係で表示されるのに時間がかかることがあります。(数分とか)
 
Test Banner が表示されました。
 

ios_admob

 

公開前はテストモードで使用した方がよい理由

 
AdMob 広告がクリックされたかどうかは
AdMob かあるいは Google Adsense で確認できます
 

スクリーンショット 2016-01-26 18.29.29
 
これはAdMobのケースですが
見積もり収益額、表示回数、リクエストRPMと出ています
RPMは、表示回数 1,000 回あたりの見積もり収益額を表します。
この他にもCPCやCTRがあります
CTR = (広告がクリックされた回数/表示された回数)
テストモードでなく本ちゃんで表示させることは、いたずらに表示回数を増やすことになります
 
見積もり収益額とあるのは、広告に対して無効なクリックがあった場合に
月末にまとめて収益額を差し引くために、「見積もり」とあります
見積もり額から無効クリックの収益を引き算したものが、未払い収益の確定額となります
月末にまとめているのは、何が無効クリックとしているか悟られないためでしょう
 
また、Googleは広告をクリックした後のユーザーの動きをトレースしており、その後のアクションまで把握しているそうです
クリックの品質を判断しCVR(成約率)の低いアカウントの報酬を下げる仕組みがあるらしいですので
間違ってクリックされやすい場所に広告を貼ることはお勧めできません
また、本人や友達に依頼してクリックしたりすると、偽装とみなされる可能性があります