Настройка GMA Next-Gen SDK

Выберите платформу: Android (бета-версия) Новоизбранный Android iOS Unity Flutter

Integrating GMA Next-Gen SDK into an app is the first step toward displaying ads and earning revenue. Once you've integrated the SDK, you can choose an ad format (such as native or rewarded video) and follow the steps to implement it.

Прежде чем начать

Для подготовки приложения выполните действия, описанные в следующих разделах.

Предварительные требования к приложению

  • Убедитесь, что в файле сборки вашего приложения используются следующие значения:

    • Минимальная версия SDK — 24 или выше.
    • Скомпилируйте SDK версии 35 или выше.
  • Для приложений на Kotlin используйте минимальную версию Kotlin 1.9.

Настройте свое приложение

  1. В файле настроек Gradle добавьте репозиторий Maven от Google и центральный репозиторий Maven :

    Котлин

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include(":app")

    Классный

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include ':app'
  2. Добавьте зависимости для GMA Next-Gen SDK в файл сборки вашего приложения:

    Котлин

    dependencies {
      implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.23.0-beta01")
    }

    Классный

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.23.0-beta01'
    }
  3. Нажмите «Синхронизировать сейчас» . Подробную информацию о синхронизации см. в разделе «Синхронизация проектов с файлами Gradle» .

Инициализируйте GMA Next-Gen SDK

Для инициализации GMA Next-Gen SDK необходимо вызвать метод MobileAds.initialize() . Этот метод должен выполняться в фоновом потоке; в противном случае может возникнуть ошибка "Приложение не отвечает" (ANR).

Котлин

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // SDK initialization is complete. If you don't want to wait for bidding adapters to finish
      // initializing, start loading ads now.
    }
  }
}

Java

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize GMA Next-Gen SDK on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // SDK initialization is complete. If you don't want to wait for bidding adapters to
              // finish initializing, start loading ads now.
            })
        .start();
  }
}

This method initializes the SDK and calls a completion listener once both GMA Next-Gen SDK and adapter initializations have completed, or after a 30-second timeout. This needs to be done only once, ideally at app launch.

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

Реклама может быть предварительно загружена с помощью GMA Next-Gen SDK или SDK партнеров по медиации при инициализации. Если вам необходимо получить согласие пользователей из Европейской экономической зоны (ЕЭЗ), установить какие-либо флаги, специфичные для запроса, такие как RequestConfiguration.TagForChildDirectedTreatment или RequestConfiguration.TagForUnderAgeOfConsent , или предпринять иные действия перед загрузкой рекламы, убедитесь, что вы сделали это до инициализации GMA Next-Gen SDK .

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

GMA Next-Gen SDK импортирован, и вы готовы к размещению рекламы. Ad Manager предлагает множество различных форматов рекламы, поэтому вы можете выбрать тот, который лучше всего соответствует пользовательскому опыту вашего приложения.

Banner ad units display rectangular ads that occupy a portion of an app's layout. They can refresh automatically after a set period of time. This means users view a new ad at regular intervals, even if they stay on the same screen in your app. They're also the simplest ad format to implement.

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

Интерстициальный

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

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

Родной

Native ads are ads where you can customize the way assets such as headlines and calls to action are presented in your apps. By styling the ad yourself, you can create a natural, unobtrusive ad presentations that can add to a rich user experience.

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

Native styles has been designed to simplify the implementation of native ads, and it's a great choice if you are new to the format. Custom rendering has been designed to maximize the freedom you have in creating your presentations.

Внедрить нативные стили. Внедрить нативную рекламу (с пользовательской отрисовкой).

Награжден

Rewarded ad units enable users to play games, take surveys, or watch videos to earn in-app rewards, such as coins, extra lives, or points. You can set different rewards for different ad units, and specify the reward values and items the user received.

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

Вознагражденный интерстициальный

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

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

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

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

Приложение открыто

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

Внедрить функцию открытия рекламы в приложении.