Passer au contenu principal

Mobile SDK - FAQ

Répondre aux questions les plus posées

Écrit par Eric Fitzgerald

Général

Quelle est la taille des SDK mobiles Intercom ?

La taille des SDK varie, mais les tailles des Mobile SDK sont approximativement :

  • iOS : ~9 Mo

  • Android : ~7 Mo (réduira à l'installation avec les dépendances partagées, etc.)

Cela dépendra de la configuration.


Plateformes et support

Avez-vous un support Xamarin ?

Non, vous devrez vous appuyer sur des bibliothèques communautaires si nécessaire.

Avez-vous un support React Native ?

Oui ! Notre wrapper React Native a été publié le 24 juin 2021. Les informations d'installation se trouvent dans nos Developer Docs ici.

Avez-vous un support Ionic ?

Officiellement, nous ne supportons pas Ionic. Cependant, Intercom peut fonctionner avec Ionic 1 & 2. Pour utiliser Intercom avec Ionic, exécutez ce qui suit :

cordova plugin add cordova-plugin-intercom

Assurez-vous d'initialiser correctement Intercom.

Ionic 1

Pour Ionic 1, vous pouvez utiliser Intercom ainsi :

.run(function($ionicPlatform) {

$ionicPlatform.ready(function() {

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

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

});

})

Ionic 2

Pour Ionic 2, vous devez ajouter la variable suivante à votre app.component.ts :

declare var cordova:any;

Vous pouvez ensuite utiliser Intercom ainsi :

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

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

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

});

Gardez à l'esprit que cette méthode d'installation n'est pas officiellement supportée.

Y a-t-il une version minimale requise du SDK iOS ?

Pour recevoir les mises à jour du SDK iOS Intercom, vous devez avoir au minimum iOS 13. Cela dit, nous continuerons à supporter les clients sur des versions antérieures d'iOS, mais aucune mise à jour ne sera faite pour ces versions anciennes.

Créez-vous des correctifs pour les anciennes versions de vos SDK ?

Nous ne fournissons pas de correctifs pour les anciennes versions de nos SDK. Toutes les corrections et mises à jour sont incluses dans la dernière version.

Note : Les mises à jour des Mobile SDK ne se font pas automatiquement. Votre équipe de développement doit mettre à jour manuellement vers la dernière version du SDK pour accéder aux nouvelles fonctionnalités et corrections de bug.


Fonctionnalités

Le Messenger fonctionne-t-il dans les applications mobiles ?

Oui ! Mais, le Messenger fonctionne légèrement différemment dans les applications mobiles par rapport au bureau. Cet article explique comment mettre à jour vos SDK pour fonctionner avec le nouveau Messenger, et quelles fonctionnalités sont supportées sur les applications iOS et Android.

Qu'est-ce qui est disponible avec Messenger dans les applications mobiles ?

Lorsque les visiteurs ou users accèdent au Messenger sur votre application iOS ou Android, ils pourront interagir avec les espaces Help et Messages si vous les avez activés, ainsi qu'avec les applications que vous ajoutez à votre Home Space - pour qu'ils puissent faire plus que discuter.

Ils pourront également démarrer des conversations avec vous et soumettre des tickets.

Vos clients peuvent envoyer des images et des GIFs, mais le téléchargement d'autres fichiers n'est pas encore supporté sur mobile.

Le Mobile SDK Intercom supporte-t-il plusieurs langues ?

Lorsque Intercom est chargé dans votre application mobile, la langue de l'utilisateur est détectée en fonction de la langue du système d'exploitation. Le Messenger se chargera dans la langue de l'utilisateur si elle est supportée dans votre workspace. Si votre workspace ne supporte pas leur langue, le Messenger se chargera dans la langue par défaut de votre workspace.

Intercom ne suit pas automatiquement la langue des users mobiles dans un attribut de leur profil comme nous le faisons pour le web. Pour les users chargés dans le Messenger sur le web, Intercom suit leur langue dans l'attribut « Browser language », qui est applicable uniquement aux intégrations web.

