Receita de publicidade no nível da impressão

Selecione a plataforma: Android iOS Unity

Quando uma impressão ocorre, o SDK dos anúncios para dispositivos móveis do Google fornece dados de receita de publicidade associados a ela. É possível usar os dados para calcular o valor da vida útil de um usuário ou encaminhar os dados para outros sistemas relevantes.

A finalidade deste guia é ajudar a implementar a captura de dados de receita de publicidade no nível da impressão no seu projeto do Unity.

Pré-requisitos

Implementar um manipulador de eventos pago

Cada formato do anúncio tem um evento OnAdPaid. Durante o ciclo de vida de um evento de anúncio, o SDK dos anúncios para dispositivos móveis do Google monitora eventos de impressão e invoca o manipulador com um AdValue que representa o valor ganho.

O exemplo a seguir processa eventos pagos para um anúncio premiado:

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"];
}

Identificar um nome de origem de anúncio de evento personalizado

Para origens de anúncios de eventos personalizados, a propriedade AdSourceName retorna o nome da origem Custom Event. Se você usa vários eventos personalizados, o nome da origem de anúncios não é granular o suficiente para distinguir entre eles. Para localizar um evento personalizado específico:

  1. Acesse a propriedade AdapterClassName.
  2. Defina um nome exclusivo para a origem de anúncios.

O exemplo a seguir define um nome exclusivo de origem de anúncios para um evento personalizado:

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;
}

Para mais informações sobre a origem do anúncio vencedor, consulte Recuperar informações sobre a resposta do anúncio.

Fazer a integração com parceiros de atribuição de app (AAP)

Para detalhes completos sobre o encaminhamento de dados de receita de publicidade para plataformas de análise, consulte o guia do parceiro:

SDK do parceiro
Adjust
AppsFlyer
Singular
Tenjin

Práticas recomendadas de implementação

  • Defina o evento OnPaidEvent imediatamente depois de criar ou acessar o objeto de anúncio e, definitivamente, antes de mostrar o anúncio. Isso garante que você não perca nenhum callback.
  • Envie as informações de receita de publicidade no nível da impressão imediatamente para o servidor de análise de sua preferência no manipulador OnPaidEvent. Isso garante que você não descarte acidentalmente nenhum callback e evita discrepâncias de dados.

AdValue

AdValue é uma classe que representa o valor monetário ganho por um anúncio, incluindo o código da moeda e o tipo de precisão do valor, codificados conforme mostrado a seguir.

AdValue.PrecisionType Descrição
Unknown Um valor de anúncio desconhecido. Retornado quando o pingback de LTV está ativado, mas não há dados suficientes disponíveis.
Estimated É um valor de anúncio estimado com base nos dados agregados.
PublisherProvided Um valor de anúncio fornecido pelo publisher, como CPMs manuais em um grupo de mediação.
Precise O valor exato desse anúncio.

No caso da mediação, a AdMob tenta fornecer um valor Estimated para origens de anúncios otimizadas. Em origens não otimizadas ou em casos em que não há dados agregados suficientes para informar uma estimativa significativa, o valor PublisherProvided é retornado.

Testar impressões de origens de anúncios dos lances

Depois que um evento de receita de publicidade no nível da impressão ocorre para uma origem de anúncio dos lances por uma solicitação de teste, você recebe apenas os seguintes valores:

  • Unknown: indica o tipo de precisão.
  • 0: indica o valor do anúncio.

Antes, o tipo de precisão podia aparecer como um valor diferente de Unknown e um valor de anúncio maior que 0.

Para detalhes sobre como enviar uma solicitação de anúncio de teste, consulte Ativar dispositivos de teste.