Blog
Tutorial
17 marzo 20268 min

Come ho costruito un sistema di referral completo in React Native in un giorno

Ieri, ho passato 8 ore a programmare qualcosa che non ha nulla a che fare con il prodotto stesso. Nessuna nuova funzionalità. Nessun bug fix. Nessuna ottimizzazione. Un sistema di referral.

Sto sviluppando TAMSIV, un gestore di attività vocale per Android. Sviluppatore singolo, oltre 660 commit, 6 mesi di lavoro. Ho 12 tester alpha sul Play Store e ho bisogno che questo numero cresca — organicamente.

Il concetto

Semplice: ogni utente ha un codice di referral unico. Lo condividi. Quando qualcuno si iscrive con esso, entrambi guadagnano 1 mese Pro gratuito. E si accumula — 10 referral = 10 mesi gratuiti, messi in coda uno dopo l'altro.

Le 3 fonti di acquisizione

La parte più difficile non è generare i codici. È acquisirli in modo affidabile.

1. Deep link tramite il sito web

Quando qualcuno visita tamsiv.com/invite/CODE, Next.js reindirizza al Play Store con il codice di referral integrato.

2. Android App Links (apertura diretta)

Se l'app è già installata, tamsiv://invite/CODE la apre direttamente. Ciò richiede la configurazione di AndroidManifest.xml con gli intent-filter appropriati e un file assetlinks.json sul sito per la verifica.

3. Play Store Install Referrer

Questa è la fonte più sottovalutata. Quando qualcuno clicca su un link del Play Store con un parametro &referrer=CODE, Android memorizza questa stringa. Anche se la persona installa l'app 3 giorni dopo, possiamo comunque leggere il codice.

Premi impilati

La maggior parte dei sistemi di referral offre un premio unico. Volevo che i premi si accumulassero. Ogni referral aggiunge 30 giorni di Pro, messi in coda dopo la scadenza del precedente.

Notifiche push in 6 lingue

Quando qualcuno usa il tuo codice, ricevi una notifica push. Nella tua lingua. Poiché TAMSIV parla 6 lingue, il backend verifica la preferenza linguistica del referrer prima di inviare tramite FCM.

In numeri

  • 22 file modificati (backend, frontend, sito web, manifesto Android)
  • 1.324 righe aggiunte
  • 1 giornata di lavoro concentrato
  • 6 lingue supportate
  • 3 fonti di acquisizione per la massima copertura

Cosa ho imparato

La verifica di Android App Links è fragile. Il file assetlinks.json deve essere servito esattamente nel posto giusto con l'esatto SHA256 della tua chiave di firma.

Il Play Store Install Referrer è sottovalutato. La maggior parte dei tutorial lo salta, ma è l'unico modo per acquisire referral tramite installazioni differite.

L'impilamento dei premi aggiunge complessità. Un semplice "dai 1 mese gratuito" è facile. Mettere in coda più premi richiede la gestione delle date di inizio, fine e la relazione con RevenueCat.