Passar para o conteúdo principal

Mobile SDK - Perguntas Frequentes

Respondendo às perguntas mais frequentes

Escrito por Eric Fitzgerald

Geral

Qual é o tamanho dos SDKs móveis do Intercom?

O tamanho dos SDKs varia, mas os tamanhos dos Mobile SDKs são aproximadamente:

  • iOS: ~9mb

  • Android: ~7mb (diminuirá na instalação com quaisquer dependências compartilhadas, etc.)

Isso vai variar conforme a configuração.


Plataformas e suporte

Vocês têm suporte para Xamarin?

Não, você terá que contar com bibliotecas da comunidade se for necessário.

Vocês têm suporte para React Native?

Temos! Nosso wrapper React Native foi lançado em 24 de junho de 2021. Informações de instalação podem ser encontradas em nossos Developer Docs aqui.

Vocês têm suporte para Ionic?

Oficialmente, não suportamos Ionic. No entanto, o Intercom pode funcionar com Ionic 1 e 2. Para usar o Intercom com Ionic, execute o seguinte:

cordova plugin add cordova-plugin-intercom

Certifique-se de inicializar o Intercom corretamente.

Ionic 1

Para Ionic 1, você pode usar o Intercom assim:

.run(function($ionicPlatform) {

$ionicPlatform.ready(function() {

cordova.plugins.intercom.registerIdentifiedUser({userId: "123456"});

cordova.plugins.intercom.setLauncherVisibility('VISIBLE');

});

})

Ionic 2

Para Ionic 2, você precisa adicionar a seguinte variável ao seu app.component.ts:

declare var cordova:any;

Você pode então usar o Intercom assim:

this.platform.ready().then(() => {

cordova.plugins.intercom.registerIdentifiedUser({userId: "12345"});

cordova.plugins.intercom.setLauncherVisibility('VISIBLE');

});

Lembre-se de que este método de instalação não é oficialmente suportado.

Existe uma versão mínima do iOS SDK exigida?

Para receber atualizações do Intercom iOS SDK, você precisará ter a versão mínima do iOS 13. Dito isso, continuaremos a suportar clientes em versões anteriores do iOS, porém, nenhuma atualização será feita para essas versões legadas.

Vocês criam patches para versões antigas dos seus SDKs?

Não fornecemos patches para versões antigas dos nossos SDKs. Todas as correções e atualizações estão incluídas na última versão.

Nota: Atualizações do Mobile SDK não ocorrem automaticamente. Sua equipe de desenvolvimento deve atualizar manualmente para a versão mais recente do SDK para acessar novos recursos e correções de bug.


Recursos

O Messenger funciona em aplicativos móveis?

Sim! Mas o Messenger funciona de forma um pouco diferente em aplicativos móveis, comparado ao desktop. Este artigo explica como atualizar seus SDKs para funcionar com o novo Messenger e quais recursos são suportados em apps iOS e Android.

O que está disponível com o Messenger em apps móveis?

Quando visitantes ou users acessam o Messenger no seu app iOS ou Android, eles poderão interagir com os espaços Help e Messages se você os tiver ativado, assim como apps que você adiciona ao seu Home Space - para que possam fazer mais do que apenas conversar.

Eles também poderão iniciar conversas com você e enviar tickets.

Seus clientes podem enviar imagens, GIFs e vídeos no mobile. No iOS, upload de arquivos (além de imagens/GIFs/vídeos) é suportado desde o SDK v18.2.0, com upload múltiplo adicionado na v19.6.0.

O Intercom mobile SDK suporta múltiplos idiomas?

Quando o Intercom é carregado no seu app móvel, o idioma do user é detectado com base no idioma do sistema operacional. O Messenger será carregado no idioma do user se ele for suportado no seu workspace. Se seu workspace não suportar o idioma, o Messenger será carregado no idioma padrão do workspace.

