Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .
Предварительные условия
- Используйте Xcode 14.1 или выше.
- Целевая iOS 11.0 или более поздняя версия
Импортируйте SDK мобильной рекламы
CocoaPods (предпочтительно)
Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:
pod 'Google-Mobile-Ads-SDK'
Затем из командной строки выполните:
pod install --repo-update
Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.
Менеджер пакетов Swift
Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие действия, чтобы импортировать пакет Swift.
В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .
В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Выберите версию пакета Google Mobile Ads Swift, которую вы хотите использовать. Для новых проектов мы рекомендуем использовать Up to Next Major Version .
Как только вы закончите, Xcode начнет разрешать зависимости вашего пакета и загружать их в фоновом режиме. Более подробную информацию о том, как добавить зависимости пакета, можно найти в статье Apple .
Ручная загрузка
Загрузите и разархивируйте платформу SDK напрямую и импортируйте следующие платформы в свой проект Xcode:
-
GoogleAppMeasurement.xcframework
-
GoogleAppMeasurementIdentitySupport.xcframework
-
GoogleMobileAds.xcframework
-
GoogleUtilities.xcframework
-
nanopb.xcframework
-
PromisesObjC.xcframework
-
UserMessagingPlatform.xcframework
-
Добавьте флаг компоновщика
-ObjC
к другим флагам компоновщика в настройках сборки вашего проекта:
Обновите свой Info.plist
Обновите файл Info.plist
вашего приложения, добавив два ключа:
Ключ
GADApplicationIdentifier
со строковым значением вашегоAd Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.Ключ
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>4pfyvq9l8r.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>5a6flpkh64.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>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>pwa73g5rt2.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>zq492l623r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Для оптимальной производительности инициализации важно связать группы доходности с конкретными приложениями, в которых они используются. Конфигурации групп доходности, ориентированные на iOS и не связанные с каким-либо конкретным приложением, будут отправлены во все приложения iOS в вашей учетной записи, что потенциально увеличивает необходимое время. инициализировать.
Инициализируйте SDK мобильной рекламы
Перед загрузкой объявлений вызовите метод startWithCompletionHandler:
в GADMobileAds.sharedInstance
, который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler:
как можно раньше.
Вот пример вызова метода startWithCompletionHandler:
в вашем AppDelegate
:
Пример AppDelegate.m (отрывок)
Быстрый
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Цель-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GADMobileAds.sharedInstance startWithCompletionHandler:nil]; return YES; } @end
Если вы используете посредничество, возможно, вам придется подождать, пока не будет вызван обработчик завершения, прежде чем загружать объявления, так как это обеспечит инициализацию всех адаптеров посредничества.
Выберите формат объявления
Теперь Mobile Ads SDK импортирован и инициализирован, и вы готовы к внедрению рекламы. Ad Manager предлагает несколько различных форматов рекламы, поэтому вы можете выбрать тот, который лучше всего соответствует пользовательскому опыту вашего приложения.
Баннер
Прямоугольные объявления, которые появляются вверху или внизу экрана устройства. Рекламные баннеры остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный период времени. Если вы новичок в мобильной рекламе, это отличное место для начала.
Межстраничный
Полноэкранная реклама, закрывающая интерфейс приложения до тех пор, пока его не закроет пользователь. Их лучше всего использовать в естественных паузах в процессе выполнения приложения, например, между уровнями игры или сразу после завершения задачи.
Внедрить межстраничное объявление
Родной
Настраиваемые объявления, соответствующие внешнему виду вашего приложения. Вы сами решаете, как и где они будут размещены, чтобы макет больше соответствовал дизайну вашего приложения.
Google Ad Manager предлагает два способа реализации нативной рекламы: нативные стили и пользовательский рендеринг.
Нативные стили были разработаны, чтобы максимально упростить внедрение нативной рекламы, и это отличный выбор, если вы новичок в этом формате. Пользовательский рендеринг был разработан, чтобы максимизировать свободу при создании презентаций.
Реализация собственных стилей | Реализация пользовательского рендеринга |
Награжден
Объявления, которые вознаграждают пользователей за просмотр коротких видеороликов и взаимодействие с игровой рекламой и опросами. Подходит для монетизации пользователей free-to-play.
Внедрите рекламу с вознаграждением | Внедрение рекламы с вознаграждением (новые API) |