Questo documento è stato aggiornato.
La traduzione in Italiano non è ancora completa.
Aggiornamento inglese: 22 ago

Install referrer di Meta

Questo documento ti mostra come usare l'install referrer di Meta nella tua app Android per ottenere metadati per le campagne pubblicitarie di Facebook, Instagram e Audience Network che hanno come obiettivo l'installazione di app. Mentre Google Play Install Referrer (GPIR) si limita a fornire informazioni per le installazioni click-through delle stesse sessioni, l'install referrer di Meta include dati per:

  • installazioni view-through (VT)
  • installazioni click-through (CT)
  • installazioni click-through di più sessioni

Sono disponibili due opzioni di configurazione dell'Install referrer di Meta per le tue campagne per le app Android: integrazione diretta o integrazione supportata tramite il tuo Mobile Measurement Partner (MMP).

Opzione 1: integrazione diretta

Prima di iniziare

Prima di iniziare hai bisogno di:

Passaggio 1. Aggiungi le app di Meta

Aggiungi gli elementi queries per le app Facebook, Instagram e Facebook Lite nel file AndroidManifest.xml per consentire alla tua app di ottenere dati di attribuzione di reindirizzamento da queste app di Meta.

<queries>
  <package android:name="com.facebook.katana" />
</queries>

<queries>
  <package android:name="com.instagram.android" />
</queries>

<queries>
  <package android:name="com.facebook.lite" />
</queries>

Passaggio 2. Implementa l'API ContentProvider

Aggiungi il codice ContentProvider per ottenere i dati di attribuzione di reindirizzamento dalle app di Facebook e Instagram. Avrai bisogno di ottenere questi dati quando l'app verrà lanciata per la prima volta.

