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 da Intercom?

O tamanho dos SDKs varia, mas os tamanhos dos Mobile SDK 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 precisar.

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, 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 requerida do iOS SDK?

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 apps móveis?

Sim! Mas, o Messenger funciona de forma um pouco diferente em apps 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 e GIFs, mas o upload de outros arquivos não é suportado atualmente no mobile.

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 seu workspace.

O Intercom não rastreia automaticamente o idioma do user móvel em um atributo no perfil dele 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 você quiser direcionar conteúdo outbound para users móveis baseado no idioma, precisará configurar o rastreamento você mesmo. Você pode usar o atributo language_override para rastrear o idioma do user móvel, ou criar um atributo customizado para rastrear o idioma.

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

No momento, suportamos upload de vídeo no Android SDK.

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

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

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 ser usados para anunciar algo aos seus clientes via Intercom Messenger e incentivá-los a iniciar uma conversa. Posts podem ser usados para fazer um anúncio no seu produto que chamará imediatamente a atenção dos seus 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.

No entanto, como solução alternativa, você pode começar a rastrear um atributo customizado, vamos chamá-lo de 'current_screen', e então atualizar esse atributo com um identificador (ex. um nome ou um ID) da tela sempre que seus users navegarem para uma tela diferente no seu app móvel. Isso pode ser feito para todas as telas, ou talvez apenas para aquelas que você pretende direcionar 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 uma 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

  • Is mobile unidentified

    • 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)

  • Enabled Push Messaging

    • indica que o registro possui um device token e, portanto, pode receber push messaging/notificações

Nota: O atributo do SDK móvel 'Enabled Push Messaging' só é definido como 'True' ou 'Unknown'. Se um usuário tiver 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 acionado quando um usuário abre seu app, desde que ocorram com intervalo de vinte segundos.

    • 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

Os 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.

Os Workflows funcionam no mobile?

Sim, funcionam.

Existem problemas conhecidos de conectividade para clientes no Vietnã?

Sim, existem.

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

Android

Adicione os seguintes meta-dados 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 para 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 para push enviado ao 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, funcionará 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 usando 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 o re-registro de 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 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 um usuário faça login usando Intercom.loginIdentifiedUser(), a sessão é persistida, 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 logar o usuário no Intercom ao mesmo tempo que no seu app, e chame Intercom.logout() quando ele 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 abrir 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

Se você também estiver vendo o erro "Você negou acesso às suas fotos" / Sem permissão de armazenamento

Bloco ausente: uses-permission

Sem essas permissões, não haverá permissão "Armazenamento" disponível

image.png

Permissões corretas

Android Permissões Corretas.png
Respondeu à sua pergunta?