Объявления с вознаграждением – это объявления, за взаимодействие с которыми пользователи получают вознаграждение в приложении. В этом руководстве рассказывается, как интегрировать объявления с вознаграждением из AdMob в приложение Unity.
В этом руководстве рассказывается, как интегрировать объявления с вознаграждением в приложение Unity.
Требования
Прежде чем продолжить, настройте Google Mobile Ads Unity Plugin.
Всегда используйте тестовые объявления
В приведенном ниже образце кода содержится идентификатор рекламного блока, который можно использовать для запроса тестовых объявлений. Он специально настроен так, чтобы в ответ на каждый запрос возвращать тестовые объявления, а не рабочие.
Однако после того, как вы зарегистрируете приложение в веб-интерфейсе Менеджера рекламы и создадите собственные идентификаторы рекламных блоков для использования в приложении, вам нужно будет настроить свое устройство как тестовое.
/21775744923/example/interstitial
Инициализация Google Mobile Ads Unity Plugin
Перед загрузкой объявлений инициализируйте Google Mobile Ads Unity Plugin, вызвав MobileAds.Initialize(). Это нужно сделать только один раз, желательно при запуске приложения.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Если вы используете медиацию, дождитесь обратного вызова, прежде чем загружать объявления. Это гарантирует, что все адаптеры медиации будут инициализированы.
Загрузка объявления с вознаграждением
Чтобы загрузить объявление с вознаграждением, используйте статический метод Load() в классе RewardedAd. Загруженный объект RewardedAd передается в качестве параметра в обработчик завершения. В примере ниже загружается объявление с вознаграждением.
Замените AD_UNIT_ID идентификатором своего рекламного блока.
Как проверить обратные вызовы при проверке на стороне сервера (необязательно)
Если приложению требуются дополнительные данные в обратных вызовах для проверки на стороне сервера, используйте функцию пользовательских данных в объявлениях с вознаграждением.
Любое строковое значение, заданное в объекте объявления с вознаграждением, передается в параметр запроса custom_data обратного вызова для проверки на стороне сервера. Если значение не задано, параметр запроса custom_data не будет включен в обратный вызов для проверки на стороне сервера.
В приведенном ниже примере кода показано, как задать параметры проверки после загрузки объявления с вознаграждением.
Замените SAMPLE_CUSTOM_DATA_STRING своими данными.
Если вы хотите задать собственную строку вознаграждения, это нужно сделать до показа объявления.
Показ объявления с вознаграждением и обратным вызовом
При показе объявления необходимо предоставить обратный вызов для обработки вознаграждения пользователя. Объявления могут показываться только один раз за загрузку. Чтобы проверить, готово ли объявление к показу, используйте метод CanShowAd().
В приведенном ниже коде показан оптимальный способ показа объявления с вознаграждением.
if (rewardedAd != null && rewardedAd.CanShowAd())
{
rewardedAd.Show((Reward reward) =>
{
// The ad was showen and the user earned a reward.
});
}
Как отслеживать события объявлений с вознаграждением
Чтобы настроить поведение объявления, вы можете подключить ряд событий в его жизненном цикле. Следующий код прослушивает события объявлений:
rewardedAd.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
// Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
// Raised when the ad failed to open full screen content.
};
Удалите объявление с вознаграждением
Завершив работу с RewardedAd, вызовите метод Destroy(), прежде чем удалять ссылку на него.
if (rewardedAd != null)
{
rewardedAd.Destroy();
}
Это уведомляет плагин о том, что объект больше не используется и занимаемая им память может быть освобождена. Если этого не сделать, произойдет утечка памяти.
Предварительная загрузка следующего объявления с вознаграждением
RewardedAd – это одноразовый объект. Это означает, что после показа объявления с вознаграждением объект нельзя использовать повторно. Чтобы запросить другое объявление с вознаграждением, необходимо создать новый объект RewardedAd.
Чтобы подготовить объявление с вознаграждением к следующей возможности показа, выполните его предварительную загрузку после того, как будет вызвано событие объявления OnAdFullScreenContentClosed или OnAdFullScreenContentFailed.
Дополнительные ресурсы
- Пример HelloWorld. Минимальная реализация всех форматов объявлений.