Como criar links diretos para apps do seu agente do RBM

Em apps para dispositivos móveis, o link direto permite que os usuários acessem diretamente o conteúdo de um app. Sem o link direto, se você compartilhar uma camiseta encontrada em um app de loja de varejo com seu amigo, um link enviado levará o usuário ao navegador ou à Play Store, onde ele precisará instalar ou abrir o app e procurar o conteúdo. Nenhuma das duas é uma ótima experiência do usuário. Com o link direto, o link leva seu amigo à camiseta exata que você encontrou no app de varejo.

Neste artigo, você aprenderá como usar links diretos para criar experiências avançadas e envolventes para os usuários do RBM.

Como levar um usuário do RBM para um app

Um link direto é apenas um link para um app. O agente do RBM pode abrir um app instalado no smartphone de alguém usando uma OpenUrlAction, em que o URL é um link direto configurado para o app que você quer invocar. Leia mais em Criar links diretos para conteúdo de app.

Vejamos um exemplo específico. Para abrir o podcast do Google Cloud no app Google Podcast, é possível criar uma OpenUrlAction com o URI:

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

Muitos produtos do Google são configurados para oferecer suporte a links diretos que também funcionam como URLs da Web, incluindo o YouTube e o Google Maps.

Para acionar qualquer um desses apps de um agente, precisamos especificar esse valor como o URL em uma OpenUrlAction. No exemplo de JSON abaixo, um Rich Card RBM é especificado com três ações de URL aberto, cada uma com um link direto para um 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"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

Quando esse payload JSON é renderizado no cliente RCS do usuário, o ícone da ação sugerida corresponde ao app vinculado. Tocar em qualquer uma das ações sugeridas inicia o app correspondente diretamente no conteúdo codificado no URL.

URLs sugeridos com ícones de apps

Por que você quer isso?

Há vários motivos para criar um link direto para um aplicativo.

Autenticação

Se o agente lidar com informações potencialmente confidenciais, uma maneira de ajudar a proteger o agente é criar um link direto para o aplicativo para ajudar a autenticar o usuário por meio de impressão digital, login ou outros meios. Depois que o usuário fizer a autenticação, será possível rastrear o servidor de autenticação e trazê-lo de volta ao agente acionando uma nova mensagem do RBM. Se você enviar mensagens de acompanhamento potencialmente confidenciais, verifique o lado do servidor para garantir que o usuário esteja autenticado. Se não estiverem, envie-os de volta ao app para renovar o token de autenticação.

Suporte a casos de uso complexos

Os agentes do RBM são ótimos para interações de conversa, mas os apps podem atender melhor a alguns casos de uso. Por exemplo, se você tem uma empresa de móveis e criou uma experiência de realidade aumentada para que os usuários possam testar móveis nas casas (veja a imagem abaixo), seu caso de uso só pode ser compatível com um app.

Nessas situações, faz sentido direcionar os usuários do RBM para seu app para realizar algumas funcionalidades. Seu app pode sempre trazer o usuário de volta para a conversa do RBM acionando uma nova mensagem do agente.

Link direto para o aplicativo App com link direto

Facilitar o pagamento

Você pode aceitar pagamentos com um app de terceiros com link direto.

Por exemplo, suponha que você queira fazer transferências de dinheiro por meio da empresa de pagamentos fictícia AcmePay. Ao investigar on-line, você descobriu que o AcmePay é compatível com links diretos usando sua própria estrutura de URI, que permite transmitir valores para destinatários, o valor e uma observação por meio de parâmetros de string de consulta.

Munido desse conhecimento, o agente só precisa criar uma OpenUrlAction com o URI do AcmePay parametrizado especificado para a parte do URL da ação sugerida.

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

Quando o destinatário da mensagem do RBM toca na ação sugerida, o app AcmePay é aberto diretamente na tela de transação com os valores transmitidos já preenchidos.

O que acontece se o app não estiver instalado?

Se um app não estiver instalado no dispositivo de um usuário, o comportamento do link direto dependerá da estrutura do URI transmitido para a OpenUrlAction. Se o URI for reconhecido por pelo menos um app no dispositivo (por exemplo, o Chrome reconhecer URLs que começam com "http://"), a ação sugerida será exibida normalmente nesse app. Quando o usuário tocar na ação, o URI será aberto em qualquer app que reconheça a estrutura do URI.

Se você é o desenvolvedor do aplicativo, é vantajoso criar um link direto com URIs que comecem com "http://" e apontem para um domínio de sua propriedade, porque o Chrome pode levar o usuário a uma página da Web como uma ação de fallback. Na página da Web, você pode direcionar o usuário para fazer o download do app ou direcioná-lo para o caso de uso adequado.

Na situação em que o URI usa uma estrutura personalizada que não é reconhecida por qualquer app no dispositivo, a ação sugerida não é renderizada na mensagem do RBM.

Para garantir que as ações sugeridas sejam sempre exibidas, você pode usar um URL de sua propriedade e fazer com que a página da Web tente redirecionar o navegador para um URI personalizado que inicia o app. Se o app existir no dispositivo, ele será iniciado conforme o esperado. Caso contrário, o usuário permanecerá na página da Web, onde você poderá direcioná-lo conforme necessário para seu caso de uso.

Veja abaixo um exemplo de como fazer isso com JavaScript. O script tenta redirecionar o usuário para o app AcmePay. No entanto, caso ele não esteja instalado, o script redireciona o usuário para a Google Play Store para fazer o download dele.

<!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>

Conclusão e TL;DR

Você pode usar a ação sugerida "OpenUrlAction" para criar links diretos nos seus apps ou em apps que você queira acionar para engajar os usuários. Com os links diretos, você pode proporcionar uma experiência enriquecedora e envolvente para os usuários ou mais segurança no compartilhamento de conteúdo confidencial.

Boa sorte e uma boa codificação!