O Intercom não rastreia automaticamente o idioma do user móvel em um atributo no perfil como fazemos para web. Para users carregados no Messenger na web, o Intercom rastreia o idioma no atributo "Browser language", que é aplicável apenas a integrações web.

Se quiser direcionar conteúdo outbound para users móveis baseado no idioma, você precisará configurar o rastreamento você mesmo. Pode usar o atributo language_override para rastrear o idioma do user móvel, ou criar um atributo customizado para isso.

O Intercom mobile SDK suporta upload de vídeo no mobile?

Upload de vídeo é suportado tanto nos SDKs Android quanto iOS. No iOS, upload de vídeo é suportado desde o SDK v10.3.1, com captura de foto e vídeo pela câmera adicionada na v13. No Android, upload de vídeo também é suportado. Usuários finais podem enviar imagens, GIFs e vídeos em ambas as plataformas.

Os mobile SDKs suportam idiomas da direita para a esquerda (RTL)?

Atualmente, não suportamos oficialmente RTL nos mobile SDKs. Porém, recursos mais novos nos SDKs, como o Help Center, suportam RTL, por isso você verá referência a RTL em versões recentes dos SDKs. Planejamos suportar RTL totalmente no futuro, mas por enquanto não suportamos.

Como posso usar o Intercom para exibir anúncios como uma splash screen?

O Intercom não oferece um recurso específico de splash screen, mas você pode usar mensagens outbound como Chats e Posts para conseguir efeito similar. Chats podem anunciar algo para seus clientes via Intercom Messenger e incentivá-los a iniciar uma conversa. Posts podem fazer um anúncio no seu produto que chama atenção imediata dos clientes e podem ser enviados em dois tamanhos, Pequeno ou Grande.

Posso enviar mensagens para telas específicas no meu app móvel?

Não é possível enviar uma mensagem para users do seu app móvel em telas específicas.

Como alternativa, você pode começar a rastrear um atributo customizado, vamos chamar de 'current_screen', e atualizar esse atributo com um identificador (nome ou ID) da tela sempre que seus users navegarem para outra tela no app móvel. Isso pode ser feito para todas as telas, ou apenas para as que você pretende segmentar com uma mensagem automática.

Após implementar o atributo, você pode configurar a regra 'current_screen is splashScreen' no seu público-alvo para enviar mensagem apenas para users que estiverem na splash screen.

O Intercom rastreia algum atributo extra sobre users via mobile SDKs?

Uma vez que o SDK móvel esteja instalado em um workspace, atributos extras estarão disponíveis principalmente na interface web

Para iOS/Android

  • É móvel não identificado

    • usuários não identificados são aqueles que não fizeram login com email/user_id (semelhante a leads na integração web, mas lembre-se que todos os registros do SDK móvel são users)

  • Mensagens Push Ativadas

    • indica que o registro possui um device token e, portanto, pode receber mensagens/notifications push

Nota: O atributo do SDK móvel 'Enabled Push Messaging' é sempre definido como 'True' ou 'Unknown'. Se um usuário tem um device token associado ao seu perfil, 'Enabled Push Messaging' retornará true. Caso contrário, retornará 'Unknown'.

Para Android

  • Última visualização no android

  • Sessões Android

  • Versão do app Android

  • Dispositivo Android

  • Versão do os Android

Para iOS

  • Última visualização no ios

  • Sessões Ios

  • Versão do app Ios

  • Dispositivo Ios

  • Versão do os Ios

Quando as sessões móveis são incrementadas?

  • iOS

    • Incrementamos a contagem de sessões iOS na primeira vez que um usuário é registrado

    • E subsequentemente em cada UIApplicationDidBecomeActiveNotification que é acionado quando um usuário abre seu app, desde que ocorram com vinte segundos de intervalo.

    • Aberturas do aplicativo em menos de vinte segundos não são contabilizadas.

  • Android: segue regras similares

