Это руководство предназначено для издателей, которые хотят монетизировать приложение iOS с помощью AdMob и не используют Firebase. Если вы планируете использовать Firebase в своём приложении (или рассматриваете такую возможность), см. версию этого руководства, посвящённую AdMob с Firebase .
Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов рекламы .
Предпосылки
- Используйте Xcode 16.0 или выше.
- Целевая версия iOS 12.0 или выше
- Рекомендуется: создайте учетную запись AdMob и зарегистрируйте приложение .
Импортируйте Mobile Ads SDK
Для импорта Google Mobile Ads SDK используйте один из следующих методов.
Менеджер пакетов Swift
Чтобы добавить зависимость пакета в свой проект, выполните следующие действия:
В Xcode установите пакет Google Mobile Ads Swift, перейдя в Файл > Добавить зависимости пакета... .
В появившемся окне найдите репозиторий GitHub Google Mobile Ads Swift Package:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Выберите нужную версию пакета Google Mobile Ads Swift. Для новых проектов мы рекомендуем использовать версию Up to Next Major .
CocoaPods
Прежде чем продолжить, ознакомьтесь с разделом Использование CocoaPods для получения информации о создании и использовании Podfiles.
Чтобы использовать CocoaPods , выполните следующие действия:
Откройте Podfile вашего проекта и добавьте эту строку в
target
конфигурацию сборки вашего приложения:pod 'Google-Mobile-Ads-SDK'
В терминале выполните:
pod install --repo-update
Ручная загрузка
Загрузите Google Mobile Ads SDK, а также
Embed & Sign
следующие фреймворки в свой проект Xcode:-
GoogleMobileAds.xcframework
-
UserMessagingPlatform.xcframework
-
В настройках сборки вашего проекта:
- Добавьте путь
/usr/lib/swift
в Runpath Search Paths . - Добавьте флаг компоновщика
-ObjC
к Другим флагам компоновщика .
- Добавьте путь
Обновите свой Info.plist
Обновите файл Info.plist
вашего приложения, добавив два ключа:
Ключ
GADApplicationIdentifier
со строковым значением идентификатора вашего приложения AdMob , найденного в пользовательском интерфейсе AdMob .Ключ
SKAdNetworkItems
со значениямиSKAdNetworkIdentifier
для Google (cstr6suwn9.skadnetwork
) и избранных сторонних покупателей , которые предоставили эти значения Google.
Полный фрагмент
<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>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 и не зарегистрировали приложение , сейчас самое время это сделать.
Инициализируйте SDK мобильной рекламы
Перед загрузкой рекламы вызовите метод start()
объекта GADMobileAds.sharedInstance
, который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или по истечении 30-секундного тайм-аута). Вызывайте start()
как можно раньше.
Быстрый
// 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];
Выберите формат рекламы
Пакет Mobile Ads SDK импортирован и инициализирован, и теперь вы готовы к размещению рекламы. AdMob предлагает множество различных форматов рекламы, поэтому вы можете выбрать тот, который лучше всего подходит для вашего приложения.
Баннер
Баннерные рекламные блоки отображают прямоугольные объявления, занимающие часть макета приложения. Они могут автоматически обновляться через заданный промежуток времени. Это означает, что пользователи видят новую рекламу через регулярные промежутки времени, даже оставаясь на одном и том же экране вашего приложения. Кроме того, это самый простой в реализации формат рекламы.
Интерстициальный
Полностраничные рекламные блоки показывают полностраничную рекламу в вашем приложении. Размещайте их в естественных местах перехода и пауз в интерфейсе приложения, например, после завершения уровня в игровом приложении.
Внедрение межстраничной рекламы
Родной
Нативная реклама — это реклама, в которой вы можете настраивать отображение таких элементов, как заголовки и призывы к действию, в своих приложениях. Создавайте естественные, ненавязчивые рекламные объявления, которые сделают ваш опыт взаимодействия с пользователем более насыщенным.
Награжден
Рекламные блоки с вознаграждением позволяют пользователям играть в игры, проходить опросы или смотреть видео, зарабатывая внутриигровые награды, такие как монеты, дополнительные жизни или баллы. Вы можете установить разные награды для разных рекламных блоков и указать их стоимость и предметы, которые получит пользователь.
Внедрение объявлений с вознаграждением
Вознагражденный интерстициальный
Вознаграждаемая полноэкранная реклама — это новый тип формата поощрительной рекламы, который позволяет предлагать вознаграждения, например монеты или дополнительные жизни, за рекламу, которая автоматически появляется во время естественных переходов в приложении.
В отличие от рекламы с вознаграждением, пользователям не требуется соглашаться на просмотр вознаграждаемой рекламы.
Вместо приглашения на подписку, как в рекламе с вознаграждением, в полноэкранной рекламе с вознаграждением используется вводный экран, на котором объявляется о вознаграждении и предоставляется возможность пользователям отказаться от него, если они того пожелают.
Внедрение вознагражденной межстраничной рекламы
Приложение открыто
Открытие приложения — это формат рекламы, который появляется при открытии приложения или переходе обратно в него. Реклама накладывается на экран загрузки.
Реализуйте рекламу при открытии приложения