スタートガイド

このガイドは、AdMob で iOS アプリを収益化したいパブリッシャー様を対象としています Firebase を使用していません。アプリに Firebase を含める(または など)については、 AdMob と Firebase 使用してください。

Google Mobile Ads SDK のアプリへの統合は、 広告を表示して収益を得ることができます。SDK を統合すると、次のことが可能になります。 Chronicle SOAR プラットフォームの サポートされている広告フォーマットのいずれかを選択します。

前提条件

  • Xcode 15.3 以降を使用している
  • iOS 12.0 以降を対象としている

Mobile Ads SDK をインポートする

Google Mobile Ads SDK をインポートするには、次のいずれかの方法を使用します。

CocoaPods(推奨)

SDK を iOS プロジェクトにインポートする最も簡単な方法は、 CocoaPods。オープン プロジェクトの Podfile を開き、アプリのターゲットに次の行を追加します。

pod 'Google-Mobile-Ads-SDK'

次に、コマンドラインから次のコマンドを実行します。

pod install --repo-update

CocoaPods を初めてご利用になる場合は、CocoaPods の 公式ドキュメント ご覧ください。

Swift Package Manager

Google Mobile Ads SDK では、Swift パッケージ Manager バージョン 9.0.0 以降。フォローする Swift パッケージをインポートする手順は以下のとおりです。

  1. Xcode で以下に移動して、Google Mobile Ads Swift パッケージをインストールします。 [ファイル] >Add Packages...」というメッセージが表示されます。

  2. 表示されるプロンプトで、Google Mobile Ads Swift パッケージを検索します。 GitHub リポジトリ:

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

完了すると、Xcode がパッケージの依存関係の解決を開始し、 バックグラウンドでダウンロードされます。パッケージを追加する方法の詳細 詳しくは、Apple の記事をご覧ください。

手動ダウンロード

  1. Google Mobile Ads SDK をダウンロード 次に、次のフレームワークを Xcode プロジェクトに Embed & Sign します。

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. -ObjC リンカーフラグを、プロジェクトの [Other Linker Flags] に追加します。 ビルド設定:

Info.plist を更新する

アプリの Info.plist ファイルを更新して、次の 2 つのキーを追加します。

  1. 文字列値を含む GADApplicationIdentifier キーは、 AdMob app ID found in the AdMob UI

  2. Google 用の SKAdNetworkIdentifier 値を持つ SKAdNetworkItems キー (cstr6suwn9.skadnetwork)および 一部の第三者購入者 Google に価値を提供した購入者と 取引できます

完全なスニペット

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</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>4pfyvq9l8r.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>5a6flpkh64.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>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>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

AdMob アカウントを作成し アカウントに登録し、 活用しましょう。 できます。

実際のアプリでは、サンプルアプリ ID を実際の AdMob アプリ ID。次の場合にサンプル ID を使用できます。 Hello World アプリで SDK を試すだけなので

Mobile Ads SDK を初期化する

広告を読み込む前に、startWithCompletionHandler:メソッドを GADMobileAds.sharedInstance SDK を初期化し、完了ハンドラを 1 回だけコールバックします。 初期化が完了したとき(または 30 秒のタイムアウト後)に行われます。これは単に (アプリの起動時に行うのが理想的です)startWithCompletionHandler: を呼び出す必要があります。 できるだけ早い段階で

次に、startWithCompletionHandler: メソッドを呼び出す方法の例を示します。 AppDelegate:

AppDelegate の例(抜粋)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

広告フォーマットの選択

これで Mobile Ads SDK のインポートと初期化が完了し、 広告の実装を支援します。 AdMob さまざまな広告フォーマットが用意されているため、アプリのユーザーに最適なものを選択できます 体験できます

SwiftUI のデベロッパーの方は、SwiftUI の ガイドをご覧ください。

バナー広告ユニットには、アプリの画面の一部に表示される長方形の広告が表示されます できます。一定時間の経過後に自動更新される。つまり ユーザーが同じことを続けていても、定期的に新しい広告が表示される クリックします。最も簡単に実装できる広告フォーマットでもあります。

バナー広告を実装する

インタースティシャル

インタースティシャル広告ユニットでは、アプリに全画面広告が表示されます。自然な位置に配置する アプリのインターフェースでの中断や遷移(レベルクリア後など) ゲームアプリで利用できます。

インタースティシャル広告を実装する

ネイティブ

ネイティブ広告では、広告見出しや説明文などのアセットの方法をカスタマイズできる 行動を促すフレーズがアプリに表示されている。広告のスタイルをご自身で設定すると リッチ ユーザーの興味を引き付ける、自然で目立たない広告プレゼンテーションを作成できる 体験できます

ネイティブ広告を実装する

特典

リワード広告ユニットを使用すると、ゲームのプレイ、アンケートへの回答、動画の視聴を通じて、 コイン、追加ライフ、ポイントなどのアプリ内特典を獲得する。[ 広告ユニットごとに異なる報酬を設定し、報酬の値と アイテム。

リワード広告を実装する

リワード インタースティシャル

リワード インタースティシャルは、報酬に基づく新しいタイプの広告フォーマットで、 自動的に表示される広告でコインや追加ライフなどの報酬を提供する アプリの画面が切り替わる際に 非常に効果的です

リワード広告とは異なり、ユーザーはリワード広告の表示にオプトインする必要はありません。 表示できます。

リワード広告では、オプトイン プロンプトの代わりに、リワード インタースティシャル広告を表示する必要があります。 特典について告知し、特典を無効化する機会をユーザーに提供するイントロ画面 決定します

リワード インタースティシャル広告を実装する

アプリ起動

アプリ起動時広告は、ユーザーがアプリを開いたとき、またはアプリに切り替えたときに表示される広告フォーマットです。 。広告は読み込み画面に重ねて表示されます。

アプリ起動時広告を実装する