Cuando se produce una impresión, el SDK de anuncios de Google para dispositivos móviles proporciona datos de ingresos publicitarios asociados con esa impresión. Puedes usar los datos para calcular el valor del ciclo de vida de un usuario o reenviar los datos a otros sistemas relevantes.
El objetivo de esta guía es ayudarte a implementar la captura de datos de ingresos publicitarios a nivel de las impresiones en tu proyecto de Unity.
Requisitos previos
- Asegúrate de haber activado la función de ingresos publicitarios a nivel de las impresiones en la IU de AdMob.
- Complemento de Unity 5.0.0 o una versión posterior
- Completa Comenzar. Tu app para Unity ya debería tener importado el complemento Google Mobile Ads para Unity.
Para poder recibir datos de ingresos publicitarios a nivel de la impresión, debes implementar al menos uno de los siguientes formatos de anuncios:
Implementa un controlador de eventos pagados
Cada formato de anuncio tiene un evento OnAdPaid
. Durante el ciclo de vida de un evento de anuncio,
el SDK de anuncios de Google para dispositivos móviles supervisa los eventos de impresión y, luego, invoca al controlador
con un AdValue
que representa el valor obtenido.
En el siguiente ejemplo, se controlan los eventos pagados de un anuncio recompensado:
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"];
}
Para obtener más información sobre la fuente de anuncios ganadora, consulta Cómo recuperar información sobre la respuesta del anuncio.
Realiza la integración con socios de atribución en aplicaciones (AAP)
Para conocer todos los detalles sobre el reenvío de datos de ingresos publicitarios a plataformas de estadísticas, consulta la guía para socios:
Prácticas recomendadas para la implementación
- Establece el evento
OnPaidEvent
inmediatamente después de crear el objeto de anuncio o de obtener acceso a él, y definitivamente antes de mostrar el anuncio. Esto garantiza que no te pierdas ninguna devolución de llamada. - Envía la información de los ingresos publicitarios a nivel de las impresiones a tu servidor de estadísticas preferido de inmediato en tu controlador
OnPaidEvent
. Esto garantiza que no pierdas ninguna devolución de llamada por accidente y evita discrepancias de datos.
AdValue
AdValue
es una clase que representa el valor monetario que se obtuvo por un anuncio, incluido el código de moneda del valor y su tipo de precisión codificado como se indica a continuación.
AdValue.PrecisionType |
Descripción |
---|---|
Unknown |
Un valor de anuncio desconocido. Se muestra cuando el pingback de LTV está habilitado, pero no hay suficientes datos disponibles. |
Estimated |
Es un valor estimado del anuncio calculado a partir de los datos agregados. |
PublisherProvided |
Un valor del anuncio proporcionado por el publicador, como los CPM manuales en un grupo de mediación |
Precise |
Es el valor exacto de este anuncio. |
En el caso de la mediación, AdMob intenta proporcionar un valor Estimated
para las fuentes de anuncios que están optimizadas. En el caso de las fuentes de anuncios no optimizadas o en los casos en que no hay suficientes datos agregados para informar una estimación significativa, se muestra el valor PublisherProvided
.
Prueba las impresiones de las fuentes de anuncios de licitación
Después de que se produce un evento de ingresos publicitarios a nivel de la impresión para una fuente de anuncios de ofertas a través de una solicitud de prueba, solo recibes los siguientes valores:
Unknown
: Indica el tipo de precisión.
0
: Indica el valor del anuncio.
Anteriormente, es posible que hayas visto el tipo de precisión como un valor diferente de Unknown
y un valor del anuncio superior a 0
.
Para obtener más información sobre cómo enviar una solicitud de anuncio de prueba, consulta Cómo habilitar dispositivos de prueba.