Cursor c = null;
try {
    String [] projection = { "install_referrer", "is_ct", "actual_timestamp", };
    Uri providerUri = null;
    
    // This IF statement queries the facebook app first.
    // To query from the instagram app first, change the sequence of the IF statement

    if (context.getPackageManager().resolveContentProvider(
           "com.facebook.katana.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.facebook.katana.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.instagram.contentprovider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.instagram.contentprovider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.facebook.lite.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse("content://com.facebook.lite.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else {
       return null;
    }

    c = context.getContentResolver().query(providerUri, projection, null, null, null);
    if (c == null || !c.moveToFirst()) {
       return null;
    }

    int installReferrerIndex = c.getColumnIndex("install_referrer");
    int timestampIndex = c.getColumnIndex("actual_timestamp");
    int isCTIndex = c.getColumnIndex("is_ct");
    String installReferrer = c.getString(installReferrerIndex); // serialized and encrypted attribution details

    // TODO: 
    // 1. deserialize installReferrer (convert String to JSON)
    // 2. decrypt attribution details in install_referrer.utm_content.source.data using 
    // key: GPIR decryption key 
    // nonce: retrieve from installReferrer.utm_content.source.nonce
    // data: retrieve from installReferrer.utm_content.source.data
    // decrypt data 

    long actualTimestamp = c.getLong(timestampIndex); // timestamp in seconds for click/impression
     int isCT = c.getInt(isCTIndex); // VT or CT, 0 = VT, 1 = CT
           
} catch (Exception e) {
    return null;
} finally {
    if (c != null) {
        c.close();
    }
}

I passaggi per deserializzare e decodificare i dati sono simili a quelli presenti nella guida all'install referrer.

La risposta sulla struttura dei dati ricevuta dall'install_referrer dopo la deserializzazione di ogni app di Meta includerà:

  • actual_timestamp: il valore è l'indicazione temporale in secondi relativa al momento in cui si sono verificati il clic o l'impression
  • is_ct: i valori possono essere 1, che rappresenta un click-through, o 0, che rappresenta un'impression
  • install_referrer: il valore corrisponde ai dati di attribuzione GPIR crittografati

Esempio di risposta JSON

{
  is_ct=1,
  actual_timestamp=123,
  install_referrer={
    utm_campaign = fb4a,
    utm_content: {
      source: {
        data: “7fb9bd76…”, // encrypted attribution information
        nonce: “1234” // nonce from encryption
      },
      a: <app_id>,
      t: <timestamp>
    }
    utm_source : “apps.facebook.com” //OR “apps.instagram.com”
  }
}

Esempio di dati dopo la decodifica di install_referrer.utm_content.source

{ 
  "ad_id":"6110809314024", 
  "adgroup_id":"6110808725024", 
  "adgroup_name":"RTG_Storie_", 
  "campaign_id":"6110808710224", 
  "campaign_name":"Mobex_Conversiones_Storie_Android_21 a 31 de Diciembre_OP39895",
  "campaign_group_id":"6110808710624", 
  "campaign_group_name":"Mobex_Instagram Storie_ Conversiones_ Diciembre OP 43918",
  "account_id":"485495091598353",
  "ad_objective_name":"CONVERSIONS", 
  // data included for Instagram ads
  "is_instagram":true,
  "publisher_platform":"instagram",                
  "platform_position":"instagram_stories"          
}

Passaggio 3. Deduplica i dati

Se sono disponibili i metadati della campagna pubblicitaria GPIR, devi seguire il flusso di deduplicazione GPIR esistente.

Deduplicazione con install referrer

Puoi rimuovere i dati duplicati usando i dati restituiti in install_referrer poiché i valori sono gli stessi per un'installazione o una campagna per CT su install referrer di Meta e GPIR.

Per VT e CT di più sessioni, usa i dati dell'install referrer di Meta perché GPIR non li supporta.

Se non sono disponibili dati relativi ai metadati delle campagne pubblicitarie GPIR, devi deduplicare i dati a seconda che collabori o meno con un Mobile Measurement Partner (MMP).

Deduplicazione con MMP

Il Mobile Measurement Partner (MMP) ha accesso ai dati di attribuzione a livello di riga per installazioni che non hanno una rete di inserzioni efficace, che sia a causa dell'attribuzione a Meta o a installazioni organiche. Puoi controllare se è stato fornito un install referrer tramite l'install referrer di Meta. In caso affermativo, puoi considerare che l'installazione è guidata da Meta e i dati dell'install referrer sono i metadati della campagna pubblicitaria per l'installazione.

Deduplicazione senza MMP

L'install referrer di Meta fornisce informazioni sull'ultimo tocco per l'installazione, inclusi i metadati della campagna pubblicitaria, l'indicazione temporale effettiva e il tipo di azione dell'ultimo tocco (impression o clic). Puoi confrontare il tipo di azione e l'indicazione oraria dell'ultimo tocco con i dati di attribuzione che ricevi da altre reti di inserzioni e decidere la rete di inserzioni più efficace.

Verifica della configurazione

Innanzitutto, assicurati di usare una versione dell'app che supporti questa soluzione. Le versioni minime sono:

  • Facebook: v428
  • Instagram: v296
  • Facebook Lite: v411

Puoi verificare la tua configurazione seguendo questi passaggi:

  1. Inserisci la campagna di test da Anteprima in Gestione inserzioni
  2. Trova l'inserzione su Facebook o Instagram e cliccaci
  3. Aggiungi punti di interruzione o registri nel tuo codice nel Passaggio 2

La tua app dovrebbe ricevere una risposta e decodificarla per visualizzare i dati della campagna.

Opzione 2: integrazione supportata tramite il tuo MMP

Passaggio 1: aggiorna l'SDK del tuo Mobile Measurement Partner (MMP)

Aggiorna l'SDK dell'MMP a una versione che abbia integrato l'install referrer di Meta:

  • AppsFlyer SDK: AppsFlyer SDK v6.12.6+
  • Adjust SDK: Adjust SDK v4.36.0+ (Flutter 4.36.0+, Unity 4.37.0+)
  • Singular SDK o API S2S: Singular SDK v12.3.0+ (Unity 4.2.0+, React Native 3.3.0+, Unreal 2.2.0+)
  • Kochava SDK: Kochava Android SDK v5.1.0+
  • Airbridge SDK: Airbridge Android SDK v2.22.3+
  • Branch SDK: Branch SDK v5.10.1+

Passaggio 2: assicurati che l'ID dell'app Facebook sia associato all'SDK di MMP

Vedi le istruzioni tramite i link sottostanti.

Passaggio 3: a seconda dell'MMP, potresti aver bisogno di aggiornare il file Manifest Android per la tua app

Vedi le istruzioni tramite i link sottostanti.

  • Istruzioni per Kochava (vai alla sezione Meta/Facebook)
  • AppsFlyer, Adjust, Singular e Airbridge si occupano di questo passaggio automaticamente attraverso il loro SDK
  • Controlla con il tuo MMP se usi gli SDK Flutter / React invece degli SDK Android

Passaggio 4: condividi la chiave di decodifica dell'install referrer per consentire al tuo MMP di decrittografare i metadati del referrer

Nota: se hai già eseguito questa procedura per l'install referrer di Google Play Store, questo passaggio non è necessario.