Migra de Firebase Invites a Dynamic Links con opciones para compartir personalizadas

Firebase Invites ofrecía un mecanismo que permitía recibir Firebase Dynamic Links en tu app, además de una característica para compartir ese vínculo mediante SMS o correo electrónico. Desarrollamos Firebase Invites para ayudarte a aumentar la base de usuarios de tu app mediante el boca en boca, pero observamos que con el tiempo encontraste formas mejores de animar a los usuarios para compartir sus apps favoritas con sus amigos, más allá de las capacidades actuales de Firebase Invites.

También determinamos que si bien disminuyó el uso de Firebase Invites, muchas personas seguían usando Firebase Dynamic Links como el ingrediente principal de su solución para compartir entre usuarios. Por eso, fortaleceremos nuestro enfoque y redoblaremos esfuerzos a fin de hacer de que Firebase Dynamic Links sea la mejor manera de integrar en tu app la posibilidad de compartir de usuario a usuario. Como parte de este cambio, la función Firebase Invites dejó de estar disponible y, a partir del 24 de enero de 2020 dejará de ser compatible.

¿Qué significa esto y cómo me afecta?

A partir del 24 de enero de 2020, tus usuarios ya no podrán enviar ni recibir invitaciones con Firebase Invites, y el servicio de backend de estas comenzará a mostrar respuestas de error cuando se realicen llamadas para enviar y recibir un vínculo de una invitación. Los SDK actuales incluyen control de errores a fin de ayudar a garantizar que los casos de errores para estas respuestas de servidor sean elegantes, y así los usuarios puedan seguir usando tu app sin que se produzcan fallas. Sin embargo, te recomendamos que dejes de usar Firebase Invites y prefieras una alternativa, como Firebase Dynamic Links con una solución personalizada para compartir.

A continuación, te contaremos cómo hacerlo.

En primer lugar, crea un Dynamic Link que tus usuarios puedan compartir con sus amigos. La buena noticia es que probablemente ya sabes cómo crearlos, ya que el proceso es similar al de Firebase Invites. Sin embargo, también puedes incluir parámetros específicos en tu Dynamic Link, como metadatos de redes sociales que te permitirán personalizar el aspecto de la URL que aparece cuando un usuario comparte tu app mediante estas plataformas.

Compilar una solución para compartir

A continuación, compila una solución para compartir a fin de que tus usuarios puedan enviar el vínculo a sus amigos. La forma en que quieras proporcionar la característica para compartir que reemplazará a la anterior de Firebase Invites determinará lo que quieras compilar, sin embargo, en la mayoría de las aplicaciones para dispositivos móviles, puedes aprovechar las características que ya incluye la plataforma.

Para Android, una solución sencilla que abarca la capacidad de compartir tanto por SMS como por correo electrónico, además de las redes sociales y apps de mensajería populares, es usar un intent genérico con una acción configurada como Intent.ACTION_SEND. Este método ofrece una forma cómoda de compartir datos desde tu app a cualquier app que el usuario tenga instalada y pueda manejar el intent para compartir.

En este caso, podrías usar un método similar al que se indica en el siguiente ejemplo (te recomendamos usar recursos de strings constantes en tu propio código):

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

Consulta esta guía para enviar datos simples a otras apps y ver más detalles y un ejemplo más completo.

El fragmento de código de más arriba generará un resultado similar al flujo de invitación que se muestra en las siguientes capturas de pantalla:

Compartir en Android

En el caso de los desarrolladores de iOS, puedes usar un UIActivityViewController, en el que se pase el vínculo que se creó al VC personalizado como parte de los datos. Este método proporcionará un flujo para compartir similar al de las siguientes capturas de pantalla:

Compartir en iOS

Recibe un Dynamic Link en tu app

Finalmente, el último paso a fin de implementar la capacidad de compartir entre usuarios para tu app después del cambio es poder recibir un Dynamic Link en tu app.

En Android, este proceso sigue siendo el mismo, así que no será necesario realizar muchos cambios. La única diferencia es que, sin Firebase Invites, ya no habrá un ID de invitación, por esto, debes quitar la llamada para extraer el ID de la invitación mediante FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), si tu app hace la llamada. Consulta la guía Recibe Dynamic Links en tu app para Android si quieres obtener más detalles sobre este proceso.

En iOS, tendrás que cambiar el objeto FIRReceivedInvite por el objeto FIRDynamicLink. Ambos objetos contienen datos similares. Consulta la guía Recibe Dynamic Links en tu app para iOS si quieres obtener más detalles.

Para los desarrolladores que usan Unity, existen varias bibliotecas de código abierto y soluciones equivalentes a las descritas anteriormente a fin de migrar la funcionalidad de compartir entre usuarios. Si necesitas ayuda para proporcionar una solución adecuada, deja tus consultas en los vínculos de los recursos de asistencia que aparecen más abajo.

Firebase Invites fue una gran herramienta que nos enorgullece haber compilado. De cara al futuro, nos emociona redoblar nuestros esfuerzos para mejorar Firebase Dynamic Links a fin de que tengas más flexibilidad y control sobre la forma en que les sugieres a los usuarios que inviten a otras personas a tu app. Si tienes preguntas sobre la configuración de Firebase Dynamic Links y las soluciones personalizadas para compartir, comunícate con nosotros en StackOverflow o cualquiera de nuestros foros de asistencia adicionales.