Migrer de Firebase Invites vers Firebase Dynamic Links avec le partage personnalisé

Firebase Invites a fourni un mécanisme permettant de recevoir Firebase Dynamic Links dans votre application, ainsi qu'une fonctionnalité permettant de partager ce lien par SMS ou par e-mail. Nous avons développé Firebase Invites pour vous aider à augmenter le nombre d'utilisateurs de votre application grâce au bouche-à-oreille. Mais au fil du temps, nous avons appris que vous aviez trouvé de meilleurs moyens d'encourager les utilisateurs à partager leurs applications préférées avec leurs amis, par rapport à ce que fait Firebase Invites aujourd'hui.

Nous avons également constaté que, bien que l'utilisation de Firebase Invites ait diminué, beaucoup d'entre vous utilisiez toujours Firebase Dynamic Links comme ingrédient clé de votre solution de partage entre utilisateurs. C'est pourquoi nous nous efforçons encore de faire de Firebase Dynamic Links le meilleur moyen d'intégrer des fonctionnalités de partage entre utilisateurs dans votre application. Pour ce changement, nous avons abandonné la fonctionnalité Firebase Invites, qui ne sera plus prise en charge à partir du 24 janvier 2020.

Qu'est-ce que cela signifie et en quoi cela me concerne-t-il ?

À compter du 24 janvier 2020, vos utilisateurs ne pourront plus envoyer ni recevoir de Firebase Invites, et le service de backend des invitations commencera à renvoyer des messages d'erreur lors des appels pour envoyer et recevoir un lien d'invitation. Les SDK actuels incluent la gestion des erreurs pour garantir des cas de défaillance appropriés pour ces réponses du serveur. Ainsi, vos utilisateurs pourront continuer à utiliser votre application sans plantage. Toutefois, nous vous recommandons de ne plus utiliser Firebase Invites et de passer à une autre solution à l'aide de Firebase Dynamic Links avec une solution de partage personnalisée.

Voici comment procéder.

Commencez par créer un Dynamic Link que vos utilisateurs peuvent partager avec leurs amis. La bonne nouvelle, c'est que vous connaissez probablement déjà cette étape, car elle est semblable à la configuration de Firebase Invites. Vous pouvez également ajouter des paramètres spécifiques à votre lien dynamique, comme ajouter des métadonnées sur les réseaux sociaux à vos liens si vos utilisateurs partagent votre application via un réseau social pour personnaliser l'apparence de l'URL partagée.

Créer une solution de partage

Ensuite, créez votre solution de partage pour que vos utilisateurs puissent partager ce lien avec leurs amis. Ce que vous souhaitez créer ici varie selon la façon dont vous souhaitez fournir la fonctionnalité de partage qui remplacera la précédente dans Firebase Invites. Toutefois, pour la plupart des applications mobiles, vous pouvez profiter des fonctionnalités déjà intégrées à la plate-forme.

Pour Android, une solution simple qui couvre à la fois le partage par SMS et par e-mail, ainsi que d'autres applications de messagerie et de réseaux sociaux populaires, consiste à utiliser un intent générique avec une action définie sur Intent.ACTION_SEND. Cela permet de partager facilement les données de votre application avec n'importe quelle application installée par l'utilisateur pouvant gérer un intent de partage.

Un code semblable à l'exemple suivant devrait fonctionner ici (nous vous recommandons d'utiliser des ressources de chaîne constante dans votre propre code):

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)));

Pour obtenir un exemple plus complet et plus d'informations, consultez ce guide sur l'envoi de données simples à d'autres applications.

L'extrait de code ci-dessus génère un flux d'invitation semblable à celui affiché dans les écrans ci-dessous:

Partager sur Android

Pour les développeurs iOS, vous pouvez utiliser un UIActivityViewController, en transmettant le lien créé dans les données au VC personnalisé. Cette méthode fournirait un flux de partage semblable aux écrans ci-dessous :

Partage sur iOS

Recevoir un Dynamic Link dans votre application

Enfin, la dernière étape pour permettre le partage d'utilisateur à utilisateur dans votre application après l'abandon consiste à recevoir un Dynamic Link dans votre application.

Pour Android, ce processus reste le même. Vous n'aurez donc pas besoin de modifier grand-chose. La seule différence est que sans Firebase Invites, il n'y aura plus d'ID d'invitation. Vous devrez donc supprimer l'appel pour extraire l'ID d'invitation via FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), si votre application effectue cet appel. Pour en savoir plus sur ce point, consultez le guide sur la réception des liens dynamiques dans votre application Android.

Pour iOS, vous devez remplacer l'objet FIRReceivedInvite par l'objet FIRDynamicLink, qui contiennent tous deux des données similaires. Pour en savoir plus, consultez le guide Recevoir des liens dynamiques dans votre application iOS.

Pour les développeurs Unity, il existe un certain nombre de bibliothèques Open Source et de solutions équivalentes à celles décrites ci-dessus pour migrer votre fonctionnalité de partage d'utilisateur à utilisateur. Si vous avez besoin d'aide pour trouver une solution adaptée, veuillez contacter les ressources d'assistance indiquées dans les liens ci-dessous.

Firebase Invites est un outil formidable que nous sommes fiers d'avoir développé. À l'avenir, nous nous efforçons d'améliorer Firebase Dynamic Links afin de vous offrir plus de flexibilité et de contrôle sur la façon dont vous encouragez les utilisateurs à inviter d'autres utilisateurs à utiliser votre application. Si vous avez des questions sur la configuration de Firebase Dynamic Links et de solutions de partage personnalisées, veuillez contacter StackOverflow ou l'un de nos forums d'assistance supplémentaires.