Google Mobile Ads SDK を設定する

広告を配信して収益を得るには、iOS アプリに Google Mobile Ads SDK を統合します。プロジェクトを準備するには、広告をリクエストする前に Google Mobile Ads SDK をインポートして初期化します。

このガイドでは、Google Mobile Ads SDK のインポートと初期化、広告フォーマットの選択について説明します。

前提条件

続行する前に、次の点をご確認ください。

  • Xcode 16.0 以降を使用していること。
  • iOS 13.0 以降をターゲットとしていること。

Google Mobile Ads SDK をインポートする

Google Mobile Ads SDK をインポートするには、次のいずれかのセクションを完了します。

Swift Package Manager

プロジェクトにパッケージの依存関係を追加するには、次の手順を行います。

  1. Xcode を開きます。
  2. [File] > [Add Package Dependencies...] に移動します。
  3. Google Mobile Ads SDK Swift パッケージをインストールします。

  4. 表示されたプロンプトで、Google Mobile Ads の Swift パッケージの GitHub リポジトリ(下記)を検索します。

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. 使用する Google Mobile Ads SDK の Swift パッケージのバージョンを選択します。新しいプロジェクトの場合は [Up to Next Major Version] を選択することをおすすめします。

CocoaPods

CocoaPods を使用する手順は次のとおりです。

  1. プロジェクトの Podfile を開き、アプリの target ビルド設定に次の行を追加します。

    pod 'Google-Mobile-Ads-SDK'
  2. ターミナルで以下を実行します。

    pod install --repo-update

手動ダウンロード

Google Mobile Ads SDK を手動でダウンロードする手順は次のとおりです。

  1. Google Mobile Ads SDKダウンロードします。
  2. googlemobileadssdkios.zip パッケージを解凍します。
  3. Xcode プロジェクトに次のフレームワークを追加します。

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. ターゲットの [General] 設定で、[Frameworks, Libraries, and Embedded Content] に移動します。

  5. GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework が [Embed & Sign] に設定されていることを確認します。

  6. プロジェクトのビルド設定で、次の操作を行います。

    • [Runpath Search Paths] に /usr/lib/swift パスを追加します。
    • [Other Linker Flags] に -ObjC リンカーフラグを追加します。

Info.plist ファイルを更新する

アプリの Info.plist ファイルに次のキーを追加します。

サンプルコードの全文

<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</string>
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wg4vff78zm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>tl55sbb4fm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c3frkrj4fj.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

SAMPLE_APP_ID は、ご自身のアド マネージャー アプリ ID に置き換えてください。テスト中は、前の例に示したサンプルアプリ ID を使用してください。

アプリの初期化を高速化するには、収益グループを特定のアプリにリンクします。収益グループが iOS をターゲットとしているものの、アプリにリンクされていない場合、そのグループはアカウント内のすべての iOS アプリに送信されます。このアプローチでは、パフォーマンスが低下する可能性があります。

Google Mobile Ads SDK を初期化する

広告を読み込む前に、GADMobileAds.sharedInstance プロパティから start() メソッドを呼び出して Google Mobile Ads SDK を初期化します。このメソッドは、Google Mobile Ads SDK とメディエーション アダプターの処理が完了した後、または 30 秒後に、完了ハンドラを呼び出します。

次の例では、Google Mobile Ads SDK を初期化します。

Swift

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

SwiftUI

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

Objective-C

// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];

初期化時に、startWithCompletionHandler: メソッドを呼び出すと、Google Mobile Ads SDK によって広告がプリロードされたり、サードパーティの SDK が初期化されたりする場合があります。欧州経済領域(EEA)、英国、スイスのユーザーから同意を得る必要がある場合は、リクエスト固有のフラグを設定します。リクエスト固有のフラグを設定する必要がある場合は、Google Mobile Ads SDK を初期化する前にフラグを設定してください。詳しくは、ターゲティングをご覧ください。

広告フォーマットを選択する

Google Mobile Ads SDK をインポートしたら、実装する広告フォーマットを選択できます。

アド マネージャーでは、次の広告フォーマットをご利用いただけます。

広告フォーマット 説明 ドキュメント
バナー アプリのレイアウトの一部に長方形の広告を表示します。この広告は、設定された間隔で自動的に更新されます。ユーザーが同じ画面に留まっているときに、これらの広告が定期的に表示されます。 バナー広告を設定する
インタースティシャル アプリに全画面広告を表示します。この広告は、アプリの操作などが自然に途切れるタイミングや画面の切り替え時(ゲームアプリでレベルをクリアした後など)に配置します。 インタースティシャル広告
ネイティブ アプリで広告見出しや行動を促すフレーズなどのアセットをカスタマイズできます。広告をカスタマイズすると、アプリのビジュアル デザインに合わせた広告を作成できます。 ネイティブ広告を読み込む
リワード ユーザーは、ゲームをプレイしたり、アンケートに回答したり、動画を視聴したりすることで、コインやポイントなどのアプリ内報酬を獲得できます。広告ユニットに報酬を設定し、報酬の値やユーザーが受け取るアイテムを指定できます。 リワード広告
リワード インタースティシャル アプリの画面が変わるタイミングで表示される広告に対して報酬(例: コイン、追加ライフ)を提供できます。 リワード インタースティシャル広告
アプリ起動 ユーザーがアプリを開いたとき、またはアプリに戻ったときに表示されます。広告は読み込み画面に重ねて表示されます。 アプリ起動時広告