O Freshchat SDK contém uma fatia para a arquitetura arm64 e suporta apenas iOS 8.0 e superior. Siga as etapas abaixo para integrar o Freshchat ao seu aplicativo iOS
Obtenha seu APP ID, APP Key e Domain
Sua conta do Freshchat está associada a um ID de APP exclusivo e a uma chave de APP que é usada para integrar seu SDK móvel ao Freshchat.
Vá para Admin > Mobile SDK . Você pode encontrar seu APP ID , APP Key e Domain aqui.
1. Adicione o Freshchat SDK ao seu projeto
Adicione o Freshchat ao seu projeto em uma única etapa, atualizando seu podfile para incluir o Freshchat .
Objetivo C
Importe "FreshchatSDK.h" em seu arquivo AppDelegate.m
Rápido
Importe "FreshchatSDK.h" em seu arquivo de cabeçalho de ponte.
Ou, se você não estiver usando cocoapods, poderá adicionar o Freshchat SDK aqui ( https://github.com/freshworks/freshchat-ios ) e arrastar e soltar a pasta FreshchatSDK.xcframework em um projeto. A adição de estruturas necessárias para arrastar e soltar são -
"Fundação", "AVFoundation", "AudioToolbox", "CoreMedia", "CoreData", "ImageIO", "Fotos", "Configuração do Sistema", "Segurança", "WebKit", "CoreServices"
Defina os sinalizadores "-all_load", "-objC" em Configurações do projeto, Geral > Configurações de compilação > Outros sinalizadores do vinculador.
2. Inicialize o SDK
Inicialize o Freshchat colando o seguinte snippet em seu didFinishLaunchingWithOptions em AppDeleage.m ou AppDelegate para ObjC e Swift, respectivamente.
Objetivo C
Rápido
2.1. Inicializar opções de configuração
Você pode ativar/desativar recursos como mensagens multimídia na inicialização. Use o snippet abaixo antes de chamar o método initWithConfig: para configurar os recursos do Freshchat conforme necessário.
Objetivo C
Rápido
3. Informações do usuário
3.1 Atualizar as informações do usuário
Você pode obter informações básicas do usuário a qualquer momento para fornecer mais contexto sobre o usuário quando seus agentes de suporte estiverem trocando mensagens com eles.
/*
* Os três métodos a seguir são para identificar um usuário.
* Essas propriedades do usuário poderão ser visualizadas no painel da Web do Freshchat.
*/
Objetivo C
Rápido
3.2 Atualizar Propriedades do Usuário (Metadados)
Você pode capturar e enviar metadados adicionais sobre o usuário e os eventos no aplicativo, o que também se torna uma forma de segmentar seus usuários para posteriormente enviar mensagens para eles.
Objetivo C
Rápido
3.3 Registrar eventos do usuário na linha do tempo
O rastreamento de eventos do usuário fornecerá mais informações e contexto sobre o(s) usuário(s) em seu aplicativo. Eventos como ações do usuário e casos de falha/erro podem ser rastreados usando esta API. Os eventos rastreados são listados na Linha do tempo de eventos no lado do agente.
Objetivo C
Rápido
Observação:
1. O Freshchat permite apenas 121 eventos únicos por conta.
2. O nome do evento aceita valor de string (máximo de 32 caracteres).
3. O nome da chave de propriedade deve ser do tipo string (máximo de 32 caracteres).
4. O valor da propriedade pode ser de qualquer tipo de objeto primitivo (máximo de 256 caracteres).
5. O Freshchat permite enviar no máximo 20 propriedades por evento.
3.4 Redefinir dados do usuário
Redefina os dados do usuário ao sair ou quando for considerado apropriado com base na ação do usuário no aplicativo invocando a API resetUser.
Objetivo C
Rápido
3.5 Restaurar conversas do usuário em navegadores/dispositivos
Para reter mensagens de bate-papo em dispositivos/sessões/plataformas, o aplicativo móvel precisa passar o mesmo id externo e restaurar a combinação de id para o usuário. Isso permitirá que os usuários capturem a conversa de qualquer uma das plataformas suportadas - Android, iOS e Web.
- ID externo - deve (idealmente) ser um identificador exclusivo para o usuário do seu sistema, como um ID de usuário ou ID de e-mail, etc.
Observação: a ID externa não pode ser alterada depois de definida para um usuário.
- Restaurar ID - Isso é gerado pelo Freshchat para o usuário atual, dado que um ID externo foi definido e pode ser recuperado a qualquer momento usando a API [FreshchatUser sharedInstance].restoreID.
Observação: a ID de restauração deve ser armazenada em seu back-end e você pode implementar a lógica para recuperá-la para restaurar as conversas.
O aplicativo armazena a combinação de id externo e ID de restauração no Freshchat SDK para continuar a conversa em sessões no mesmo dispositivo ou em diferentes dispositivos e plataformas.
Observação: as notificações são suportadas em apenas um dispositivo móvel a qualquer momento. No momento, é o último dispositivo restaurado ou dispositivo com o último token push atualizado.
Objetivo C
Rápido
4. Inicie a experiência de suporte
Use os snippets a seguir para iniciar as perguntas frequentes ou a experiência de suporte baseada em conversas a partir de uma frase de chamariz em seu aplicativo. Sua frase de chamariz ou ponto de entrada pode ser um botão na tela ou um item de menu.
4.1 Conversas
Para abrir a lista de conversas do Freshchat ou uma única sobreposição de conversa a qualquer momento, você precisa usar showConversations: API.
Por exemplo, para exibir a sobreposição de feedback ao pressionar um botão, o método de destino em uma classe ViewController pode ser semelhante a:
Objetivo C
Rápido
4.1.1 Filtrar Tópicos
Diferentes conjuntos de tópicos podem ser exibidos para diferentes tipos de usuários ou em diferentes telas usando tags para filtrar tópicos. Isso pode ser configurado e passado para o método ConversationsOptions().
Objetivo C
Rápido
As contactUsTags também podem ser usadas para mostrar um conjunto diferente de Tópicos quando o usuário vem da seção de autoajuda.
Nota: Para os Tópicos não correspondentes, o usuário será redirecionado para o Tópico padrão.
4.1.2 Contagem não lida
Se você deseja indicar aos usuários que eles têm mensagens não lidas em suas caixas de entrada, você pode recuperar a contagem não lida para exibição. Block retorna um int indicando o número de mensagens não lidas para o usuário.
Objetivo C
Rápido
O aplicativo também pode optar por ouvir as alterações na contagem não lida quando o aplicativo estiver aberto.
Objetivo C
Rápido
Observação: no SDK v1.5.0, o nome do evento de contagem não lida foi alterado de FRESHCHAT_UNREAD_MESSAGE_COUNT para FRESHCHAT_UNREAD_MESSAGE_COUNT_CHANGED
4.2. perguntas frequentes
Para exibir a sobreposição de perguntas frequentes do Freshchat a qualquer momento, use a API showFAQs().
Por exemplo, se você deseja exibir a sobreposição de feedback ao pressionar um botão, o método de destino em uma classe ViewController pode ser semelhante a:
Objetivo C
Rápido
4.2.1 Opções de perguntas frequentes
Personalizações para o fluxo de FAQ podem ser obtidas especificando as opções relevantes na instância FaqOptions passada para a API showFAQs().
Objetivo-C:
FAQOptions *options = [FAQOptions novo ];
opções.showFaqCategoriesAsGrid = SIM ; // Mostrar FAQ em grade formal, NÃO para exibição de lista
opções.showContactUsOnFaqScreens = SIM ; // Mostrar opção de chat na seção de perguntas frequentes
opções.showContactUsOnFaqNotHelpful = SIM ; // Mostrar contato nos detalhes do artigo quando o usuário selecionar Não útil
opções.showContactUsOnAppBar = SIM ; // Mostra a opção de bate-papo na barra de navegação na visualização da categoria de FAQ ou na visualização da lista de artigos
[[ Freshchat sharedInstance]mostrarFAQs: self withOptions:options];
Rápido :
deixe opções = FAQOpções. inicializar ()
options.showFaqCategoriesAsGrid = true // Mostrar FAQ na grade formal, false para exibição de lista
options.showContactUsOnFaqScreens = true // Mostrar opção de chat da seção de perguntas frequentes
options.showContactUsOnFaqNotHelpful = true // Mostrar contato nos detalhes do artigo quando o usuário selecionar Não útil
options.showContactUsOnAppBar = true // Mostra a opção de bate-papo na barra de navegação na exibição da categoria de perguntas frequentes ou na exibição da lista de artigos
Freshchat.sharedInstance().showFAQs( self , com: opções)4.2.2 Perguntas frequentes sobre filtragem
Você pode filtrar e exibir apenas as perguntas frequentes marcadas com um termo específico em determinadas telas ou apenas para alguns usuários, como clientes conectados versus visitantes. Essas tags podem ser configuradas no painel.
Por exemplo, para exibir as perguntas frequentes relacionadas à falha de pagamento, apenas nessa página, as perguntas frequentes específicas podem ser marcadas com "pagamento" e "faturamento". Eles podem então ser filtrados e exibidos para os usuários.
Filtragem de perguntas frequentes com artigo
Objetivo C
Rápido
Filtragem de perguntas frequentes com categoria
Você também pode filtrar categorias por tags. Isso mostrará uma visualização filtrada das categorias (nas quais os artigos seriam listados). Isso é útil para mostrar diferentes conjuntos de categorias para diferentes clientes (por exemplo, Clientes Pagos Vs Clientes Gratuitos).
Objetivo C
Rápido
Observação: quando você filtra um artigo por tags, as tags de categoria (à qual o artigo pertence) também são aplicáveis.
4.2.3 Filtrar Tópicos exibidos ao clicar em "Fale Conosco" nas FAQs por tags
Para filtrar e exibir apenas tópicos marcados com um termo específico quando o usuário clicar em "Fale conosco" nas telas de FAQ, use a API filterContactUsByTags na instância FAQOptions passada para a API showFAQs() conforme abaixo.
Observação: o comportamento padrão para "Fale conosco" no fluxo de perguntas frequentes é o mesmo que invocar showConversations(), ou seja, ele exibirá todos os principais marcados como "Visível para todos os usuários", exceto quando a filtragem de tópicos estiver habilitada passando tags para filterContactUsByTags API.
Objetivo C
Rápido
5. API de envio de mensagem
O aplicativo pode enviar uma mensagem em nome do usuário usando o sendMessage: API. Ele enviará uma mensagem silenciosamente e não iniciará a interface do usuário do Freshchat SDK. Essa API pode ser útil para definir mais contexto para os clientes antes de iniciar uma conversa.
Objetivo C
Rápido
Nota: Se não houver tópicos correspondentes, a mensagem será enviada para o tópico padrão. Se houver vários tópicos correspondentes, a mensagem será enviada para o tópico mais antigo.
6. Notificações push
O Freshchat suporta certificado(s) .p12 apenas para enviar notificações por push para mensagens ou campanhas do usuário. Você pode criar um certificado push do iOS em algumas etapas.
O Freshchat SDK é capaz de receber notificações push para todas as conversas do usuário. Para ativá-lo, adicione a API setPushRegistrationToke ao método didRegisterForRemoteNotificationsWithDeviceToken delegado do seu aplicativo da seguinte maneira.
Objetivo C
Rápido
Para lidar com mensagens de notificação por push no estado ativo ou em segundo plano, adicione o seguinte método no método delegado didReceiveRemoteNotification ou didFinishLaunchingWithOptions, respectivamente.
Objetivo C
Rápido
Observação: isFreshchatNotification retorna um BOOL. Se a notificação remota não foi enviada pelo Freshchat, ela retorna NÃO e você pode inserir o código para lidar com outras notificações com base nessa verificação.
6.1 Estrutura UNUserNotification
Este é o novo método de configuração de notificações push do iOS 10.1. Abordagens mais antigas funcionarão, mas estão obsoletas.
Se você estiver usando UserNotifications.framework para lidar com notificações, verifique se está lidando com notificações do Freshchat nos métodos willPresent e didReceive , conforme mostrado abaixo.
Objetivo C
Rápido
7. Localização de idioma
7.1 Suporte a idiomas da direita para a esquerda
O Freshchat SDK suporta idiomas RTL (árabe).
Defina o valor 'NSTextAlignmentNatural' para UserMessageTextStyle/TeamMemberMessageTextStyle textAlignment para oferecer suporte a mensagens de conversa para idiomas RTL.
7.2 Mudança de localidade em tempo de execução
Se seu aplicativo oferecer suporte à alteração de localidade de tempo de execução, adicione o nome de notificação local FRESHCHAT_USER_LOCALE_CHANGED ao seu método de alteração de localidade.
Objetivo C
Rápido
7.3 Localização de strings
Todas as strings usadas na interface do usuário do Freshchat SDK podem ser personalizadas e localizadas em vários idiomas.
Você pode fazer o seguinte para personalizar seu SDK.
Criando um pacote
Localize o FCLocalization.bundle no pod FreshchatSDK ou baixe o FCLocalization.bundle aqui . Você pode renomear o arquivo para um nome personalizado.
A estrutura da pasta bundle seria a seguinte,
Exemplo de estrutura de pacote contendo strings para inglês, francês e alemão.
YouCustomBundle.bundle
-en.Iproj
- FCLocalizable.strings
-fr.Iproj
- FCLocalizable.strings
-de.Iproj
- FCLocalizable.strings
Mudando as cordas
Para alterar uma string específica usada na IU do SDK, basta atualizar a chave apropriada em FCLocalizable.strings. Os nomes-chave no arquivo são categorizados por interface do usuário e as chaves usadas são autoexplicativas.
- Faça o mesmo para todos os idiomas que deseja oferecer suporte
- O SDK vem apenas em inglês no momento, mas você poderá usar traduções para qualquer idioma que desejar.
Vinculando ao projeto
Depois de alterar todas as strings necessárias nos idiomas que você oferece suporte, vincule-o em “Build Phases” > “Copy Bundle Resources”.
- Ao inicializar o SDK, especifique o nome do pacote como parte da configuração do Freshchat.
- Defina seus recursos de pacote personalizados
Objetivo C
Rápido
Observação:
1. O nome do pacote diferencia maiúsculas de minúsculas
2. A extensão .bundle não é necessária
8. Personalização
8.1 Opções de personalização da interface do usuário
Modifique nosso arquivo de tema padrão FCTheme.plist para personalizar a interface ou você pode vincular seu próprio tema personalizado
arquivo para o SDK usando o trecho de código a seguir.
Objetivo C
Rápido
Para personalização em nível de componente individual, siga nosso guia de temas.
teste
Depois de fazer as alterações, execute o aplicativo para verificar as alterações na IU do SDK.
8.2 Interceptar e manipular links não Freshchat no aplicativo
O Freshchat fornece uma maneira de lidar com todos os cliques de hiperlinks não Freshchat por aplicativos.
Adicione o código abaixo em seu controlador de exibição onde você está iniciando o suporte do Freshchat ou na classe AppDelegate
Para Objetivo C:
Para Swift:
9. Outras Notas
9.1 Lista de Verificação para Lançamento
Certifique-se de ter o SDK mais recente.
Certifique-se de inicializar o SDK ao iniciar o aplicativo: didFinishLaunchingWithOptions: function.
Verifique se a notificação por push está funcionando corretamente quando o aplicativo está em primeiro plano, segundo plano e no estado eliminado com o certificado de produção.
Veja nosso documento de temas e personalização aqui para garantir que você está combinando a experiência com o resto do seu aplicativo.
Configure o nome do tópico padrão e a mensagem de boas-vindas, mesmo se você não estiver usando outros tópicos.
Capture o identificador exclusivo do usuário, e-mail, número de telefone ou qualquer outro identificador exclusivo do cliente com o SDK para garantir o uso tranquilo das APIs, bem como para o melhor uso do nosso recurso "Smart Plugs" no painel.
Certifique-se de que as notificações por push estejam funcionando para novas instalações, bem como atualizações de suas versões anteriores.
9.2 Compatibilidade com iOS 10
A partir do iOS 10, a Apple exige que os desenvolvedores declarem o acesso a controles sensíveis à privacidade com antecedência.
Para atender a esse novo requisito de privacidade, os desenvolvedores devem adicionar as chaves necessárias ao Info.plist,
"NSPhotoLibraryUsageDescription" e "NSCameraUsageDescription"
Além disso, também registraremos uma mensagem de aviso no console do XCode se você não tiver adicionado as chaves necessárias.
Aviso!
Se isso falhar, o iOS 10 sairá do aplicativo travando quando um usuário tentar acessar os controles do microfone, câmera ou biblioteca de fotos.
Para mais informações, clique aqui .
9.3 Problema do simulador do iOS 10
O SDK do Freshchat depende dos serviços de chaves. Os simuladores Xcode 8.0 (8A218a) / iOS 10 têm um problema com os serviços de chaves, que não permitem que o SDK recupere dados da loja quando não há "direitos" configurados. Para corrigir isso na página de recursos do projeto, ative o recurso de notificações por push (e selecione "corrigir problema" se algum problema aparecer). Esta é uma solução alternativa para garantir que haja um arquivo de autorização válido para o projeto (que o simulador requer para funcionar corretamente) e, uma vez que o teste seja concluído, você pode descartar essas alterações.
Hospedamos um projeto de amostra que você pode usar para experimentar nossas APIs de SDK.
Ele pode ser acessado no seguinte link: https://github.com/freshdesk/freshchat-ios/tree/master/Sample
Recentemente, atualizamos nossa marca em nossas ofertas e alteramos os nomes de nossos planos de preços. Se você se inscreveu antes de 9 de agosto de 2021, clique em Planos anteriores para visualizar seus planos aplicáveis.
Garantimos que essa alteração não afetará sua experiência com o produto e nenhuma ação é necessária de sua parte.
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo