Когда происходит показ, плагин Google Mobile Ads Unity предоставляет данные о доходе от рекламы, связанные с этим показом. Вы можете использовать эти данные для расчета пожизненной ценности пользователя или передавать данные в другие соответствующие системы.
Данное руководство призвано помочь вам внедрить сбор данных о доходах от рекламы на уровне показов в вашем проекте Unity.
Предварительные требования
- Убедитесь, что в пользовательском интерфейсе AdMob включена функция учета дохода от рекламы на уровне показов .
- Плагин Unity версии 5.0.0 или выше.
- Завершите процесс « Начало работы» . В вашем приложении Unity уже должен быть импортирован плагин Google Mobile Ads Unity.
Прежде чем вы сможете получать данные о доходах от рекламы на уровне показов, вам необходимо внедрить как минимум один рекламный формат:
Реализация платного обработчика событий
Для каждого формата рекламы существует событие OnAdPaid . В течение жизненного цикла события рекламы плагин Google Mobile Ads Unity отслеживает события показов и вызывает обработчик с AdValue , представляющим собой заработанную стоимость.
В следующем примере обрабатывается платная реклама с вознаграждением:
private void LoadRewardedAd()
{
// Send the request to load the ad.
AdRequest adRequest = new AdRequest();
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
return;
}
rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
});
}
public void HandleAdPaidEvent(AdValue adValue)
{
// TODO: Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
long valueMicros = adValue.Value;
string currencyCode = adValue.CurrencyCode;
PrecisionType precision = adValue.Precision;
ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
}
Укажите имя источника рекламного объявления для пользовательского события.
Для пользовательских источников рекламы свойство AdSourceName предоставляет имя источника рекламы Custom Event . Если используется несколько пользовательских событий, имя источника рекламы недостаточно детализировано, чтобы различать их. Чтобы найти конкретное пользовательское событие, выполните следующие действия:
- Получите свойство
AdapterClassName. - Укажите уникальное название источника рекламы.
В следующем примере задается уникальное имя источника рекламы для пользовательского события:
private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
if (loadedAdapterResponseInfo == null)
{
return string.Empty;
}
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
if (adSourceName == "Custom Event")
{
#if UNITY_ANDROID
if (loadedAdapterResponseInfo.AdapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#elif UNITY_IPHONE
if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#endif
}
return adSourceName;
}Для получения дополнительной информации об источнике объявления-победителя см. раздел «Получение информации об отклике на объявление» .
Интеграция с партнерами по атрибуции приложений (AAP)
Подробную информацию о передаче данных о доходах от рекламы на аналитические платформы см. в руководстве для партнеров:
| Партнерский SDK |
|---|
| Регулировать |
| AppsFlyer |
| Единственное число |
| Тенджин |
Передовые методы внедрения
- Настройте событие
OnPaidEventсразу после создания или получения доступа к рекламному объекту, и обязательно до показа рекламы. Это гарантирует, что вы не пропустите ни одного обратного вызова. - В обработчике
OnPaidEventнемедленно отправляйте информацию о доходах от рекламы на уровне показов на предпочитаемый вами аналитический сервер. Это гарантирует, что вы случайно не потеряете какие-либо обратные вызовы и избежите несоответствий в данных.
AdValue
AdValue — это класс, представляющий денежную стоимость, полученную за рекламу, включая код валюты этой стоимости и тип точности, закодированные следующим образом.
AdValue.PrecisionType | Описание |
|---|---|
Unknown | Неизвестное значение объявления. Оно возвращается, когда включена функция отслеживания LTV, но данных недостаточно. |
Estimated | Оценка стоимости рекламы на основе агрегированных данных. |
PublisherProvided | Издатель предоставлял рекламную ценность, например, ручную настройку CPM в группе по урегулированию споров. |
Precise | Точная стоимость этой рекламы. |
В случае медиации AdMob пытается предоставить Estimated значение для оптимизированных источников рекламы. Для неоптимизированных источников рекламы или в случаях, когда недостаточно агрегированных данных для предоставления осмысленной оценки, возвращается значение PublisherProvided .
Тестовые показы из рекламных источников, участвующих в аукционе.
После того, как в результате тестового запроса для источника рекламы, участвующего в торгах, произойдет событие, приносящее доход от рекламы на уровне показов, вы получите только следующие значения:
-
Unknown: указывает тип точности.
-
0: указывает на стоимость рекламы.
Ранее тип точности мог быть указан как значение, отличное от Unknown , а значение объявления — больше 0 .
Подробную информацию об отправке запроса на тестовую рекламу см. в разделе «Включение тестовых устройств» .