Existe diferença nos atributos do tipo App Version?

  • A versão do app iOS é do tipo string

  • A versão do app Android é do tipo "version", permitindo maior que e menor que

Product Tours funcionam no mobile?

Product Tours permitem criar experiências guiadas dentro do app para seus clientes, para que você possa aumentar a adoção.

Product Tours funcionam apenas no desktop. Atualmente não funcionam em dispositivos móveis (incluindo tablets) no navegador ou em apps móveis.

Workflows funcionam no mobile?

Sim, Workflows funcionam no mobile via os SDKs iOS e Android. Alguns tipos de etapas não estão disponíveis no mobile — para uma lista completa das ações compatíveis, veja compatibilidade de canais no artigo de Workflows.

Existem problemas conhecidos de conectividade para clientes no Vietnã?

Sim, existem.

Se você ou seus clientes localizados no Vietnã estão tendo problemas de conectividade com o domínio intercom.com em nossos SDKs móveis, você pode substituir o nome de domínio padrão seguindo estes passos:

Android

Adicione o seguinte meta-dado no AndroidManifest.xml do seu app:

<meta-data
android:name="io.intercom.android.sdk.host"
android:value=".intercom-messenger.com" />

iOS

Adicione este atributo no seu Info.plist:

Key: IntercomCustomURL
Type: String
Value: intercom-messenger.com

Com essa alteração, todas as requisições API passarão por intercom-messenger.com em vez de mobile-messenger.intercom.com.

Isso é suportado no Android SDK 9.1.2+ e iOS SDK 13+.

Como as notificações push são enviadas pelo Intercom?

Embora existam diferenças entre como Apple e Android lidam com push, os princípios são os mesmos ilustrados abaixo

  1. Solicitação de token de dispositivo para push: Quando um app quer usar notificações push e um usuário aceita o diálogo de permissões, uma solicitação é enviada ao serviço de push relevante para um token de dispositivo push. Esse token é o 'endereço', permitindo que o serviço de push entregue uma notificação push a um dispositivo específico quando solicitado (semelhante a um endereço de email)

  2. Token de dispositivo push enviado: Se a solicitação for válida, o serviço de push retornará um token válido para o dispositivo.

  3. Token de dispositivo push enviado para o Intercom Um token deve ser enviado do dispositivo para outro serviço para ser usado no push. Pode ser enviado para o servidor do desenvolvedor do app, para o Intercom, para outro terceiro, ou todos os anteriores. Quando esse token é recebido pelo Intercom, nós o associamos ao registro do usuário.

  4. Pacote de push enviado do Intercom para Apple/Google Quando uma notificação push deve ser enviada, as seguintes informações precisam ser enviadas para os servidores de push da Apple/Google:

    1. Token do Dispositivo

    2. Detalhes da notificação (ex.: logo, título, corpo)

    3. Detalhes de autenticação (que nos permitem enviar push em nome do app: é aqui que os certificados Apple iOS e as chaves Google Android GCM/FCM entram em jogo e precisam ser atualizados no painel de Configurações do Intercom)

  5. Notificação push enviada para o dispositivo

    1. Se o Intercom autenticar no serviço de push para um token específico, o push será enviado para o dispositivo

    2. Os serviços de push usam Qualidade de Serviço (QOS)

Como personalizar o ícone de push no iOS?

Os ícones de notificação push são configuráveis no Xcode via Assets > AppIcon

image.png


Usando os SDKs móveis do Intercom

É possível inicializar / alternar múltiplos app_ids dinamicamente?

Atualmente não é possível alternar entre múltiplos ids no Android. Intercom.registerForLaterInitialisation(this) permite apenas inicialização posterior, mas não é destinado para alternar app ids.

No entanto, isso funciona no iOS.

Os SDKs móveis Android/iOS mantêm dados de sessão ao desinstalar e reinstalar o app?

Não, eles não mantêm.

  • Para iOS: os apps são sandbox, então a nova instalação não terá conhecimento de nenhuma instalação anterior.

  • Para Android: todos os dados serão apagados na desinstalação.

