Cómo agregar un vínculo directo a apps de tu agente de RBM

En las apps para dispositivos móviles, los vínculos directos permiten a los usuarios ir directamente al contenido de una app. Sin los vínculos directos, si compartes una camisa que encontraste en una app de una tienda minorista con tu amigo, un vínculo que envíes te llevará a su navegador o lo llevará a Play Store, donde deberá instalar o abrir la app y buscar el contenido. Ninguna de estas situaciones es una excelente experiencia del usuario. Con los vínculos directos, el vínculo lleva a tu amigo a la camisa exacta que encontraste en la app de venta minorista.

En este artículo, aprenderás a usar vínculos directos a fin de crear experiencias enriquecidas y atractivas para tus usuarios de RBM.

Cómo incorporar un usuario de RBM a una app

Un vínculo directo es solo un vínculo a una app. Tu agente de RBM puede abrir una app que se instala en el teléfono de alguien mediante una OpenUrlAction en la que la URL es un vínculo directo configurado para la app que quieres invocar. Obtén más información en Cómo crear vínculos directos al contenido de la app.

Veamos un ejemplo específico. Para abrir el podcast de Google Cloud en la app de Google Podcasts, se puede crear una OpenUrlAction con el URI:

https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0dvb2dsZUNsb3VkUGxhdGZvcm1Qb2RjYXN0

Muchos productos de Google están configurados para admitir vínculos directos que también funcionan como URL web, incluidos YouTube y Google Maps.

Para activar cualquiera de estas apps desde un agente, debemos especificar este valor como la URL en OpenUrlAction. En el ejemplo de JSON a continuación, se especifica una tarjeta enriquecida de RBM con tres acciones de URL abiertas, cada una de las cuales se establece un vínculo directo a una app diferente.

