Как настроить Google Mobile Ads SDK

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

В этом руководстве рассказывается, как импортировать и инициализировать Google Mobile Ads SDK, а также выбрать формат объявления.

Требования

Прежде чем продолжить, убедитесь, что у вас есть:

  • Используйте Xcode 16.0 или более поздней версии.
  • iOS 13.0 или более поздней версии.

Импортировать Google Mobile Ads SDK

Чтобы импортировать Google Mobile Ads SDK, выполните инструкции из одного из следующих разделов:

Swift Package Manager (рекомендуется)

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

  1. Откройте Xcode.
  2. Выберите File (Файл) > Add Package Dependencies (Добавить зависимости пакетов).
  3. Установите пакет Swift Google Mobile Ads SDK.

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

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

CocoaPods

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

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

    pod 'Google-Mobile-Ads-SDK'
    
  2. В терминале выполните следующую команду:

    pod install --repo-update

Настройка целевой платформы для Xcode 27

Для всех целевых объектов в Xcode 27 требуется минимальная целевая версия iOS 15.0. Поскольку Google Mobile Ads SDK поддерживает iOS 13.0, сборки Xcode 27 не работают при использовании CocoaPods.

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

  1. Откройте файл Podfile проекта и добавьте хук post_install, который задает целевую версию развертывания 15.0. Если у вас есть блок post_install, добавьте внутренний цикл в существующий блок.

    В следующем примере для всех целевых объектов pod ключ IPHONEOS_DEPLOYMENT_TARGET получает значение 15.0:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
        end
      end
    end
    
  2. Чтобы переустановить поды, выполните следующую команду:

    pod install --repo-update

Скачивание вручную

Чтобы скачать Google Mobile Ads SDK вручную, выполните следующие действия:

  1. Скачать Google Mobile Ads SDK.
  2. Распакуйте пакет googlemobileadssdkios.zip.
  3. Добавьте в проект Xcode следующие фреймворки:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. В настройках General (Общие) целевого объекта перейдите в раздел Frameworks, Libraries, and Embedded Content (Фреймворки, библиотеки и встроенный контент).

  5. Убедитесь, что для параметров GoogleMobileAds.xcframework и UserMessagingPlatform.xcframework задано значение Встроить и подписать.

  6. В настройках сборки проекта выполните следующие действия:

    • Добавьте путь /usr/lib/swift в Runpath Search Paths (Пути поиска Runpath).
    • Добавьте флаг компоновщика -ObjC в раздел Other Linker Flags (Другие флаги компоновщика).

Обновите файл Info.plist

В файл Info.plist приложения добавьте следующие ключи:

Полный пример

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

Замените SAMPLE_APP_ID идентификатором приложения в Менеджере рекламы. При тестировании используйте идентификатор приложения из предыдущего примера.

Чтобы ускорить инициализацию приложения, свяжите группы доходности с определенными приложениями. Если группа доходности настроена на таргетинг на iOS, но не связана с приложением, Google отправляет группу во все приложения iOS в вашем аккаунте. Это может снизить производительность.

Инициализация Google Mobile Ads SDK

Перед загрузкой объявлений инициализируйте Google Mobile Ads SDK, вызвав метод start() из свойства GADMobileAds.sharedInstance. Этот метод вызывает обработчик завершения после того, как Google Mobile Ads SDK и адаптеры медиации закончат обработку, или через 30 секунд.

В примере ниже инициализируется Google Mobile Ads SDK:

Swift

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

SwiftUI

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

Objective-C

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

При инициализации Google Mobile Ads SDK может предварительно загружать объявления или инициализировать сторонние SDK при вызове метода startWithCompletionHandler:. Если вам нужно получить согласие пользователей из Европейской экономической зоны (ЕЭЗ), Великобритании или Швейцарии, установите специальные пометки для запросов. Если вам нужно задать флаги для определенных запросов, сделайте это до инициализации Google Mobile Ads SDK. Подробнее о таргетинге…

Выберите формат объявления

После импорта Google Mobile Ads SDK вы можете выбрать формат объявлений.

В Менеджере рекламы доступны следующие форматы объявлений:

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