Migrazione da inviti Firebase a link dinamici con condivisione personalizzata

Firebase Invites ha fornito sia un meccanismo per ricevere Firebase Dynamic Links nella tua app sia una funzionalità per condividere il link tramite SMS o email. Abbiamo sviluppato Firebase Invites per aiutarti ad aumentare il numero di utenti della tua app tramite il passaparola, ma nel tempo abbiamo scoperto che hai trovato modi migliori per incoraggiare gli utenti a condividere le loro app preferite con gli amici, al di là di ciò che Firebase Invites fa oggi.

Abbiamo anche notato che, sebbene l'utilizzo di Firebase Invites sia diminuito, molti di voi utilizzavano ancora Firebase Dynamic Links come ingrediente chiave della soluzione di condivisione da utente a utente. Pertanto, stiamo rafforzando la nostra attenzione e aumentando il nostro impegno per fare in modo che Firebase Dynamic Links sia il modo migliore per integrare funzionalità di condivisione da utente a utente nella tua app. Nell'ambito di questo cambiamento, abbiamo ritirato la funzionalità Firebase Invites e interromperemo il supporto a partire dal 24 gennaio 2020.

Che cosa significa e in che modo mi riguarda?

A partire dal 24 gennaio 2020, i tuoi utenti non potranno più inviare o ricevere Firebase Invites e il servizio di backend degli inviti inizierà a restituire risposte di errore quando vengono effettuate chiamate per inviare e ricevere un link di invito. Gli SDK attuali includono la gestione degli errori per garantire casi di errore controllati per queste risposte del server, in modo che gli utenti possano continuare a utilizzare la tua app senza arresti anomali, ma ti consigliamo di non utilizzare più Firebase Invites e di passare a una soluzione alternativa che utilizzi Firebase Dynamic Links con una soluzione di condivisione personalizzata.

Ecco come fare.

Innanzitutto, crea un Dynamic Link che i tuoi utenti possano condividere con i loro amici. La buona notizia è che probabilmente hai già familiarità con questo passaggio perché è simile alla configurazione di Firebase Invites. Tuttavia, puoi anche aggiungere parametri specifici al tuo Dynamic Link, ad esempio aggiungere metadati social ai tuoi link se i tuoi utenti condividono la tua app tramite un social network per personalizzare l'aspetto dell'URL condiviso.

Crea una soluzione di condivisione

Successivamente, crea la soluzione di condivisione per consentire agli utenti di condividere il link con i loro amici. Ciò che vuoi creare qui varia a seconda di come vuoi fornire la funzionalità di condivisione che sostituirà quella precedente in Firebase Invites, ma per la maggior parte delle app mobile puoi sfruttare le funzionalità già integrate nella piattaforma.

Per Android, una soluzione semplice che copre la condivisione di SMS ed email, nonché altre app di messaggistica e social network popolari, consiste nell'utilizzare un intent generico con un'azione impostata su Intent.ACTION_SEND. In questo modo, puoi condividere facilmente i dati della tua app con qualsiasi app installata dall'utente che può gestire un intent di condivisione.

Qui dovrebbe funzionare qualcosa di simile all'esempio seguente (ti consigliamo di utilizzare risorse stringa costanti nel tuo codice):

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Here's a new lesson for" +
        " learning more Miwok vocabulary:\n\n" + dynamicLink);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Let's Learn Miwok!");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent,
        getResources().getText(R.string.send_to)));

Per un esempio più completo e maggiori dettagli, consulta questa guida per inviare dati semplici ad altre app.

Lo snippet di codice riportato sopra genererà un flusso di inviti simile a quello mostrato nelle schermate seguenti:

Condivisione su Android

Per gli sviluppatori iOS, puoi utilizzare un UIActivityViewController, passando il link creato come parte dei dati al controller di visualizzazione personalizzato. Questo metodo fornisce un flusso di condivisione simile alle schermate seguenti:

Condivisione su iOS

Ricevere un Dynamic Link nella tua app

Infine, l'ultimo passaggio per fornire la condivisione da utente a utente per la tua app dopo il ritiro consiste nel ricevere un Dynamic Link nella tua app.

Per Android, questa procedura rimane invariata, quindi non dovrai apportare molte modifiche. L'unica differenza è che senza Firebase Invites non ci sarà più un ID invito, quindi dovrai rimuovere la chiamata per estrarre l'ID invito tramite FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), se la tua app effettua questa chiamata. Per maggiori dettagli su questo argomento, consulta la guida su come ricevere Dynamic Link nella tua app per Android.

Per iOS, è necessario passare dall'oggetto FIRReceivedInvite all'oggetto FIRDynamicLink, che contengono entrambi dati simili. Per maggiori dettagli, consulta la guida su Ricezione di Dynamic Links nella tua app per iOS.

Per gli sviluppatori Unity, esistono diverse librerie open source e soluzioni equivalenti a quelle descritte sopra per eseguire la migrazione della funzionalità di condivisione da utente a utente. Se hai bisogno di assistenza per fornire una soluzione adatta, contatta le risorse di assistenza collegate più in basso.

Firebase Invites è uno strumento fantastico che siamo orgogliosi di aver creato. Guardando al futuro, siamo entusiasti di impegnarci ancora di più per migliorare Firebase Dynamic Links, in modo che tu abbia maggiore flessibilità e controllo su come incoraggiare gli utenti a invitare altre persone a utilizzare la tua app. Se hai domande sulla configurazione di Firebase Dynamic Links e delle soluzioni di condivisione personalizzate, contattaci su StackOverflow o su uno qualsiasi dei nostri forum di assistenza aggiuntivi.