このガイドは、AdMob で iOS アプリを収益化することをご希望で、Firebase を使わないパブリッシャー様を対象としています。アプリに Firebase を組み込む予定か検討中の場合は、Firebase を使った AdMob 向けガイド(別バージョン)をご覧ください。
アプリに Google Mobile Ads SDK を組み込むことは、広告を表示して収益を得るための第一歩です。SDK を組み込んだら、サポート対象広告フォーマットの実装作業に進めます。
前提条件
- Xcode 11 以降を使用します。
- iOS 9.0 以降をターゲットに設定します。
- 推奨: AdMob アカウントを作成して、アプリを登録します。
Mobile Ads SDK をインポートする
CocoaPods(推奨)
iOS プロジェクトに SDK を簡単にインポートするには、CocoaPods を使う方法がおすすめです。プロジェクトの Podfile を開き、アプリのターゲットに次の行を追加します。
pod 'Google-Mobile-Ads-SDK'
次に、コマンドラインから次のコマンドを実行します。
pod install --repo-update
CocoaPods を初めてご利用の場合は、CocoaPods の公式ドキュメントで Podfile の作成方法と使用方法をご確認ください。
手動ダウンロード
SDK フレームワークを直接ダウンロードして解凍し、Xcode のプロジェクトに次のフレームワークをインポートします。
GoogleAppMeasurement.framework
GoogleMobileAds.framework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.framework
プロジェクトのビルド設定で、次のように [Other Linker Flags] に
-ObjC
リンカーフラグを追加します。
Info.plist を更新する
アプリの Info.plist
ファイルを更新し、次の 2 つのキーを追加します。
- AdMob アプリ ID(AdMob の UI で確認)の文字列値を含む
GADApplicationIdentifier
キー。 - Google の
SKAdNetworkIdentifier
の値としてcstr6suwn9.skadnetwork
を含むSKAdNetworkItems
キー。
<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</string> <key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> </array>
または、Property List Editor で次のように編集します。
AdMob アカウントの作成とアプリの登録が済んでいない場合は、ここで行います。
Mobile Ads SDK を初期化する
広告を読み込む前に、GADMobileAds.sharedInstance
で startWithCompletionHandler:
メソッドを呼び出します。このメソッドは SDK を初期化し、初期化が完了(または 30 秒間のタイムアウトが経過)した時点で完了ハンドラをコールバックします。この処理が必要なのは 1 回のみで、アプリの起動時に行うのが理想的です。できるだけ早く startWithCompletionHandler:
を呼び出してください。
AppDelegate
で startWithCompletionHandler:
メソッドを呼び出す方法について、次に例を示します。
サンプル AppDelegate.m(抜粋)
Swift
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[GADMobileAds sharedInstance] startWithCompletionHandler:nil]; return YES; } @end
メディエーションを使用している場合は、完了ハンドラが呼び出されるまで待ってから広告を読み込むことをおすすめします。これにより、すべてのメディエーション アダプタが確実に初期化されます。
広告フォーマットを選択する
Mobile Ads SDK がインポートされて初期化が完了したら、いよいよ広告を実装します。AdMob には多様な広告フォーマットがあり、アプリのユーザー エクスペリエンスに合わせて最適なものを選べます。
バナー
デバイス画面の上部か下部に表示される長方形の広告です。アプリの操作中は画面に表示され続けますが、一定時間が経過すると自動的に更新されるよう設定できます。モバイル広告を初めてお使いの場合は、この広告から始めるのが最適です。
インタースティシャル
ユーザーが閉じるまでアプリのインターフェース上に全画面表示される広告です。ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングでの使用に適しています。
ネイティブ
アプリのデザインに合わせてカスタマイズできる広告です。広告の配置場所やスタイルを指定できるため、アプリのデザインに溶け込んだレイアウトが可能になります。
リワード広告
短い動画を視聴し、体験プレイ広告やアンケートを操作したユーザーに報酬を進呈する広告です。無料利用のユーザーの収益化に効果的です。
リワード広告を実装する | リワード広告を実装する(新しい API の場合) |