Как настроить плагин Google Mobile Ads для Unity

Плагин Google Mobile Ads для Unity позволяет разработчикам Unity показывать мобильные объявления Google в приложениях для Android и iOS без написания кода на Java или Objective-C. Плагин предоставляет интерфейс C# для запроса объявлений, который используется скриптами C# в проекте Unity.

Это руководство предназначено для издателей, которые хотят монетизировать приложение Unity.

Требования

  • Используйте Unity Editor 2019.4 или более поздней версии.
    • Рекомендуем использовать версию 2022.2 или более позднюю.
  • Чтобы развернуть приложение на iOS:
    • Xcode 16.0 или более поздней версии;
    • iOS 13.0 или более поздней версии.
    • CocoaPods
  • Чтобы развернуть приложение на устройствах Android:
    • Минимальный уровень API Android – 24 или выше.
    • Целевой уровень Android API – 35 или выше.

Уровень Android API задается в разделе Project Settings (Настройки проекта) > Player (Проигрыватель) > Android > Other Settings (Другие настройки) > Other Settings (Другие настройки).

Импортируйте плагин Mobile Ads для Unity

OpenUPM-CLI

Если у вас установлен OpenUPM CLI, вы можете установить реестр OpenUPM с помощью следующей команды:

openupm add com.google.ads.mobile

Удалить .unitypackage объект плагина

Если вы переходите с .unitypackage на OpenUPM, вам нужно вручную удалить объекты из старого местоположения. Удалите следующие каталоги, импортированные из .unitypackage:

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

OpenUPM с интерфейсом

  1. Откройте настройки менеджера пакетов, выбрав в меню Unity Edit (Редактировать) > Project Settings (Настройки проекта) > Package Manager (Менеджер пакетов).
  2. Добавьте OpenUPM в качестве реестра с ограниченной областью действия в окне Package Manager (Менеджер пакетов):

    Name: OpenUPM
    URL: https://package.openupm.com
    Scopes: com.google
    
  3. Откройте меню менеджера пакетов, выбрав в меню Unity Window (Окно) > Package Manager (Менеджер пакетов).

  4. В раскрывающемся списке "Область действия менеджера" выберите Мои реестры.

  5. Выберите пакет Google Mobile Ads for Unity из списка и нажмите Install (Установить).

Удалить .unitypackage объект плагина

Если вы переходите с .unitypackage на OpenUPM, вам нужно вручную удалить объекты из старого местоположения. Удалите следующие каталоги, импортированные из .unitypackage:

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

OpenUPM

  1. Получите тег версии последнего выпуска. Возвращенный тег без префикса v – это версия Google Mobile Ads Unity Plugin.

    • macOS и Linux

      curl -sS https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest | jq -r '.tag_name'
    • Windows PowerShell

      (Invoke-RestMethod -Uri "https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest").tag_name
      
  2. Измените файл Packages/manifest.json, чтобы добавить реестр и зависимость с областью действия OpenUPM, используя версию, полученную из предыдущей команды:

    {
      "scopedRegistries": [
        {
          "name": "google",
          "url": "https://package.openupm.com",
          "scopes": [
            "com.google"
          ]
        }
      ],
      "dependencies": {
        "com.google.ads.mobile": "11.6.0"
      }
    }
    

Удалить .unitypackage объект плагина

Если вы переходите с .unitypackage на OpenUPM, вам нужно вручную удалить объекты из старого местоположения. Удалите следующие каталоги, импортированные из .unitypackage:

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

Импортировать из GitHub

  1. Скачайте выпуск .unitypackage с сайта GitHub.
  2. Импортируйте файл .unitypackage, выбрав в меню Unity Assets (Объекты) > Import package (Импортировать пакет) > Custom Package (Пользовательский пакет), и импортируйте все элементы.

Как отключить External Dependency Manager (необязательно)

Если вы управляете библиотеками Android и iOS с помощью собственных инструментов сборки, вы можете отключить пакет com.unity.external-dependency-manager:

В редакторе Unity выберите Window (Окно) > Package Manager (Менеджер пакетов) и удалите пакет External Dependency Manager (Менеджер внешних зависимостей) (com.unity.external-dependency-manager). При удалении этого пакета будет снят флажок Enable External Dependency Manager (Включить External Dependency Manager) в разделе Assets (Объекты) > Google Mobile Ads > Settings (Настройки).

