*

AdMob組み込み覚書

公開日: : 最終更新日:2014/02/28 Tips


書籍ではコレがかなり参考になるのでご紹介。

表題の通りで、組み込みで要注意っぽい部分だけを覚書として記述。
DLと導入については簡単なので割愛。解凍して出てきたソース類をプロジェクトにDrag&Dropで入れればよいだけ。

【必要なframework】
普通にframeworkの追加をしてやる。

・AudioToolbox.framework
・MessageUI.framework
・SystemConfiguration.framework
・CoreGraphics.framework
・AdSupport.framework
・StoreKit.framework

【その他設定】
「Build Settings」→「Linking」→「Other Linker Flags」の項目に
-ObjC
を追加する。

これで動くはず。
日本語はやや古い情報で更新されていないので、 GADBannerViewについての説明ともども、英語サイト側(https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#ios)を参照したほうが良いかもしれない。

【テスト広告】
GADRequest *request = [GADRequest request];
request.testing = YES;
ってやるとtestmodeが有効になってテストモードのAdが出るという話があるんだが、どう見てもマジ広告しか出ない。

request.testDevices = @[GAD_SIMULATOR_ID];
とやってもシミュレータでガチ広告が出る。実機だと
To get test ads on this device, call: request.testDevices = @[ @”xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” ];
とLogに出るので、そういう設定にしてもガチ広告が出る。

Stackoverflowで見ると、おぼろげに「testingはもう使えない」という話が聞こえる一方で、testDevicesに使ういわゆるUDIDはiOS6からは取得不可になってるっぽいという話も出ている。
つまり、AdMobでは代替に何かのIDを使ってるのだが、はたしてそのIDや如何に…。

とかやっているとこんなページに行き当たる。

Note: Test ads are not supported on iOS 6 devices; use the simulator instead.
iOS6デバイスでテスト広告のサポートはしていない。シミュレータを使え。

この記事は昨年の10月末のもの。次のメジャーバージョンアップデートで対応すると書いてある。
次にリリースノートを見る。
6.4.0(2013/04/08)において
>Test ads are only available on devices running iOS 6+.
>Removed all uses of UDID.
という文言を見つける。
現時点の最新は2014/01/24版の6.8.0なので、UDIDが使えないのは確かだ。
代用は[ASIdentifierManager sharedManager].advertisingIdentifier.UUIDStringのようだが、これを指定しても無理。
英語版のSDKドキュメントでは
>Test ads are supported on both simulator and devices, except for iOS 6 where only the simulator is supported.
なんて書いてあるので、iOS6ではシミュレータのみのサポートなのはどうもたしかっぽい。しかし「iOS7ではどうなる」って書いてないなぁ…
まさか、iOS6系統限定でコード書いてて、iOS7だとやっぱり対応してないってオチじゃないよなぁ。
実機サポートが次の「メジャー」アップデートとか書いてあったし、7.xまで無理なのだろうか。

現状とりあえず困ってない(ほとんどAdに触ってない)ので実害はないが、どうにかスッキリ解決できないのだろうか。
こういうところでストレスと工数を使って「AdMob使えない!」と言わせるのは得策ではないと感じる。

他のBlogからの情報をまとめて覚書。

主に参照したのはこのサイト
http://ohwhsmm7.blog28.fc2.com/blog-entry-327.html

英語の公式ガイドサイト
https://developers.google.com/mobile-ads-sdk/docs/?hl=en#ios

英語公式サイトからSDKのDLをする場合はこちら
https://developers.google.com/mobile-ads-sdk/download#downloadios

関連記事

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

iPad用storyboard⇔iPhone用Storyboardへの変換

iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si

記事を読む

iOS9でのNSFetchedResultsContollerDelegateの挙動

ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD

記事を読む

iOS7でのPopover内サイズの指定

UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ

記事を読む

iOS7の青色

iOS7の標準UIで使われている、水色に近い青の色についての記事です。 あの色には特に名前を決まっ

記事を読む

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト)から横向き(ランドスケープ)

記事を読む

App Storeのページにアプリケーションから直接アクセスする方法

去年(2013年)の秋ごろ、iOS7の出始めの時期に書かれたblog記事などを参考にすると、iOS6

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

UIAlertControllerの取り扱い

旧聞ですが日本語版のStackOverflowが始動したようですね。 個人的な印象は「フィルタされ

記事を読む

RealmのListとArrayの相互変換によるマップ

 Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