Начать

Выберите платформу: Android iOS Unity Flutter

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

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

Предпосылки

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

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

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

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

Чтобы добавить зависимость пакета в свой проект, выполните следующие действия:

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

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

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Выберите версию Google Mobile Ads Swift Package, которую вы хотите использовать. Для новых проектов мы рекомендуем использовать Up to Next Major Version .

CocoaPods

Прежде чем продолжить, ознакомьтесь с разделом Использование CocoaPods для получения информации о создании и использовании Podfiles.

Чтобы использовать CocoaPods , выполните следующие действия:

  1. Откройте Podfile вашего проекта и добавьте эту строку в target конфигурацию сборки вашего приложения:

    pod 'Google-Mobile-Ads-SDK'
  2. В терминале выполните:

    pod install --repo-update

Ручная загрузка

  1. Загрузите Google Mobile Ads SDK, а Embed & Sign следующие фреймворки в свой проект Xcode:

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

    • Добавьте путь /usr/lib/swift в Runpath Search Paths .
    • Добавьте флаг компоновщика -ObjC в Другие флаги компоновщика .

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

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

  1. Ключ GADApplicationIdentifier со строковым значением идентификатора вашего приложения AdMob , найденного в пользовательском интерфейсе AdMob .

  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>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>tl55sbb4fm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c3frkrj4fj.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Если вы еще не создали учетную запись 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 {

    MobileAds.shared.start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

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

    MobileAds.shared.start(completionHandler: nil)

    return true
  }
}

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

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

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

Выберите формат рекламы

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

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

Внедрение баннерной рекламы

Интерстициальный

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

Внедрение межстраничной рекламы

Родной

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

Внедрение нативной рекламы

Награжден

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

Внедрение вознагражденных объявлений

Вознагражденный интерстициальный

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

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

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

Внедрение вознагражденных рекламных объявлений

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

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

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