Чтобы показывать рекламу и получать доход, интегрируйте 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.
В появившемся окне найдите хранилище пакета Swift для Google Mobile Ads на 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 (Пути поиска Runpath). - Добавьте флаг компоновщика
-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 доступны следующие форматы объявлений:
| Формат объявления | Описание | Документация |
|---|---|---|
| Баннер | Прямоугольные объявления, которые занимают часть макета приложения. Это объявление автоматически обновляется через заданные интервалы времени. Пользователи видят эти объявления периодически, оставаясь на одном экране. | Как настроить баннеры |
| Межстраничное объявление | Полноэкранные объявления, которые рекомендуется показывать в моменты естественных пауз и переходов в интерфейсе приложения, например после завершения уровня в мобильной игре. | Межстраничные объявления |
| Стандартное | Позволяет настраивать объекты, например заголовки и призывы к действию, в приложениях. Вы можете настроить внешний вид объявлений так, чтобы они соответствовали дизайну вашего приложения. | Загрузка нативного объявления |
| Бонус предоставлен | Пользователи получают вознаграждение в приложении, например монеты или очки, за игры, прохождение опросов или просмотр видео. Вы можете задавать разные виды и размеры вознаграждений для разных рекламных блоков и контролировать, какие бонусы получают пользователи. | Объявления с вознаграждением |
| Межстраничные объявления с вознаграждением | Позволяет предлагать пользователям награды, например монеты или дополнительные жизни, за просмотр рекламы, которая показывается при переходах внутри приложения. | Межстраничные объявления с вознаграждением |
| Объявления при запуске приложения | Показывается, когда пользователь открывает приложение или возвращается к нему. Объявление накладывается на экран загрузки. | Объявления при запуске приложения |