Чтобы показывать рекламу и получать доход, интегрируйте Google Mobile Ads SDK в свое приложение для iOS. Для этого импортируйте и инициализируйте Google Mobile Ads SDK, прежде чем запрашивать объявления.
Если вы используете Firebase в приложении для iOS, ознакомьтесь с этой статьей.
В этом руководстве рассказывается, как импортировать и инициализировать Google Mobile Ads SDK, а также выбрать формат объявления.
Требования
Прежде чем продолжить, убедитесь, что у вас есть:
- Используйте Xcode 16.0 или более поздней версии.
- iOS 13.0 или более поздней версии.
Импортировать Google Mobile Ads SDK
Чтобы импортировать Google Mobile Ads SDK, выполните инструкции из одного из следующих разделов:
Swift Package Manager (рекомендуется)
Чтобы добавить зависимость пакета в проект, выполните следующие действия:
- Откройте Xcode.
- Выберите File (Файл) > Add Package Dependencies (Добавить зависимости пакетов).
Установите пакет Swift Google Mobile Ads SDK.
В появившемся окне найдите хранилище пакета Google Mobile Ads Swift на GitHub:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitВыберите версию пакета Swift для Google Mobile Ads SDK, которую хотите использовать. Для новых проектов рекомендуется использовать вариант Up to Next Major Version (До следующей основной версии).
CocoaPods
Чтобы использовать CocoaPods, выполните следующие действия:
Откройте файл Podfile проекта и добавьте эту строку в конфигурацию сборки
targetприложения:pod 'Google-Mobile-Ads-SDK'В терминале выполните следующую команду:
pod install --repo-update
Настройка целевой платформы для Xcode 27
Для всех целевых объектов в Xcode 27 требуется минимальная целевая версия iOS 15.0. Поскольку Google Mobile Ads SDK поддерживает iOS 13.0, сборки Xcode 27 не работают при использовании CocoaPods.
Чтобы устранить эту проблему, сделайте следующее:
Откройте файл
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Чтобы переустановить поды, выполните следующую команду:
pod install --repo-update
Скачивание вручную
Чтобы скачать Google Mobile Ads SDK вручную, выполните следующие действия:
- Скачать Google Mobile Ads SDK.
- Распакуйте пакет
googlemobileadssdkios.zip. Добавьте в проект Xcode следующие фреймворки:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
В настройках General (Общие) целевого объекта перейдите в раздел Frameworks, Libraries, and Embedded Content (Фреймворки, библиотеки и встроенный контент).
Убедитесь, что для параметров
GoogleMobileAds.xcframeworkиUserMessagingPlatform.xcframeworkзадано значение Встроить и подписать.В настройках сборки проекта выполните следующие действия:
- Добавьте путь
/usr/lib/swiftв Runpath Search Paths. - Добавьте флаг компоновщика
-ObjCв раздел Other Linker Flags (Другие флаги компоновщика).
- Добавьте путь
Обновите файл Info.plist
В файл Info.plist приложения добавьте следующие ключи:
Ключ
GADApplicationIdentifierсо строковым значением идентификатора приложения AdMob. Подробнее о том, как найти и скопировать идентификатор приложения или идентификатор рекламного блока …Ключ
SKAdNetworkItems. Этот ключ содержитSKAdNetworkIdentifierзначений для Googlecstr6suwn9.skadnetworkи некоторых сторонних покупателей.
Полный пример
<key>GADApplicationIdentifier</key>
<!-- Sample AdMob 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 идентификатором приложения AdMob. При тестировании используйте идентификатор приложения из предыдущего примера.
Если вы ещё не создали аккаунт AdMob и не зарегистрировали приложение, сейчас самое время это сделать.
Инициализация 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 вы можете выбрать формат объявлений.
В AdMob доступны следующие форматы объявлений:
| Формат объявления | Описание | Документация |
|---|---|---|
| Баннер | Прямоугольные объявления, которые показываются в определенной части макета приложения. Это объявление обновляется автоматически через заданные интервалы времени. Пользователи видят эти объявления периодически, оставаясь на одном экране. | Как настроить баннеры |
| Межстраничное объявление | Полноэкранные объявления, которые рекомендуется показывать в моменты естественных пауз и переходов в интерфейсе приложения, например после завершения уровня в мобильной игре. | Межстраничные объявления |
| Стандартное | Позволяет настраивать объекты, например заголовки и призывы к действию, в приложениях. Вы можете настроить внешний вид объявления так, чтобы оно соответствовало дизайну вашего приложения. | Загрузка нативного объявления |
| Бонус предоставлен | Пользователи могут смотреть видео, проходить опросы, играть в игры и т. д., получая вознаграждение в приложении, например монеты или очки. Вы можете задавать разные вознаграждения для разных рекламных блоков и указывать количество единиц вознаграждения для каждого рекламного блока. | Объявления с вознаграждением |
| Межстраничные объявления с вознаграждением. | Позволяет предлагать пользователям награды, например монеты или дополнительные жизни, за просмотр рекламы, которая показывается при переходах внутри приложения. | Межстраничные объявления с вознаграждением |
| Объявления при запуске приложения | Показывается, когда пользователь открывает приложение или возвращается к нему. Объявление накладывается на экран загрузки. | Объявления при запуске приложения |