Migrazione dagli inviti Firebase ai collegamenti dinamici con condivisione personalizzata

Firebase Invites forniva sia un meccanismo per ricevere Firebase Dynamic Link nella tua app, sia una funzionalità per condividere quel collegamento tramite SMS o e-mail. Abbiamo sviluppato Firebase Invites per aiutarti a far crescere gli utenti della tua app attraverso il passaparola, ma col tempo abbiamo imparato che hai trovato modi migliori per incoraggiare gli utenti a condividere le loro app preferite con i loro amici, oltre a ciò che fa Firebase Invites oggi.

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

Cosa significa questo e che impatto ha su di me?

A partire dal 24 gennaio 2020, i tuoi utenti non saranno più in grado di inviare o ricevere inviti Firebase e il servizio di backend degli inviti inizierà a restituire risposte di errore quando effettuano chiamate per inviare e ricevere un collegamento di invito. Gli SDK attuali includono la gestione degli errori per garantire casi di errore corretti per queste risposte del server, in modo che i tuoi 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 utilizzando Firebase Collegamenti dinamici con una soluzione di condivisione personalizzata.

Ecco come farlo!

Innanzitutto, crea un collegamento dinamico che i tuoi utenti possano condividere con i loro amici. La buona notizia è che probabilmente hai già familiarità con questo passaggio perché è simile al modo in cui configuri Firebase Invites. Ma puoi anche aggiungere parametri specifici al tuo collegamento dinamico, come aggiungere metadati social ai tuoi collegamenti se i tuoi utenti condividono la tua app tramite un social network per personalizzare l'aspetto dell'URL che viene condiviso.

Costruisci una soluzione di condivisione

Successivamente, crea la tua soluzione di condivisione affinché i tuoi utenti possano condividere quel collegamento con i loro amici. Ciò che vorrai creare qui varierà a seconda di come desideri fornire la funzionalità di condivisione che sostituirà quella precedente in Firebase Invites, ma per la maggior parte delle app mobili puoi sfruttare le funzionalità già integrate nella piattaforma.

Per Android, una soluzione semplice che copre sia la condivisione di SMS ed e-mail, sia quella di altri popolari social network e app di messaggistica, consiste nell'utilizzare un intento generico con un'azione impostata come Intent.ACTION_SEND . Ciò fornisce un modo conveniente per condividere i dati dalla tua app a qualsiasi app installata dall'utente in grado di gestire un intento di condivisione.

Qualcosa di simile al seguente esempio dovrebbe funzionare qui (consigliando di utilizzare risorse di stringa costanti nel proprio 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 sopra genererà qualcosa di simile al flusso di invito mostrato nelle schermate seguenti:

Condivisione su Android

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

Condivisione su iOS

Ricevi un collegamento dinamico nella tua app

Infine, l'ultimo passaggio per fornire la condivisione da utente a utente per la tua app dopo il tramonto consiste nel ricevere un collegamento dinamico nella tua app.

Per Android, questo processo rimane lo stesso, quindi non avrai bisogno di cambiare molto qui. 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 sta effettuando quella chiamata . Per maggiori dettagli su questo pezzo, consulta la guida sulla ricezione di collegamenti dinamici nella tua app Android .

Per iOS, ciò richiederebbe il passaggio dall'oggetto FIRReceivedInvite all'oggetto FIRDynamicLink , che contengono entrambi dati simili. Consulta la guida sulla ricezione di collegamenti dinamici nella tua app iOS per maggiori dettagli.

Per gli sviluppatori Unity, sono disponibili numerose librerie open source e soluzioni equivalenti a quelle descritte sopra per migrare la funzionalità di condivisione da utente a utente. Se hai bisogno di assistenza per fornire una soluzione adeguata, contatta le risorse di supporto collegate più avanti.

Firebase Invites è stato un ottimo strumento che siamo orgogliosi di aver creato. Guardando al futuro, siamo entusiasti di raddoppiare il nostro impegno per migliorare ulteriormente Firebase Dynamic Links in modo da offrirti maggiore flessibilità e controllo sul modo in cui incoraggi gli utenti a invitare altri alla tua app. Se hai domande sulla configurazione dei collegamenti dinamici Firebase e sulle soluzioni di condivisione personalizzate, contatta StackOverflow o uno qualsiasi dei nostri forum di supporto aggiuntivi .