Migrar 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 esto, fortaleceremos nuestro enfoque y aumentaremos nuestros esfuerzos a fin de lograr que Firebase Dynamic Links sea la mejor manera de integrar las capacidades para compartir de usuario a usuario en tu app. Como parte del cambio, decidimos dar de baja a Firebase Invites y dejaremos de ofrecer asistencia desde el 24 de enero de 2020.

¿Qué quiere decir 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 a tu Dynamic Link, como metadatos de redes sociales que te permitirán personalizar el aspecto de la URL que se comparte, si tus usuarios comparten 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 conveniente de compartir datos desde tu app a cualquier app que el usuario haya instalado 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 string 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 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

Recibir 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 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 sobre cómo Recibir 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 contienen datos similares. Consulta la guía sobre cómo Recibir 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.

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.