Quando si verifica un'impressione, l'SDK Google Mobile Ads fornisce i dati sulle entrate pubblicitarie associati a questa impressione. Puoi utilizzare i dati per calcolare il valore del ciclo di vita di un utente o inoltrarli a valle ad altri sistemi pertinenti.
Questa guida ha lo scopo di aiutarti a implementare l'acquisizione dei dati sulle entrate pubblicitarie a livello di impressione nel tuo progetto Unity.
Prerequisiti
- Assicurati di aver attivato la funzionalità entrate pubblicitarie a livello di impressione nell'interfaccia utente di AdMob.
- Plug-in Unity 5.0.0 o versioni successive.
- Completa la sezione Inizia. L'app Unity dovrebbe avere già importato il plug-in Unity di Google Mobile Ads.
Prima di poter ricevere dati sulle entrate pubblicitarie a livello di impressione, devi implementare almeno un formato dell'annuncio:
Implementare un gestore di eventi a pagamento
Ogni formato dell'annuncio ha un evento OnAdPaid
. Durante il ciclo di vita di un evento annuncio,
l'SDK Google Mobile Ads monitora gli eventi impressione e richiama il gestore
con un AdValue
che rappresenta il valore guadagnato.
L'esempio seguente gestisce gli eventi a pagamento per un annuncio con premio:
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"];
}
Identificare il nome di un'origine annuncio evento personalizzato
Per le origini annuncio evento personalizzato, la proprietà AdSourceName
fornisce il nome dell'origine annuncio Custom Event
. Se utilizzi più eventi personalizzati, il nome dell'origine annuncio non è
abbastanza granulare per distinguere tra più eventi personalizzati. Per individuare un
evento personalizzato specifico:
- Recupera la proprietà
AdapterClassName
. - Imposta un nome univoco per l'origine annuncio.
L'esempio seguente imposta un nome univoco per l'origine annuncio per un evento personalizzato:
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;
}
Per saperne di più sull'origine annuncio vincente, consulta Recuperare informazioni sulla risposta all'annuncio.
Eseguire l'integrazione con i partner di attribuzione app (AAP)
Per informazioni dettagliate sull'inoltro dei dati sulle entrate pubblicitarie alle piattaforme di analisi, consulta la guida del partner:
SDK partner |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
Best practice per l'implementazione
- Imposta l'evento
OnPaidEvent
immediatamente dopo aver creato l'oggetto annuncio o aver ottenuto l'accesso e sicuramente prima di mostrare l'annuncio. In questo modo, non perderai nessuna richiamata. - Invia immediatamente le informazioni sulle entrate pubblicitarie a livello di impressione al server di analisi che preferisci nel tuo gestore
OnPaidEvent
. In questo modo, eviti di perdere accidentalmente i callback ed eviti discrepanze nei dati.
AdValue
AdValue
è una classe che rappresenta il valore monetario guadagnato per un annuncio,
inclusi il codice valuta del valore e il tipo di precisione codificato come segue.
AdValue.PrecisionType |
Descrizione |
---|---|
Unknown |
Un valore dell'annuncio sconosciuto. Questo valore viene restituito quando il pingback del valore del ciclo di vita è abilitato, ma non sono disponibili dati sufficienti. |
Estimated |
Il valore di un annuncio stimato a partire da dati aggregati. |
PublisherProvided |
Il valore di un annuncio fornito dal publisher, ad esempio i CPM manuali in un gruppo di mediazione. |
Precise |
Il valore esatto di questo annuncio. |
In caso di mediazione, AdMob tenta di fornire un valore Estimated
per le origini annuncio
che sono ottimizzate. Per le
origini annuncio non ottimizzate o nei casi in cui non sono disponibili dati aggregati sufficienti
per segnalare una stima significativa, viene restituito il valore PublisherProvided
.
Testare le impressioni delle origini annuncio per l'asta
Dopo che si verifica un evento di entrate pubblicitarie a livello di impressione per un'origine annuncio di offerta tramite una richiesta di test, ricevi solo i seguenti valori:
Unknown
: indica il tipo di precisione.
0
: indica il valore dell'annuncio.
In precedenza, il tipo di precisione poteva essere visualizzato come un valore diverso da
Unknown
e un valore dell'annuncio superiore a 0
.
Per informazioni dettagliate sull'invio di una richiesta di annuncio di prova, vedi Attivare i dispositivi di test.