Extensões de bate-papo
Extensões de bate-papo permitem que os bots forneçam recursos sociais interativos que os usuários podem invocar diretamente em suas conversas.
CONTEÚDO
Visão geral
Modelo de interação
Extensões de bate-papo aparecem na gaveta do compositor do Messenger depois que um usuário interagiu com o bot associado.
Quando o usuário tocar no ícone da extensão de bate-papo, ele abrirá uma IU com base em WebView especificada pelo desenvolvedor. O usuário poderá, então, criar ou selecionar o conteúdo a ser compartilhado no tópico. A mensagem compartilhada no tópico pode conter imagens, links e muito mais.
Quando os usuários no grupo interagirem com qualquer mensagem compartilhada dessa forma, o desenvolvedor terá acesso a informações de contexto sobre o tópico, capacidade de solicitar permissões e tudo o mais fornecido no SDK JavaScript de Extensões do Messenger.
Casos de uso potenciais
- Expressão: Criar figurinhas ou memes no Messenger. Compartilhar músicas, vídeos ou outros conteúdos.
- Mídia: Enviar ao grupo histórias sobre tópicos que você segue conforme elas acontecem.
- Comércio: Pedidos e planejamento em grupo
- Produtividade: Enviar atualizações de rastreadores de tarefas, editar colaborativamente um documento.
- Entretenimento: Criar jogos ou desafios de grupo.
Temos o TaskBot de código aberto, um bot que mostra todos os recursos descritos aqui.
Experimente no Messenger →Github Repo →
Configurando o ponto de entrada da gaveta
Para permitir que o seu bot apareça na gaveta para as pessoas que o adicionaram, você deve definir sua URL inicial.
Se a sua extensão de bate-papo não está pronta para lançamento, tome o cuidado de definir in_test como true, para evitar que ela seja mostrada para não desenvolvedores até que esteja pronta.
Compartilhamento
A Plataforma do Messenger dá suporte ao compartilhamento personalizado a partir do WebView, permitindo que os desenvolvedores forneçam uma mensagem personalizada e um destino para as mensagens compartilhadas de seus bots.
Várias melhorias foram adicionadas a esses recursos, para permitir que eles funcionem com Extensões de bate-papo. Veja a seguir o que você deve saber:
Compartilhando no tópico atual
A função beginShareFlow() tem um parâmetro mode que agora oferece suporte ao modo current_thread. Isso permite que o usuário compartilhe o tópico do qual ele invocou a Extensão de bate-papo, em vez de precisar selecionar outro tópico. A maioria dos desenvolvedores deve escolher o modo current_thread para dentro da própria extensão.
Pode haver situações em que você deseja verificar se esse modo tem suporte na versão do Messenger do usuário. Use o método getSupportedFeatures() e verifique a existência da chave "sharing_direct" para ter certeza.
Reagindo a compartilhamentos
O retorno de chamada success para beginShareFlow() é chamado independentemente de o usuário confirmar o compartilhamento ou cancelá-lo, contanto que nenhum erro tenha sido encontrado.
Agora, o Messenger informa o campo is_sent na resposta ao retorno de chamada success, dizendo se uma mensagem foi realmente enviada.
Após o compartilhamento do usuário, é uma boa ideia fechar a janela se você terminar ou direcionar o usuário para a próxima parte do fluxo.
<script>
var messageToShare = { ... };
MessengerExtensions.beginShareFlow(function success(response) {
if(response.is_sent === true){
// User shared. We're done here!
MessengerExtensions.requestCloseBrowser();
}
else{
// User canceled their share!
}
},
function error(errorCode, errorMessage) {
// An error occurred trying to share!
},
messageToShare,
"current_thread");
</script>Consulte a documentação de beginShareFlow() para obter mais detalhes.
Obtendo o número de identificação do usuário e o contexto do tópico
Chame a função getContext() para obter:
- O número de identificação do usuário (PSID)
- A identificação do tópico
- O tipo de tópico
Essa função funciona para todos os usuários que se deparam com o WebView, independentemente de eles terem um tópico aberto com o seu bot.
Observe que obter o número de identificação do usuário dessa maneira não implica a capacidade de obter o perfil do usuário. Para isso, você precisará de permissão de perfil.
Saiba mais →
Gerenciamento de permissões
Quando um usuário iniciar um tópico com o seu bot, você terá automaticamente permissão para enviar mensagens a ele e obter seu perfil. Essas permissões serão revogadas para usuários que bloquearem o bot ou excluírem o tópico.
Para os usuários que encontraram seu bot no WebView, mas não iniciaram um tópico com ele, talvez você queira solicitar essas permissões. Para isso, você pode usar as funções de permissões no SDK JavaScript de Extensões do Messenger.
Saiba mais →Dicas + Melhores práticas
A Plataforma do Messenger sugeriu melhores práticas para desenvolver uma excelente Extensão de bate-papo, incluindo:
- Abordagem geral
- Como usar diferentes modos de compartilhamento
- Como controlar o cromado do WebView para o máximo de efeito
- Como garantir compatibilidade com versões anteriores
Design Kit
Pronto para criar sua Extensão de bate-papo? Confira nosso útil arquivo de Esboço, contendo todos os componentes de que você precisa!
Obtenha o Kit →Perguntas frequentes e solução de problemas
P: Eu preciso ter um bot para desenvolver uma Extensão de bate-papo?
R: Sim! As Extensões de bate-papo são extensões de bots.
P: O que faz uma Extensão de bate-papo aparecer na gaveta do compositor?
R: Uma extensão de bate-papo aparece na gaveta do compositor um usuário após a sua interação com o bot associado.
P: Preciso ter uma Extensão de bate-papo para permitir que os usuários compartilhem pelo meu bot?
R: Não! A Plataforma do Messenger fornece várias outras maneiras para os usuários compartilharem pelo seu bot.
P: Eu preciso ter uma Extensão de bate-papo para usar o WebView e o SDK do Javascript de Extensões do Messenger no meu bot? Qual é a conexão?
R: Não! Apenas gostamos dessa palavra. De fato, os WebViews podem ser chamados de várias formas além das Extensões de bate-papo, e todas elas permitem o uso de Extensões do Messenger.
P: Quando um destinatário de uma extensão de bate-papo tocar em um link, quais recursos estarão disponíveis via SDK do JavaScript de Extensões do Messenger?
R: Todos os recursos disponíveis para o remetente estão disponíveis para os usuários abrindo o conteúdo compartilhado. Você pode obter o número de identificação do usuário, o contexto do tópico, iniciar seus próprios compartilhamentos, e muito mais. Observe que nesses casos, você não terá acesso ao perfil do usuário ou à mensagem dos usuários até solicitar pela permissão de requisito.
P: As Extensões de bate-papo funcionam com o Messenger.com e Facebook.com?
R: Este recurso é suportado apenas em iOS e Android. Os usuários nos clientes baseados na Web poderão clicar nos links compartilhados pelos usuários de Extensão de bate-papo, mas não poderão usar a funcionalidade fornecida pelo SDK do JavaScript. Para obter mais informações, veja a "Compatibilidade inversa" no Guia de práticas recomendadas de Extensões de bate-papo.
P: Qual é a diferença entre compartilhar com o tópico atual e compartilhar com transmissão?
R: Extensões de bate-papo se baseiam nos recursos de compartilhamento de WebView lançados anteriormente com a adição de um fluxo denominado "current_thread".
Se um usuário invocou seu bot em um tópico usando o compositor, apenas faz sentido que ele deseja compartilhá-lo nesse local e não para outra pessoa. Então, com o fluxo "current_thread", o usuário pode confirmar o envio de uma parte do conteúdo ao tópico atual, em vez de fazer a transmissão para vários tópicos.
P: Estou na versão mais recente do Messenger, e o SDK não está funcionando no WebView. O que há de errado aqui?
R: Verifique o seguinte:
Página não publicada: Se a página à qual o seu bot está associado não estiver publicada, o SDK não será carregado para os usuários que não têm uma função (por exemplo, desenvolvedor, administrador) nessa página. Adicione o usuário à página ou publique a página.
Propriedade
messenger_extensionnão definida: Em qualquer lugar de onde o WebView for aberto, certifique-se de definirmessenger_extensionscomotrue. Isso inclui:- Nos menus do seu bot.
- Em botões de mensagens enviadas pelo seu bot
- Em qualquer mensagem compartilhada pelos botões
beginShareFlow()e Compartilhar.
O domínio não está na lista de liberação: Adicione o domínio no qual a página está hospedada à lista de liberação de domínios do seu bot.
Veja mais dicas de solução de problemas com WebViews.
P: Eu criei uma Extensão de bate-papo e não consigo exibi-la na bandeja do compositor. Como corrigir isso?
Verifique o seguinte:
Verifique se você definiu
home_urlpara a página específica que deseja exibir, usando o Token de Acessos de Página dessa página. Transferir um bot de uma Página do Facebook para outra não transferirá a URL inicial.Se você definiu o atributo
in_testcomo verdadeiro enquanto estava no modo de desenvolvimento, veja se a pessoa verificando a bandeja é um desenvolvedor ou testador do bot em questão, ou um gerenciador de sua Página do Facebook. Se você liberou o bot publicamente, verifique se o enviou e aprovou para a permissãopages_messaging.Verifique se a Página do Facebook à qual o bot está anexado está publicada.
Verifique se o próprio bot está no modo público.
Verifique se você conversou com o bot anteriormente.
As Extensões de bate-papo mostradas na gaveta do compositor são armazenadas em cache. Você poderá precisar aguardar um pouco para que sejam exibidas.
- Português (Brasil)
- English (US)
- العربية
- Français (France)
- Bahasa Indonesia
- Русский
- Español