Como criar links diretos para apps do seu agente RBM

Em apps para dispositivos móveis, os links diretos permitem que os usuários acessem diretamente o conteúdo em um app. Sem o link direto, se você compartilhar uma camiseta que encontrou em um app de loja de varejo com um amigo, um link o direcionará para o navegador ou para a Play Store, onde será necessário instalar ou abrir o app e pesquisar o conteúdo. Nenhuma das situações é uma ótima experiência do usuário. Com o link direto, o link leva seu amigo à camisa exata que você encontrou no app de varejo.

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

Encaminhar um usuário do RBM para um app

Um link direto é apenas um link para um app. O agente de 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. Saiba mais em Criar links diretos para conteúdo do app.

Veja o exemplo a seguir: Para abrir o podcast do Google Cloud no app Google Podcasts, é possível criar um 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 por um agente, precisamos especificar esse valor como o URL em uma OpenUrlAction. No JSON de exemplo abaixo, um card rico do RBM é especificado com três ações de URL abertas, 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 de um usuário, o ícone da ação sugerida corresponde ao app com link direto. Ao tocar em qualquer uma das ações sugeridas, o app correspondente é iniciado 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 app.

Autenticação

Se o agente lidar com informações potencialmente sensíveis, uma maneira de protegê-lo é criar um link direto para o app para ajudar a autenticar o usuário usando impressão digital, login ou outros meios. Depois que o usuário fizer a autenticação, você poderá acompanhar a autenticação no servidor e trazer o usuário de volta ao agente acionando uma nova mensagem RBM. Se você enviar mensagens de acompanhamento potencialmente sensíveis, verifique do lado do servidor se o usuário está autenticado. Se não forem, você pode enviá-los de volta ao app para renovar o token de autenticação.

Suporte a casos de uso complexos

Os agentes 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 testem móveis nas casas (confira a imagem a seguir), seu caso de uso só pode ser compatível com um app.

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

Link direto para o app App com link direto

Facilitar pagamento

É possível oferecer suporte a pagamentos com um app de terceiros com links diretos.

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

Com esse conhecimento, seu agente precisa criar uma OpenUrlAction com o URI de 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 é iniciado 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 for instalado no dispositivo de um usuário, o comportamento do link direto vai depender da estrutura do URI transmitido para a OpenUrlAction. Se o URI puder ser reconhecido por pelo menos um app no dispositivo (por exemplo, o Chrome reconhece URLs que começam com "http://"), a ação sugerida será mostrada normalmente nesse app. Quando o usuário tocar na ação, o URI será aberto no app que reconhecer a estrutura do URI.

Se você é o desenvolvedor do app, é vantajoso criar links diretos com URIs que começam com "http://" e apontam para um domínio que você possui, porque o Chrome pode levar o usuário a uma página da Web como uma ação alternativa. Na página da Web, você pode direcionar o usuário para fazer o download do app ou direcioná-lo conforme for adequado para seu caso de uso.

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

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

Confira a seguir um exemplo de como fazer isso com JavaScript. O script tenta redirecionar o usuário para o app AcmePay, mas, se ele não estiver instalado, o script redirecionará o usuário para a Google Play Store para fazer o download do app.

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

Você pode usar a ação sugerida OpenUrlAction para criar links diretos para apps que você possui ou que você quer acionar para ajudar a engajar os usuários. Com os links diretos, você pode oferecer uma experiência enriquecida e envolvente para seus usuários ou uma segurança aprimorada para compartilhar conteúdo sensível.

Boa sorte e divirta-se programando!