{
    "contentMessage":{
        "richCard":{
            "standaloneCard":{
                "cardOrientation":"VERTICAL",
                "cardContent":{
                    "title":"Did you know that you can open apps from an RBM agent?",
                    "description":"",
                    "suggestions":[
                        {
                            "action":{
                                "text":"Google Cloud Podcast",
                                "postbackData":"podcast_tap",
                                "openUrlAction":{
                                    "url":"https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL1JvYkNlc3Rlcm5pbm8&nord=0"
                                }
                            }
                        },
                        {
                            "action":{
                                "text":"YouTube Video",
                                "postbackData":"youtube_tap",
                                "openUrlAction":{
                                    "url":"https://www.youtube.com/embed/xSE9Qk9wkig"
                                }
                            }
                        },
                        {
                            "action":{
                                "text":"Google Maps",
                                "postbackData":"maps_tap",
                                "openUrlAction":{
                                    "url":"https://goo.gl/maps/ToMSdr4PYX62"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

Cuando esta carga útil JSON se procesa dentro del cliente RCS de un usuario, el ícono de la acción sugerida coincide con la app de vínculo directo. Cuando se presiona cualquiera de las acciones sugeridas, se inicia la app correspondiente directamente en el contenido codificado en la URL.

URLs sugeridas con íconos de apps

¿Por qué querrías hacerlo?

Existen varios motivos por los que puede querer establecer un vínculo directo con una aplicación.

Autenticación

Si tu agente trabaja con información potencialmente sensible, una forma de ayudar a protegerlo es establecer un vínculo directo a la app para autenticar al usuario a través de su huella dactilar, acceso o algún otro medio. Una vez que el usuario se autentica correctamente, puedes realizar un seguimiento del servidor de autenticación y hacer que este vuelva al agente mediante la activación de un nuevo mensaje de RBM. Si envías mensajes de seguimiento potencialmente sensibles, puedes verificar el servidor para asegurarte de que el usuario esté autenticado. Si no lo son, puedes enviarlos de vuelta a la app para renovar su token de autenticación.

Compatibilidad con casos de uso complejos

Los agentes de RBM son excelentes para las interacciones conversacionales, pero las apps pueden servir mejor en algunos casos de uso. Por ejemplo, si tienes una empresa de muebles y creaste una experiencia de realidad aumentada para que los usuarios puedan probar muebles en sus hogares (consulta la imagen a continuación), tu app solo puede admitir tu caso de uso.

En estas situaciones, tiene sentido dirigir a los usuarios de RBM a tu app para llevar a cabo alguna funcionalidad. Tu app siempre puede hacer que el usuario regrese a la conversación de RBM mediante la activación de un nuevo mensaje de agente.

Vínculo directo a la app App con vínculo directo

Facilitar los pagos

Puedes admitir pagos mediante una app de terceros con vínculos directos.

Por ejemplo, supongamos que deseas admitir transferencias de dinero a través de la empresa de pagos ficticia AcmePay. Cuando investigas en línea, descubres que AcmePay admite vínculos directos con su propia estructura de URI única que te permite pasar valores para los destinatarios, la cantidad y una nota a través de parámetros de cadena de consulta.

Con este conocimiento, tu agente solo necesita crear una OpenUrlAction con el URI de AcmePay parametrizado que se especifica para la parte de la URL de la acción sugerida.

acmepay://paycharge?recipients=Jane+Smith&amount=10&note=Money+For+You!

Una vez que el destinatario del mensaje de RBM presione la acción sugerida, se iniciará la app de AcmePay directamente en la pantalla de transacción con los valores ingresados ya completados.

¿Qué sucede si la app no está instalada?

Si una app no está instalada en el dispositivo de un usuario, el comportamiento del vínculo directo depende de la estructura del URI que se pasa a OpenUrlAction. Si al menos una app del dispositivo puede reconocer el URI (por ejemplo, Chrome reconoce URLs que comienzan con "http://"), la acción sugerida se muestra con normalidad en esa app. Cuando el usuario presiona la acción, se abre el URI en cualquier app que reconozca la estructura del URI.

Si eres el desarrollador de la app, te recomendamos que incluyas un vínculo directo a los URI que comience con "http://" y que apunte a un dominio de tu propiedad, ya que Chrome puede dirigir al usuario a una página web como acción de resguardo. En la página web, puedes indicarle al usuario que descargue la app o que lo consideres adecuado para tu caso de uso.

Si el URI usa una estructura personalizada que ninguna app reconoce en el dispositivo, la acción sugerida no se renderizará en tu mensaje de RBM.

Para asegurarte de que las acciones sugeridas siempre aparezcan, puedes usar una URL de tu propiedad y hacer que la página web intente redireccionar el navegador a un URI personalizado que inicia la app. Si la app existe en el dispositivo, se inicia según lo esperado. De lo contrario, el usuario permanece en la página web y puedes dirigirlo según sea necesario para tu caso de uso.

A continuación, se muestra un ejemplo de cómo hacerlo con JavaScript. La secuencia de comandos intenta redireccionar al usuario a la app de AcmePay, pero, si no está instalada, la redirecciona al usuario a Google Play Store para que la descargue.

<!doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,minimum-scale=1.0, maximum-scale=1.0" />
    <title>Acme Pay</title>

    <script type="text/javascript">
    window.onload = function() {
       // Launch Acme Pay app for existing users
       window.location = 'acmepay://paycharge?recipients=Jane+Smith&amount=10&note=Money+For+You!';

       // Redirect to Acme Pay app download for new users
       setTimeout("window.location = 'https://play.google.com/store/apps/details?id=com.acmepay.android';", 1000);
    }
    </script>
</head>
<body>
    <h1>Redirecting…</h1>
</body>
</html>

Conclusión y resumen

Puedes usar la acción sugerida de OpenUrlAction para establecer un vínculo directo con las apps de tu propiedad o las que quieras activar a fin de interactuar con los usuarios. Con los vínculos directos, puedes proporcionar una experiencia enriquecida y atractiva para tus usuarios o más seguridad mejorada para compartir contenido sensible.

¡Buena suerte y buena programación!