Si vous souhaitez cibler du contenu sortant vers les users mobiles en fonction de la langue, vous devrez configurer le suivi vous-même. Vous pouvez soit utiliser l'attribut language_override pour suivre la langue des users mobiles, soit créer un attribut personnalisé pour suivre la langue.

Le Mobile SDK Intercom supporte-t-il le téléchargement de vidéos sur mobile ?

Pour le moment, nous supportons le téléchargement de vidéos sur le SDK Android.

Les Mobile SDK supportent-ils les langues de droite à gauche (RTL) ?

Actuellement, nous ne supportons pas officiellement RTL dans les Mobile SDK. Cependant, les nouvelles fonctionnalités dans les SDK, comme le Help Center, le supportent, c'est pourquoi vous verrez une référence à RTL dans les nouvelles versions des SDK. Nous prévoyons de supporter pleinement RTL à l'avenir, mais pour l'instant, nous ne le supportons pas.

Comment puis-je utiliser Intercom pour afficher des annonces comme un écran de démarrage ?

Intercom n'offre pas de fonctionnalité spécifique d'écran de démarrage, mais vous pouvez utiliser des messages sortants comme Chats et Posts pour obtenir un effet similaire. Les Chats peuvent être utilisés pour annoncer quelque chose à vos clients via le Messenger Intercom et les inciter à démarrer une conversation. Les Posts peuvent être utilisés pour faire une annonce dans votre produit qui attirera immédiatement l'attention de vos clients et peuvent être envoyés en deux tailles, Petite ou Grande.

Puis-je envoyer des messages à des écrans spécifiques dans mon application mobile ?

Il n'est pas possible d'envoyer un message aux users de votre application mobile sur des écrans spécifiques.

Cependant, comme solution de contournement, vous pouvez commencer à suivre un attribut personnalisé, appelons-le « current_screen », puis mettre à jour cet attribut avec un identifiant (par exemple un nom ou un ID) de l'écran chaque fois que vos users naviguent vers un écran différent dans votre application mobile. Cela peut être fait pour tous les écrans, ou peut-être seulement ceux que vous prévoyez de cibler avec un message automatique.

Après avoir mis en place l'attribut, vous pouvez configurer la règle « current_screen est splashScreen » dans votre audience ciblée pour envoyer un message uniquement aux users qui sont sur l'écran de démarrage.

Intercom suit-il des attributs supplémentaires sur les users via les Mobile SDK ?

Une fois que le SDK mobile est installé dans un workspace, des attributs supplémentaires seront principalement disponibles dans l'interface web

