[iPhone] AdMob 広告の設置、Interstitial

Photo by Sven on Unsplash
iPhone アプリを販売して夢の左うちわ生活、と思ったらダウンロードが少なすぎる…。という人には、売れないアプリを販売するより、広告の方が儲かります。特にInterstitial広告はうまく表示させると効果があるようです。

Swift 5
Xcode 10.2.1

 

AdMob Interstitial

 
公式ガイドはこちらにあります。インタースティシャル広告

このAdMobの設定はGoogleが推奨するFirebaseではなく、今までのSDKを使った方法です。何らかの理由でFirebaseを利用できないケースが想定されるので残っているのでしょう。
 

AdMob SDK を導入

 
SDKの設定まではこちらにあるAdMob Banner設定手順と同じです。SDKをダウンロードするかCocoaPodsで設定する方法があります。

今までのSDKのみでAdMobを設定する方法です。FirebaseでのAdMobをGoogleは推奨していますが、古いSDKのみの方法も残っ...

以前は「Build Phases」タブの「Link Binary With Libraries」に10個ほどのframeworkを追加していましたがもう設定する必要はありません。

コードの記述とAdMob IDはバナーとは異なります。
Interstitial IDはBanner IDとは別に取らないといけません。BannerのIDは使えないので注意です。
 

サンプルコード

 
コードですが、ここでは、本番とテストをフラグで切り替えるようにしてあります。
シミュレータの場合にはIDは、kGADSimulatorID を使います。
 
ViewController.swift

 

このケースでは、interstitial のロードに時間がかかると表示されないので、3秒後にpresentFromRootViewController(self)で前面に表示させるようにしています。あるいはロードされたことを確認する方法もあります。
ゲームでのページ切り替えなど、起動から時間がたっていれば必要ないでしょう。

また、Bannerと違って画面を占拠されるので毎回表示させているとユーザーから嫌われます。ゲームの終わりとか5回に1回程度など調整したほうがいいでしょう。

 

References:
スタートガイド | Android | Google Developers
インタースティシャル広告 | Android | Google Developers