Начать

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения

,

Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или подумываете об этом), вместо этого ознакомьтесь с версией этого руководства для AdMob с Firebase .

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

Импортируйте SDK мобильной рекламы

Используйте один из следующих методов для импорта Google Mobile Ads SDK.

CocoaPods (предпочтительно)

Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки выполните:

pod install --repo-update

Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.

Менеджер пакетов Swift

Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие шаги, чтобы импортировать пакет Swift:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    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 и Embed & Sign следующие платформы в свой проект Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. В настройках сборки вашего проекта:

    • Добавьте путь /usr/lib/swift в Пути поиска пути выполнения .
    • Добавьте флаг компоновщика -ObjC в раздел Другие флаги компоновщика .

Обновите свой Info.plist

Обновите файл Info.plist вашего приложения, добавив два ключа:

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAdMob app ID found in the AdMob UI.

  2. Ключ SKAdNetworkItems со значениями SKAdNetworkIdentifier для Google ( 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , сейчас самое время это сделать.

В реальном приложении замените образец идентификатора приложения фактическим.AdMob идентификатор приложения . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

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()
      }
    }
  }
}

Цель-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 .

Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут обновляться автоматически через заданный период времени. Это означает, что пользователи просматривают новое объявление через определенные промежутки времени, даже если они остаются на одном и том же экране вашего приложения. Это также самый простой в реализации формат рекламы.

Внедрить баннерную рекламу

Межстраничный

Межстраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных разрывах и переходах интерфейса вашего приложения, например, после завершения уровня в игровом приложении.

Внедрите межстраничную рекламу

Родной

Нативная реклама — это реклама, в которой вы можете настроить способ представления таких ресурсов, как заголовки и призывы к действию, в ваших приложениях. Оформляя рекламу самостоятельно, вы можете создать естественную, ненавязчивую презентацию рекламы, которая сделает ее более интересной для пользователей.

Внедрите нативную рекламу

Награжден

Рекламные блоки с вознаграждением позволяют пользователям играть в игры, участвовать в опросах или смотреть видео, чтобы заработать внутри приложения награды, такие как монеты, дополнительные жизни или очки. Вы можете установить разные вознаграждения для разных рекламных блоков, а также указать значения вознаграждений и предметы, которые получил пользователь.

Внедрите рекламу с вознаграждением

Межстраничное объявление с вознаграждением

Межстраничная реклама с вознаграждением – это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая появляется автоматически во время естественных переходов между приложениями.

В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр межстраничной рекламы с вознаграждением.

Вместо приглашения на участие в рекламе с вознаграждением, межстраничные объявления с вознаграждением требуют вступительного экрана, который объявляет о вознаграждении и дает пользователям возможность отказаться, если они этого захотят.

Внедрите межстраничную рекламу с вознаграждением

Приложение открыто

Открытие приложения – это формат рекламы, который появляется, когда пользователи открывают ваше приложение или возвращаются к нему. Реклама накладывается на экран загрузки.

Внедрите рекламу при запуске приложения