Come decifrare il Meta Install Referrer su Android
Facebook e Instagram possono dire alla tua app quale campagna, gruppo di inserzioni e inserzione hanno portato un’installazione, visualizzazioni comprese. I dati sono cifrati con una chiave che hai solo tu.
Il Google Play Install Referrer porta solo i tap sugli annunci Meta seguiti da un’installazione nella stessa sessione. Il Meta Install Referrer copre il resto: le app Facebook, Instagram e Facebook Lite conservano l’annuncio che l’utente ha visto o toccato e lo passano alla tua app.
Play Install Referrer
- Tap nella stessa sessione
- Dati Meta cifrati
- Porta anche i clic di Google Ads
Meta Install Referrer
- Tap, visualizzazioni e sessioni precedenti
- Stessa cifratura, stessa chiave
- Distingue tap e visualizzazione
Prima di iniziare
Una campagna Android per installazioni di app
Su Facebook, Instagram o Audience Network.
Il tuo Facebook App ID
Quello con cui girano i tuoi annunci.
La chiave di decifratura
Meta for Developers › App settings › Basic › Android. Serve l’accesso da amministratore.
1. Leggilo al primo avvio
AndroidManifest.xml
<queries>
<package android:name="com.facebook.katana" />
<package android:name="com.instagram.android" />
<package android:name="com.facebook.lite" />
</queries>Kotlin
val providers = listOf(
"com.facebook.katana.provider.InstallReferrerProvider",
"com.instagram.contentprovider.InstallReferrerProvider",
"com.facebook.lite.provider.InstallReferrerProvider",
)
fun readMetaReferrer(context: Context, facebookAppId: String): String? {
for (authority in providers) {
val uri = Uri.parse("content://$authority/$facebookAppId")
runCatching { context.contentResolver.query(uri, null, null, null, null) }
.getOrNull()?.use { cursor ->
if (cursor.moveToFirst()) {
return cursor.getString(cursor.getColumnIndexOrThrow("install_referrer"))
}
}
}
return null
}2. Decifralo sul server
Non mettere mai la chiave nell’app. Chiunque spacchetti l’APK potrebbe leggerla.
Node.js
import crypto from 'node:crypto';
export function decryptMetaReferrer(installReferrer, keyHex) {
const {utm_content} = JSON.parse(installReferrer);
const {source} = typeof utm_content === 'string' ? JSON.parse(utm_content) : utm_content;
const sealed = Buffer.from(source.data, 'hex');
const decipher = crypto.createDecipheriv('aes-256-gcm', Buffer.from(keyHex, 'hex'), Buffer.from(source.nonce, 'hex'));
decipher.setAuthTag(sealed.subarray(-16));
return JSON.parse(Buffer.concat([decipher.update(sealed.subarray(0, -16)), decipher.final()]).toString());
}I nomi dei campi sono sfasati di un livello
campaign_groupcampaignadgroup
campaign_group
Campagna
Quella che in Gestione inserzioni si chiama campagna.
campaign
Gruppo di inserzioni
Non è la campagna.
adgroup
Inserzione
La creatività che le persone hanno visto.
Quando torna vuoto
Con Appy incolli la chiave una volta
Nel piano Enterprise aggiungi la chiave nella dashboard e il tuo App ID nell’SDK. La decifratura avviene sui server di Appy.
Primo avvio
Android, SDK di Appy
- Ha toccato il tuo link AppyAttribuita al link
- Annuncio Meta, tap o vistaCampagna, gruppo, inserzione
- Clic su Google AdsAttribuita a Google Ads
- Nessuna di questeOrganica
Leggi anche
Domande
Dove si trova la chiave di decifratura?
In Meta for Developers, App settings › Basic, nella sezione Android.
Che cifratura usa Meta?
AES-256-GCM con una chiave esadecimale da 64 caratteri.
Include le installazioni view-through?
Sì. La colonna is_ct vale 0 per una visualizzazione e 1 per un tap.
campaign_name è la campagna?
No, è il gruppo di inserzioni. La campagna è campaign_group_name.
Continua a esplorare
Deferred deep linking senza SDK: come funziona davvero sotto il cofano
Puoi portare il contesto di un link oltre l’installazione senza incorporare un SDK di attribution. Ecco cosa sopravvive davvero al confine dello store su Android e iOS, cosa si rompe e quanto costa in privacy ogni scorciatoia.
Scopri quale link ha portato ogni installazione: l’SDK iOS e Android di Appy
Ora Appy segue i tuoi link anche oltre lo store. Il nuovo SDK ti mostra installazioni, eventi in-app e ricavi per ogni link, QR code e campagna, e apre ai nuovi utenti la schermata giusta.
Chrome dice a ogni server che il tuo telefono ha Android 10
Chrome su Android dichiara Android 10, modello K, per qualsiasi telefono. Cosa ha rotto nel matching dei deferred deep link, perché Critical-CH conterebbe ogni clic due volte e come i Client Hints restituiscono versione e modello reali.
Cerchi altro? Sfoglia tutti gli argomenti su il blog.
Le installazioni da Meta accanto a ogni link e QR code
Incolli la chiave una volta sola e Appy attribuisce le installazioni da Facebook e Instagram a campagna, gruppo di inserzioni e inserzione.