Convierte a usuarios de la Web móvil en usuarios de la app nativa

Imaginemos que te tomas la molestia de crear un sitio web móvil excelente además de una aplicación nativa hermosa, pero después descubres que el porcentaje de conversiones es mejor en la aplicación nativa que en la Web. En este caso, podría ser provechoso para tu negocio que los usuarios del sitio web móvil descarguen la aplicación. Si bien puede parecer un desafío que los usuarios pasen de una plataforma a otra, Dynamic Links te facilita la tarea. Con muy poco código, puedes agregar la posibilidad de que un usuario haga clic en un vínculo de tu Web móvil y se lo dirija a la página correspondiente de la aplicación, incluso si antes tiene que ir a la App Store o a Google Play Store para instalarla.

Ventajas clave

  • Convierte a los usuarios de la Web móvil en usuarios de la app nativa con una transición lo más cómoda posible.
  • Los usuarios pueden abrir la aplicación con el mismo contenido que estaban viendo en tu sitio.
  • Requiere muy poca integración.

Aquí te explicaremos cómo comenzar a usar los Dynamic Links.

Antes de comenzar

Haz que el contenido de la aplicación sea compatible con los vínculos directos

La clave para convertir a los usuarios de la Web móvil en usuarios de la aplicación nativa es asegurarte de que vean el mismo contenido de la Web cuando abran la aplicación. Por eso, antes de enviar a los usuarios del sitio web móvil a la aplicación, es necesario que esta pueda recibir vínculos directos al contenido.

Es probable que ya hayas realizado esta tarea si implementaste vínculos universales en iOS o vínculos de apps para Android. En caso de que no lo hayas hecho, agrega a la aplicación la lógica necesaria para recibir una URL del sitio web y mostrarle al usuario el contenido correspondiente dentro de la aplicación.

Configura Firebase y el SDK de Dynamic Links

Configura un nuevo proyecto de Firebase y después instala el SDK de Dynamic Links en la aplicación (iOS, Android, C++ y Unity). Con el SDK de Dynamic Links instalado, Firebase podrá pasar datos acerca del Dynamic Link una vez que el usuario instale la aplicación. Si no tienes el SDK, no hay manera de mostrarle el contenido del vínculo al usuario si tiene que instalar la aplicación como paso intermedio.

Agrega vínculos para "Abrir en la app" a páginas web

Ahora, es momento de configurar los vínculos que llevarán a los usuarios del sitio web a la aplicación nativa. No te preocupes si los usuarios todavía no instalaron la aplicación.

Genera un Dynamic Link en cada página del sitio web. Como el contenido es compatible con los vínculos directos, el parámetro link puede ser simplemente la URL de la página en la que se encuentra.

Este es un ejemplo de un vínculo de este tipo:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

Cuando los usuarios abren este vínculo en el dispositivo, si no está instalada la aplicación que se especifica en los parámetros apn (en Android) o ibi (en iOS), se conduce a los usuarios a la Play Store o la App Store para que completen la instalación. A continuación, se abre la aplicación y se pasa la URL especificada en el parámetro link.

Abre el contenido del vínculo en la aplicación

Para continuar, debes recibir el vínculo que se le pasó a la aplicación y abrir el contenido correspondiente, lo cual es fácil gracias al SDK de Dynamic Links.

iOS

Para recibir un Dynamic Link en iOS, debes implementar el método application:continueUserActivity:restorationHandler:. En el controlador de restablecimientos, puedes obtener el Dynamic Link mediante una llamada a handleUniversalLink:completion:. Si se transfirió un Dynamic Link a la app, puedes obtenerlo de la propiedad url del FIRDynamicLink. Por ejemplo:

Objective-C

[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Swift

FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

Además, debes llamar a dynamicLinkFromCustomSchemeURL: en el método application:openURL:options: para recibir los Dynamic Links que se transfirieron a tu app como URL de esquemas personalizados. Por ejemplo:

Objective-C

FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Swift

let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

Ahora que tienes el valor del parámetro link, puedes mostrarle el contenido del vínculo al usuario.

Android

En Android, debes usar el método getInvitation() para obtener los datos del Dynamic Link:

Java
Android

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

Kotlin
Android

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Después, en la devolución de llamada, puedes obtener los datos que se transfirieron en el parámetro link de los Dynamic Links mediante una llamada al método getDeepLink():

Java
Android

String link = AppInviteReferral.getDeepLink(intent);

Kotlin
Android

val link = AppInviteReferral.getDeepLink(intent)

Ahora que tienes el valor del parámetro link, puedes mostrarle el contenido del vínculo al usuario.

Enviar comentarios sobre...

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