Объявления с вознаграждением – это объявления, с которыми пользователи могут взаимодействовать в обмен на вознаграждение в приложении. В этом руководстве рассказывается, как добавить в приложение Unity объявления с вознаграждением из AdMob.
Ознакомьтесь с историями успеха клиентов: кейс 1, кейс 2.В этом руководстве рассказывается, как добавить объявления с вознаграждением в приложение Unity.
Требования
Прежде чем продолжить, настройте Google Mobile Ads Unity Plugin.
Всегда тестируйте с помощью тестовых объявлений
В приведенном ниже образце кода есть идентификатор рекламного блока, который можно использовать для запроса тестовых объявлений. Он настроен так, чтобы возвращать тестовые объявления вместо рабочих для каждого запроса, поэтому его можно использовать без опасений.
Однако после того, как вы зарегистрируете приложение в веб-интерфейсе AdMob и создадите собственные идентификаторы рекламных блоков для использования в приложении, обязательно настройте устройство как тестовое во время разработки.
Android
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Инициализация 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 обратного вызова SSV. Если значение специальных данных не задано, значение параметра запроса custom_data не будет присутствовать в обратном вызове SSV.
В приведенном ниже фрагменте кода показано, как задать параметры SSV после загрузки объявления с вознаграждением.
Замените 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 – минимальная реализация всех форматов объявлений.