Pour iOS/Android

  • Est mobile non identifié

    • les utilisateurs non identifiés sont ceux qui ne se sont pas connectés avec un email/user_id (similaire aux leads dans l'intégration web mais rappelez-vous que tous les enregistrements du SDK mobile sont des users)

  • Messagerie Push activée

    • indique que l'enregistrement possède un device token et peut donc recevoir des messages/notifications push

Note : L'attribut du SDK mobile 'Enabled Push Messaging' est toujours défini sur 'True' ou 'Unknown'. Si un utilisateur a un device token attaché à son profil utilisateur, 'Enabled Push Messaging' renverra true. Sinon, il renverra 'Unknown'.

Pour Android

  • Dernière connexion sur android

  • Sessions Android

  • Version de l'application Android

  • Appareil Android

  • Version du système Android

Pour iOS

  • Dernière connexion sur ios

  • Sessions Ios

  • Version de l'application Ios

  • Appareil Ios

  • Version du système Ios

Quand les sessions mobiles sont-elles incrémentées ?

  • iOS

    • Nous incrémentons le nombre de sessions iOS la première fois qu'un utilisateur est enregistré

    • Et ensuite à chaque UIApplicationDidBecomeActiveNotification déclenchée par l'ouverture de votre app par un utilisateur, à condition qu'elles se produisent à vingt secondes d'intervalle.

    • Les ouvertures d'application dans un intervalle de vingt secondes ne sont pas comptées.

  • Android : suit des règles similaires

Y a-t-il une différence dans les attributs de type App Version ?

  • La version de l'application iOS est de type chaîne de caractères

  • La version de l'application Android est de type « version » permettant les comparaisons supérieur et inférieur

Les Product Tours fonctionnent-ils sur mobile ?

Les Product Tours vous permettent de créer des expériences guidées dans l'application pour vos clients, afin de favoriser une meilleure adoption.

Les Product Tours fonctionnent uniquement sur ordinateur. Ils ne fonctionnent pas actuellement sur les appareils mobiles (y compris les tablettes) dans le navigateur ou dans les applications mobiles.

Les Workflows fonctionnent-ils sur mobile ?

Oui, ils fonctionnent.

Y a-t-il des problèmes de connectivité connus pour les clients au Vietnam ?

Oui, il y en a.

Si vous ou vos clients situés au Vietnam rencontrez des problèmes de connectivité avec le domain intercom.com dans nos SDK mobiles, vous pouvez remplacer le nom de domaine par défaut en suivant ces étapes :

Android

Ajoutez les meta-données suivantes dans le AndroidManifest.xml de votre application :

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

iOS

Ajoutez cet attribut dans votre Info.plist :

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

Avec ce changement, toutes les requêtes API passeront par intercom-messenger.com au lieu de mobile-messenger.intercom.com.

Cela est pris en charge sur Android SDK 9.1.2+ et iOS SDK 13+.

Comment les notifications push sont-elles envoyées depuis Intercom ?

Bien qu'il existe des différences dans la gestion des push entre Apple et Android, les principes sont les mêmes comme illustré ci-dessous

  1. Demande de token de push device : Lorsqu'une application souhaite utiliser les notifications push et qu'un utilisateur accepte la boîte de dialogue des permissions, une demande est envoyée au service push concerné pour obtenir un token de push device. Ce token est « l'adresse », permettant au service push de délivrer une notification push à un appareil spécifique lorsqu'elle est demandée (similaire à une adresse email)

  2. Token de push device envoyé : Si la demande est valide, le service push renverra un token valide à l'appareil.

  3. Token de push device transmis à Intercom Un token doit être envoyé depuis l'appareil vers un autre service pour être utilisé pour le push. Il peut être envoyé au serveur propre au développeur de l'app, à Intercom, à un tiers, ou à tous ces destinataires. Lorsque ce token est reçu par Intercom, nous l'attachons à l'enregistrement utilisateur.

  4. Paquet push envoyé d'Intercom à Apple/Google Lorsqu'une notification push doit être envoyée, les informations suivantes doivent être transmises aux serveurs push Apple/Google :

    1. Jeton d'appareil

    2. Détails de la notification (par ex. logo, titre, corps)

    3. Détails d'authentification (ce qui nous permet d'envoyer des push au nom de l'app : c'est là que les certificats Apple iOS et les clés Google Android GCM/FCM entrent en jeu et doivent être mis à jour dans le tableau de bord des paramètres Intercom)

  5. Notification push envoyée à l'appareil

    1. Si Intercom s'authentifie auprès du service push pour un jeton donné, le push sera envoyé à l'appareil

    2. Les services push utilisent la Qualité de Service (QOS)

Comment personnaliser l'icône push sur iOS ?

Les icônes de notification push sont configurables dans Xcode via Assets > AppIcon

image.png


Utilisation des SDK mobiles Intercom

Pouvez-vous initialiser / changer plusieurs app_ids dynamiquement

Il n'est actuellement pas possible de changer entre plusieurs ids sur Android. Intercom.registerForLaterInitialisation(this) permet seulement une initialisation ultérieure, mais ce n'est pas destiné à changer les app ids.

Cela fonctionnera cependant sur iOS.

Les SDK mobiles Android/iOS conservent-ils les données de session lors de la désinstallation et réinstallation de l'app ?

Non, ils ne le font pas

  • Pour iOS : les apps sont en sandbox, donc la nouvelle installation n'aura pas connaissance d'une installation précédente.

  • Pour Android : toutes les données seront supprimées lors de la désinstallation

Si une app est mise à jour, par exemple via App/Play Store ou en mode développement, les données de session seront conservées.

