Это руководство предназначено для издателей, которые хотят монетизировать приложение для iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в свое приложение (или рассматриваете возможность этого), ознакомьтесь с версией этого руководства для AdMob с Firebase .
Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После интеграции SDK вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .
Предпосылки
- Используйте Xcode 13.2.1 или выше
- Таргетинг на iOS 10.0 или выше
- Рекомендуется: создайте аккаунт AdMob и зарегистрируйте приложение .
Импорт SDK для мобильной рекламы
CocoaPods (желательно)
Самый простой способ импортировать SDK в проект iOS — использовать CocoaPods . Откройте Podfile вашего проекта и добавьте эту строку в цель вашего приложения:
pod 'Google-Mobile-Ads-SDK'
Затем из командной строки запустите:
pod install --repo-update
Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.
Быстрый менеджер пакетов
Google Mobile Ads SDK поддерживает Swift Package Manager , начиная с версии 9.0.0. Выполните следующие действия, чтобы импортировать пакет Swift.
В Xcode установите пакет Google Mobile Ads Swift, выбрав « Файл» > «Добавить пакеты... ».
В появившемся приглашении найдите репозиторий Google Mobile Ads Swift Package GitHub:
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
со строковым значением вашего идентификатора приложенияAdMob ( идентифицированного в пользовательском интерфейсеAdMob ). - Ключ
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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.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>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>av6w8kgt66.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>424m5254lk.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>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>gta9lk7p23.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>
Если вы еще не создали учетную запись AdMob и не зарегистрировали приложение , самое время это сделать.
Инициализируйте Mobile Ads 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 теперь импортирован и инициализирован, и вы готовы реализовать рекламу. AdMob предлагает несколько различных форматов объявлений, поэтому вы можете выбрать тот, который лучше всего подходит для вашего приложения.
Баннер
Прямоугольные объявления, которые появляются вверху или внизу экрана устройства. Баннеры остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный период времени. Если вы новичок в мобильной рекламе, это отличное место для начала.
межстраничный
Полноэкранная реклама, закрывающая интерфейс приложения до тех пор, пока пользователь не закроет ее. Их лучше всего использовать в естественных паузах в потоке выполнения приложения, например, между уровнями игры или сразу после завершения задачи.
Внедрить межстраничное объявление
Родной
Настраиваемые объявления, которые соответствуют внешнему виду вашего приложения. Вы сами решаете, как и где их размещать, чтобы макет больше соответствовал дизайну вашего приложения.
Вознагражден
Объявления, которые вознаграждают пользователей за просмотр коротких видеороликов и взаимодействие с воспроизводимой рекламой и опросами. Подходит для монетизации бесплатных пользователей.
Реализовать рекламу с вознаграждением | Внедрение объявлений с вознаграждением (новые API) |