Firebase è una piattaforma, e l'analitica ne è una parte. La maggior parte degli articoli sul «sostituire Firebase» intende in silenzio sostituire la cosa intera, che è una decisione diversa e molto più grossa. Questo riguarda solo la parte dell'analitica: che cosa cambia se togli Google Analytics for Firebase da un'app, che cosa dovresti tenere, e che cosa davvero non ha sostituto.
Perché qualcuno ci guarda
Misurare un'app non dovrebbe richiedere di accettare una piattaforma pubblicitaria. Firebase Analytics tiene un identificativo di istanza dell'app sul dispositivo ed è costruito per funzionare con gli identificativi pubblicitari delle piattaforme (l'identificativo pubblicitario di Android, l'IDFA di Apple) perché l'attribuzione alle campagne pubblicitarie è gran parte di quello per cui esiste. Se non fai pubblicità, ti porti dietro la macchina lo stesso.
Il consenso. Un identificativo sul dispositivo si porta dietro un obbligo di consenso nel SEE e nel Regno Unito, e un'app che lo chiede al primo avvio perde una parte delle proprie persone dai propri numeri. Lo stesso ragionamento di un banner cookie su un sito, con una prima impressione peggiore.
Il modello di eventi. Firebase Analytics è un sistema di eventi e parametri. Ricompensa una squadra che modella i propri eventi con cura e dà pochissimo a una che non lo fa, che è la maggior parte delle squadre per la maggior parte della vita di un prodotto.
Un fornitore, un rapporto. Certe organizzazioni semplicemente non possono mandare l'uso di un'app a Google. È un fatto di ufficio acquisti più che un argomento, ed è il motivo per cui una buona parte di chi legge questo lo sta leggendo.
Che cosa manda invece un SDK di app che mette la privacy prima
La domanda utile non è «è privato» ma «che cosa c'è nella carica». Gli SDK di app di Skomi mandano:
- il nome di schermata che gli hai dato, le tue proprietà, e se ha aperto la sessione
- la piattaforma, la versione del sistema operativo, e se il dispositivo è mobile o desktop
- la versione dell'app che hai passato, e quale versione dell'SDK l'ha mandata
- quando è successo secondo l'orologio del dispositivo, e quando il lotto è stato svuotato
- un'identità: un UUID casuale che l'installazione genera per sé
Nient'altro. Nessun identificativo pubblicitario, nessun identificativo di dispositivo, nessuna posizione, nessun account, nessun contatto, e quindi nessun permesso in esecuzione su nessuna piattaforma oltre all'accesso a internet, perché nessuna delle cose che ne avrebbero bisogno viene chiesta.
Il compromesso è questo in una riga: non puoi più unire l'uso dell'app a una campagna pubblicitaria, e non devi più chiedere il permesso a nessuno per contarlo.
Tieni il tuo sistema di segnalazione dei crash
È la parte in cui le persone si sbagliano, e la documentazione degli SDK di Skomi lo dice chiaramente invece di lasciartelo scoprire.
Un SDK di analitica di app può segnalare gli errori che il tuo codice gli consegna e quelli che la framework solleva. Non può segnalare un crash nativo (un segfault nel C++ di un plugin, una chiusura per memoria esaurita, una NSException da un canale di piattaforma) perché il processo che avrebbe fatto la segnalazione se n'è già andato.
Quindi Crashlytics, Sentry o la segnalazione dello store stesso restano. Quello che ottieni dal lato analitica è un tasso senza crash accanto ai numeri delle tue versioni, che risponde a una domanda diversa: non «che cosa si è rotto» ma «questa versione è peggiore della precedente». Vale la pena saperlo: quel tasso pecca per pessimismo, perché una sessione andata in crash prima della sua prima schermata conta come andata in crash e non come sessione, che è la direzione sicura in cui sbagliare.
Non c'è nemmeno il caricamento di un file di mappatura, quindi lo stack di una versione di rilascio minificata arriva com'è stato lanciato. Un altro motivo per cui il sistema di segnalazione dei crash resta.
Che cosa non ha sostituto
Essendo onesti sul resto della piattaforma, perché «alternativa a Firebase» è spesso un'abbreviazione per molto più dell'analitica:
- Remote Config, test A/B, Cloud Messaging, Authentication, Firestore: nessuna di queste cose è analitica e nessuna viene sostituita da uno strumento di analitica.
- Audience e attribuzione pubblicitaria. Costruire un'audience in Firebase e usarla in Google Ads è l'integrazione per cui Firebase Analytics esiste. Togli l'identificativo pubblicitario e quella se ne va con lui, per costruzione.
- Esportazione degli eventi grezzi. Firebase può riversare ogni evento dentro BigQuery. L'API per le app di Skomi risponde con aggregati (riassunti, serie temporali, suddivisioni) non con una tabella di eventi da modellare tu.
Se una di quelle tre ti regge il tetto, questo non è uno scambio che vuoi fare.
Che cosa ottieni che Firebase non ti dà
- Gli stessi report per il tuo sito e per la tua app, in un solo account. Un rilascio e una campagna di marketing nella stessa settimana sono due righe sulla stessa pagina invece di due prodotti e un'ipotesi. Vedi misurare un'app e un sito nello stesso posto.
- Una coda per quando non c'è rete che non conta a doppio. Ogni schermata porta un identificativo coniato una volta sola, quindi un lotto rimandato dopo quindici giorni senza segnale viene riconosciuto invece che contato di nuovo.
- Un interruttore del consenso che fa sul serio. Con
Enabled = falsenon si registra niente e non si manda niente, quindi l'SDK può esistere fin dall'avvio e cominciare solo quando qualcuno acconsente.
Il riassunto onesto
Se usi Firebase per l'autenticazione, la messaggistica e una base dati, questo ne sostituisce un componente e tu tieni il resto, Crashlytics compreso.
Se hai aggiunto Firebase a un'app solo per sapere quante persone l'hanno aperta e a quali schermate sono arrivate, ti stai portando dietro una piattaforma pubblicitaria per rispondere a una domanda che non ne ha bisogno, e toglierla è un cambiamento piccolo con un effetto sproporzionato su quello che devi dichiarare.
Installare richiede una chiamata: Flutter, .NET MAUI, o uno qualunque degli otto SDK.
Che cosa arriva una volta che riporta sta sulla pagina App analytics: schermate, sessioni, versioni e il tasso senza crash. Il resto del campo, compresi i prodotti che ci battono sul prezzo, è esposto su alternative a Firebase.