Начать, начать

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

Предварительные условия

  • Используйте Xcode 15.3 или выше.
  • Целевая iOS 12.0 или более поздняя версия

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

Используйте один из следующих методов для импорта Google Mobile Ads 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:

  1. В Xcode установите пакет Google Mobile Ads Swift, выбрав «Файл» > «Добавить пакеты...» .

  2. В появившемся окне найдите репозиторий GitHub пакета Google Mobile Ads Swift:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Выберите версию пакета Google Mobile Ads Swift, которую вы хотите использовать. Для новых проектов мы рекомендуем использовать Up to Next Major Version .

Как только вы закончите, Xcode начнет разрешать зависимости вашего пакета и загружать их в фоновом режиме. Более подробную информацию о том, как добавить зависимости пакета, можно найти в статье Apple .

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

  1. Загрузите Google Mobile Ads SDK и Embed & Sign следующие платформы в свой проект Xcode:

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

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

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

  1. Ключ GADApplicationIdentifier со строковым значением вашегоAd Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  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>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 в вашей учетной записи, что потенциально увеличивает необходимое время. инициализировать.

В реальном приложении замените пример идентификатора приложения фактическим идентификатором приложенияAd Manager . Вы можете использовать образец идентификатора, если вы просто экспериментируете с SDK в приложении Hello World.

Инициализируйте SDK мобильной рекламы

Перед загрузкой объявлений вызовите метод startWithCompletionHandler: в GADMobileAds.sharedInstance , который инициализирует SDK и вызывает обработчик завершения после завершения инициализации (или после 30-секундного тайм-аута). Это нужно сделать только один раз, в идеале при запуске приложения. Вам следует вызвать startWithCompletionHandler: как можно раньше.

Вот пример вызова метода startWithCompletionHandler: в вашем AppDelegate :

Пример AppDelegate (отрывок)

Быстрый

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Цель-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Выберите формат объявления

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

Для разработчиков SwiftUI следуйте нашему руководству по SwiftUI .

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

Внедрить баннерную рекламу

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

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

Внедрите межстраничную рекламу

Родной

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

Google Ad Manager предлагает два способа реализации нативной рекламы: нативные стили и стандартные нативные объявления посредством пользовательского рендеринга.

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

Внедрение нативных стилей. Внедрение нативной рекламы (собственная визуализация).

Награжден

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

Внедрите рекламу с вознаграждением