Se um app for atualizado, por exemplo, via App/Play Store ou em modo de desenvolvimento, os dados da sessão serão mantidos.

Como o Intercom armazena dados de sessão no dispositivo móvel de um app que usa nosso SDK?

Armazenamos um arquivo identity.icm que contém um UserId anônimo para usuários não identificados. Para usuários identificados, armazenamos seu email (se fornecido), seu userid e intercom id. Usamos isso para evitar re-registrar um usuário previamente registrado. Em termos de sessão e se criamos uma nova, isso é determinado pelo intervalo de tempo desde a última sessão. O padrão aqui é 20 segundos. Não armazenamos nada no disco para rastrear isso.

O SDK Android pode ser instalado em um app que não tenha Google Play Services, ou seja, o app é instalado via Huawei App Gallery em vez do Google Play Store?

Não, Google Play Services são necessários para nosso SDK Android.

Onde posso encontrar minha chave Mobile API?

Suas chaves Mobile API podem ser encontradas ao passar o mouse sobre a foto do seu avatar no canto inferior esquerdo da tela quando estiver logado no Intercom, e então escolher Configurações > Instalação > iOS / Android:

Além disso, se você ainda não conferiu nossos guias de instalação para iOS, Android e/ou Cordova, React Native, recomendamos a leitura! 😊

Posso importar device tokens para o Intercom?

Não, device tokens não podem ser importados para o Intercom.

Como posso gerenciar sessões de usuários e autenticação com o SDK Android do Intercom, e quais são as melhores práticas para lidar com o estado do usuário?

O SDK Android do Intercom gerencia sessões de usuários internamente. Uma vez que o usuário faça login usando Intercom.loginIdentifiedUser(), a sessão é mantida, e não há necessidade de reautenticar o usuário toda vez que o app inicia. O SDK armazena o estado de login localmente e o mantém até que você chame explicitamente Intercom.logout().

Para manter a lógica do seu app sincronizada com o Intercom, certifique-se de fazer login no Intercom ao mesmo tempo que faz login no seu app, e chame Intercom.logout() quando o usuário sair. Isso mantém o estado de autenticação alinhado entre seu sistema e o Intercom.

Você pode opcionalmente armazenar dados do usuário (ex.: ID, email) no seu app para ajudar a gerenciar o estado atual da sessão, mas o Intercom não exige que você re-armazene ou re-identifique o usuário, a menos que o app seja reinstalado ou o usuário faça logout explicitamente.

Por que o botão voltar envia o usuário de volta para a tela inicial quando ele seleciona uma notificação push da barra de notificações?

A atividade launcher do seu app não é adicionada à pilha de retorno, então ao selecionar o botão voltar após selecionar uma notificação de uma Mensagem do Intercom, o cliente retorna para a tela inicial em vez da tela do app que foi aberta para mostrar o Messenger.

Por que os usuários finais não conseguem enviar imagens para o SDK móvel Android?

Se um usuário final não consegue enviar imagens para o SDK móvel, normalmente é um problema de permissões para ler a biblioteca de fotos do dispositivo. Quando o SDK tenta abrir o seletor, iOS/Android informa que o acesso foi negado, então os envios não podem prosseguir.

  • Versões mais recentes do Android solicitam permissão ao selecionar recursos extras como acesso a arquivos/imagens.

    image.png
  • Se for negado, pode aparecer novamente, mas caso contrário, os clientes terão que verificar as permissões do app para habilitar manualmente.

image.png

Não são necessárias permissões adicionais de armazenamento para anexos de imagem no Android 10 ou superior. O SDK usa o seletor de fotos do sistema e APIs de armazenamento restrito, que gerenciam o acesso sem exigir permissões explícitas. Verifique se seu app não está negando explicitamente o acesso à biblioteca de fotos no gerenciamento de permissões.

Respondeu à sua pergunta?