Установите устаревший External Dependency Manager

Если в вашем проекте используется Unity 2022.2 или более ранняя версия, вы можете установить устаревший пакет Google com.google.external-dependency-manager, отключив пакет Unity:

  • Скачайте последнюю версию файла .unitypackage со страницы External Dependency Manager for Unity и выберите Assets (Объекты) > Import Package (Импортировать пакет) > Custom Package (Пользовательский пакет).
  • Выполните следующую команду OpenUPM CLI:

    openupm add com.google.external-dependency-manager

Как настроить нативные зависимости вручную

Если вы не используете пакет External Dependency Manager, добавьте необходимые библиотеки из файлов Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml и Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml в файлы сборки:

  • Для Android выберите Edit (Изменить) > Project Settings (Настройки проекта) > Player (Проигрыватель) > Android > Publishing Settings (Настройки публикации) > Build (Сборка) и включите Custom Main Gradle Template (Пользовательский основной шаблон Gradle). Добавьте необходимые библиотеки из файлов GoogleMobileAdsDependencies.xml и GoogleUmpDependencies.xml в блок dependencies файла Assets/Plugins/Android/mainTemplate.gradle:

    implementation 'com.google.android.gms:play-services-ads:25.5.0'
    implementation 'com.google.android.ump:user-messaging-platform:4.0.0'
    

    Также добавьте пакеты androidx.constraintlayout:constraintlayout, androidx.lifecycle:lifecycle-process и androidx.fragment:fragment, используя версии из файла GoogleMobileAdsDependencies.xml.

  • Для iOS экспортируйте проект Xcode. Добавьте необходимые группы контейнеров из файлов GoogleMobileAdsDependencies.xml и GoogleUmpDependencies.xml в файл Podfile в папке экспортированного проекта:

    pod 'Google-Mobile-Ads-SDK'
    pod 'GoogleUserMessagingPlatform'
    

    Затем выполните следующую команду в папке экспортированного проекта iOS:

    pod install --repo-update

Как задать идентификатор приложения AdMob

В редакторе Unity выберите в меню Assets (Объекты) > Google Mobile Ads (Google Реклама в мобильных приложениях) > Settings (Настройки).

Введите идентификатор приложения AdMob для Android и iOS в соответствующие поля.

Google Mobile Ads Unity Plugin сохраняет эти настройки в виде текста в файле конфигурации Assets/GoogleMobileAds/Resources/GoogleMobileAdsSettings.asset.

Инициализируйте SDK

Перед загрузкой объявлений приложение должно инициализировать Google Mobile Ads Unity Plugin, вызвав MobileAds.Initialize(). Это нужно сделать только один раз, желательно при запуске приложения.

Пример вызова MobileAds.Initialize():

MobileAds.Initialize((InitializationStatus initstatus) =>
{
    if (initstatus == null)
    {
        Debug.LogError("Google Mobile Ads initialization failed.");
        return;
    }

    Debug.Log("Google Mobile Ads initialization complete.");

    MobileAdsEventExecutor.ExecuteInUpdate(() =>
    {
        // Interact with UnityEngine objects on the main thread here.
    });
});

Взаимодействие с объектами Unity в основном потоке

Google Mobile Ads Unity Plugin вызывает события объявлений в фоновом потоке. Если обратные вызовы объявлений взаимодействуют с объектами Unity, например UnityEngine, явно запланируйте эту работу в основном потоке Unity с помощью метода MobileAdsEventExecutor.ExecuteInUpdate. Подробные инструкции вы найдете в статье Как вызывать события объявлений в основном потоке Unity.

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

Теперь Google Mobile Ads Unity Plugin будет включен в ваше приложение Unity при развертывании на платформе Android или iOS. Теперь вы готовы к реализации объявления. AdMob предлагает множество форматов объявлений, чтобы вы могли выбрать наиболее подходящий для ваших пользователей.

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

Как реализовать баннеры

Межстраничное объявление

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

Как размещать межстраничные объявления

Стандартное

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

Как реализовать нативные объявления

Бонус предоставлен

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

Как реализовать объявления с вознаграждением

Межстраничные объявления с вознаграждением

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

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

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

Как реализовать межстраничные объявления с вознаграждением

Объявления при запуске приложения

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

Как реализовать объявления при запуске приложения