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

Firebase Invites proporcionaba un mecanismo para recibir Firebase Dynamic Links en tu app, además de una función 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 Firebase Invites, y el servicio de backend de invitaciones comenzará a mostrar respuestas de error cuando se realicen llamadas para enviar y recibir un vínculo de una invitación. Los SDKs actuales incluyen el manejo de errores para ayudar a garantizar casos de fallas suaves para estas respuestas del servidor, de modo que los usuarios puedan seguir usando tu app sin fallas, pero te recomendamos que ya no uses Firebase Invites y que cambies a una solución alternativa con Firebase Dynamic Links con una solución de uso compartido personalizada.

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

Primero, 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 función de compartir que reemplazará a la anterior en Firebase Invites determinará lo que quieras compilar, sin embargo, en la mayoría de las aplicaciones para dispositivos móviles, puedes aprovechar las funciones 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

Cómo recibir un Dynamic Link en tu app

Por último, el último paso para 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 realiza esa 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. Ahora pensamos en el futuro y nos emociona redoblar nuestros esfuerzos para hacer de Firebase Dynamic Links una herramienta aún mejor, que ofrezca más flexibilidad y control sobre la forma en que los usuarios invitan a los demás para que usen tu app. Si tienes dudas sobre cómo configurar Firebase Dynamic Links y las soluciones personalizadas para compartir, deja tus consultas en StackOverflow o en cualquiera de nuestros foros de asistencia adicionales.