Comment Intercom stocke-t-il les données de session sur l'appareil mobile d'une app utilisant notre SDK ?

Nous stockons un fichier identity.icm qui contient un UserId anonyme pour les users non identifiés. Pour les users identifiés, nous stockons leur email (s'ils en ont fourni un), leur userid et intercom id. Nous utilisons cela pour éviter de réenregistrer un user déjà enregistré. En termes de session et de création d'une nouvelle, cela est déterminé par l'intervalle de temps depuis la dernière session. La valeur par défaut est de 20 secondes. Nous ne stockons rien sur disque pour suivre cela.

Le SDK Android peut-il être installé sur une app qui n'a pas Google Play Services, c'est-à-dire que l'app est installée via Huawei App Gallery au lieu de Google Play Store ?

Non, Google Play Services sont requis pour notre SDK Android.

Où puis-je trouver ma clé Mobile API ?

Vos clés Mobile API se trouvent en survolant la photo de profil de votre avatar en bas à gauche de l'écran lorsque vous êtes connecté à Intercom, puis en choisissant Paramètres > Installation > iOS / Android :

De plus, si vous n'avez pas encore consulté nos guides d'installation pour iOS, Android, et/ou Cordova, React Native, nous vous recommandons de les lire ! 😊

Puis-je importer des device tokens dans Intercom ?

Non, les device tokens ne peuvent pas être importés dans Intercom.

Comment gérer les sessions utilisateur et l'authentification avec le SDK Android Intercom, et quelles sont les meilleures pratiques pour gérer l'état utilisateur ?

Le SDK Android Intercom gère les sessions utilisateur en interne. Une fois qu'un user est connecté via Intercom.loginIdentifiedUser(), la session est persistée, et il n'est pas nécessaire de réauthentifier le user à chaque démarrage de l'app. Le SDK met en cache l'état de connexion localement et le maintient jusqu'à ce que vous appeliez explicitement Intercom.logout().

Pour garder la logique de votre app synchronisée avec Intercom, assurez-vous de connecter le user à Intercom en même temps que vous le connectez à votre app, et appelez Intercom.logout() lorsqu'il se déconnecte. Cela maintient l'état d'authentification aligné entre votre système et Intercom.

Vous pouvez éventuellement stocker les données utilisateur (par ex. ID, email) dans votre app pour aider à gérer l'état de session actuel, mais Intercom ne vous oblige pas à re-stocker ou re-identifier le user sauf si l'app est réinstallée ou que le user se déconnecte explicitement.

Pourquoi le bouton « retour » renvoie-t-il l'utilisateur à l'écran d'accueil lorsqu'il sélectionne une notification push depuis sa barre de notification ?

L'activité de lancement de votre app n'est pas ajoutée à la pile de retour, donc en sélectionnant le bouton retour, après avoir sélectionné une notification d'un message Intercom, le client revient à l'écran d'accueil au lieu de l'écran de l'app qui a été lancé pour ouvrir le Messenger.

Pourquoi les utilisateurs finaux ne peuvent-ils pas télécharger d'images sur le SDK Mobile Android ?

Si un utilisateur final ne peut pas télécharger d'images sur le SDK mobile, c'est généralement un problème d'autorisations pour accéder à la bibliothèque de photos de l'appareil. Lorsque le SDK tente d'ouvrir le sélecteur, iOS/Android signale que l'accès a été refusé, donc les téléchargements ne peuvent pas continuer.

  • Les versions récentes d'Android demanderont la permission lors de la sélection de fonctionnalités supplémentaires comme l'accès aux fichiers / images

    image.png
  • Si elle est refusée, elle peut réapparaître, sinon les clients devront vérifier manuellement les autorisations de leur app pour l'activer.

image.png

Si vous voyez aussi l'erreur « Vous avez refusé l'accès à vos photos » / Pas d'autorisation de stockage affichée

Bloc manquant : uses-permission

Sans ces autorisations, il n'y aura pas d'autorisation « Stockage » disponible

image.png

Autorisations correctes

Android Correct Permissions.png
Avez-vous trouvé la réponse à votre question ?