开始

Это руководство предназначено для издателей, которые хотят монетизировать приложение для iOS с помощью AdMob и не используют Firebase. Если вы планируете включить Firebase в приложении (или вы рассматриваете его), см AdMob с Firebase версией этого руководства вместо этого.

Интеграция Google Mobile Ads SDK в приложение — это первый шаг к показу рекламы и получению дохода. После того, как вы интегрировали SDK, вы можете приступить к реализации одного или нескольких поддерживаемых форматов объявлений .

Предпосылки

  • Используйте Xcode 12 или выше
  • Таргетинг на iOS 10.0 или выше

Импорт SDK для мобильной рекламы

CocoaPods (желательно)

Самый простой способ , чтобы импортировать SDK в проект IOS является использование CocoaPods . Откройте Podfile вашего проекта и добавьте эту строку в цель вашего приложения:

pod 'Google-Mobile-Ads-SDK'

Затем из командной строки запустите:

pod install --repo-update

Если вы новичок в CocoaPods, увидеть их официальную документацию , содержащую информацию о том , как создавать и использовать Podfiles.

Ручная загрузка

  1. Скачать и распаковать в рамках SDK напрямую, и импортировать следующие рамки в свой проект Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Добавьте -ObjC флаг компоновщика в другие флаги компоновщика в настройках сборки вашего проекта:

Обновите свой Info.plist

Обновление вашего приложения Info.plist файл , чтобы добавить два ключа:

  1. GADApplicationIdentifier ключ со значением строки вашегоAdMob идентификатор приложения ( идентифицированного вAdMob UI ).
  2. 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>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>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>n6fk4nfna4.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>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>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>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>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 предлагает ряд различных форматов объявлений, так что вы можете выбрать тот , который наилучшим образом соответствует пользовательскому интерфейсу вашего приложения.

Прямоугольные объявления, которые появляются вверху или внизу экрана устройства. Баннеры остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный период времени. Если вы новичок в мобильной рекламе, это отличное место для начала.

Реализовать баннер

межстраничный

Полноэкранная реклама, закрывающая интерфейс приложения до тех пор, пока пользователь не закроет ее. Их лучше всего использовать в естественных паузах в потоке выполнения приложения, например, между уровнями игры или сразу после завершения задачи.

Внедрить межстраничное объявление

Родной

Настраиваемые объявления, которые соответствуют внешнему виду вашего приложения. Вы сами решаете, как и где их размещать, чтобы макет больше соответствовал дизайну вашего приложения.

Реализовать Native Ads

Вознагражден

Объявления, которые вознаграждают пользователей за просмотр коротких видеороликов и взаимодействие с воспроизводимой рекламой и опросами. Подходит для монетизации бесплатных пользователей.

Реализовать рекламу с вознаграждением Внедрение объявлений с вознаграждением (новые API)