Support : messenger in-app, inbox et FAQ

Support ajoute un chat d'assistance dans ton app : l'utilisateur écrit à ton équipe, qui lui répond depuis une inbox partagée. Une FAQ intégrée absorbe les questions répétitives. (C'est une conversation avec ton équipe, pas une messagerie entre utilisateurs.)
Pas de compte à créer : Appwin Core reconnaît l'utilisateur par son appareil, c'est la même personne que dans Community. Tout se pilote depuis le dashboard, sous Support : inbox, macros, tags, FAQ et design du chat.
Installation
- 1
Installe Appwin Core et Support
Support repose sur Appwin Core. Pas encore installé ? Commence par le Quickstart, qui installe Core et tes modules pour chaque plateforme.
Compatibilité et paquets par plateforme
Plateforme Paquet Symbole iOS 16 produit SPM AppwinSupportAppwinSupportAndroid 7.0 (API 24) io.appwin:appwin-supportio.appwin.support.AppwinSupportFlutter 3.3 appwin_supportAppwinSupport.instanceReact Native 0.73 @appwin/react-nativeAppwinSupport - 2
Initialise Support
Appelle
initialize()au démarrage, après Appwin Core, et conditionne ton point d'entrée sur le verdictready: le SDK ne possède pas ta navigation, il ne peut donc pas masquer ton bouton d'aide.import AppwinSupport // After AppwinCore.configure, before showing the entry point. guard await AppwinSupport.initialize().isReady else { return }
Méthodes disponibles
Vérifier l'état du module
isReady renvoie le dernier verdict d'initialize() sans nouvel appel. Sers-t'en
pour conditionner ton bouton d'aide après le démarrage. L'identité ne fait pas
partie de la surface de Support : identify, updateUser et logout vivent sur
AppwinCore.
Ouvrir le messenger
Le messenger est rendu en natif par le SDK. Embarque-le dans ta navigation
avec messengerView(), ou présente-le en modale avec presentMessenger().
presentConversation(id) ouvre directement une conversation, ce dont un tap sur
une notification a besoin (iOS et Android).
Embarqué, dans un onglet
TabView {
HomeView()
.tabItem { Label("Home", systemImage: "house") }
AppwinSupport.messengerView()
.tabItem { Label("Help", systemImage: "bubble.left") }
}
En modale
AppwinSupport.presentMessenger()
Sur une conversation précise
AppwinSupport.presentConversation(id: conversationId)
Rattacher ton utilisateur
Sans rien faire, la conversation appartient à l'appareil. AppwinCore.identify
la rattache à l'utilisateur de ton app, une fois à la connexion : l'identité est
portée par Core, donc Community reconnaît la même personne au même instant, et
l'id est gardé d'un lancement à l'autre. Support n'a pas de fonction de login à
lui.
AppwinCore.updateUser enrichit la fiche que ton équipe voit dans l'inbox sans
changer l'identité. Un champ omis n'est pas écrasé : une app qui ne connaît
que l'e-mail n'efface pas le nom. Les champs sont email, name, avatarUrl,
language, timezone, location et plan, sur toutes les plateformes.
try await AppwinCore.identify(
externalId: user.id,
attributes: AppwinUserAttributes(email: user.email, name: user.displayName)
)
try await AppwinCore.updateUser(AppwinUserAttributes(plan: "pro"))
// Sign-out: back to an anonymous visitor.
await AppwinCore.logout()
L'inbox
Support → Inbox. La liste des conversations du projet, ou de toutes les apps de l'organisation. La recherche porte sur le contenu des messages, et un filtre par tag se combine avec les autres : « Ouvertes » plus le tag « Bug » donne la file de ce qui casse.
| Filtre | Ce qu'il montre |
|---|---|
| Ouvertes | Ce qui attend une réponse |
| Urgentes | Ce que l'équipe a marqué urgent |
| Favorites | Ce qu'on garde sous la main |
| Résolues | L'archive |
| Par tag | Une thématique précise |
Le fil ressemble à une conversation de messagerie ; ce que ton équipe écrit apparaît côté agent, avec le nom et la photo réglés dans Personnaliser. Une conversation se marque résolue quand elle est traitée, et un nouveau message de l'utilisateur la rouvre, donc rien ne se perd parce qu'on a fermé trop vite.
Macros
Support → Macros. Des réponses pré-écrites, réutilisables. Une macro porte un nom (« Demande de remboursement »), un contenu et un raccourci facultatif qu'on tape dans la conversation pour l'insérer. Elle est globale (toutes les apps de l'organisation) ou limitée à certains projets : une macro qui parle d'un tarif propre à une app n'a rien à faire dans les autres.
Pars d'une vraie réponse que tu as déjà écrite trois fois, laisse les parties à
personnaliser en clair, et donne un raccourci court et mémorisable (remb,
bug-ios). Une macro est un point de départ, pas un envoi automatique : elle
s'insère dans le champ de réponse, où on la relit et on l'ajuste.
Tags
Support → Tags. Des étiquettes de couleur pour classer les conversations. Comme les macros, un tag est global ou limité à des projets, et il se trie par usage (« les plus utilisés »), ce qui montre vite les thèmes qui reviennent. Supprimer un tag le retire de toutes les conversations qui le portaient ; l'action est confirmée, et définitive.
Les tags sont aussi un outil de mesure. Trois mois de conversations taggées donnent la liste des sujets qui coûtent le plus de temps à l'équipe, le point de départ d'une bonne FAQ.
FAQ
Support → Gérer la FAQ. Des articles rangés par catégorie, affichés dans le centre d'aide du SDK. Les catégories sont renommables, réordonnables et dépliables ; un article est une question et une réponse mise en forme (gras, listes, emoji) ; un interrupteur affiche la FAQ dans l'app ou non, sans toucher aux articles.
Une FAQ qui sert vraiment :
- Filtre l'inbox sur Résolues et repère les cinq questions qui reviennent le plus.
- Crée une catégorie par thème réel (« Abonnement », « Compte », « Bugs connus »), pas par organigramme interne.
- Écris la question avec les mots de l'utilisateur : « Comment annuler mon abonnement ? », pas « Gestion du cycle de facturation ».
- Réponds en trois phrases. Un article qui demande de faire défiler n'est pas lu.
- Publie, puis surveille : si la question continue d'arriver, c'est que l'article est introuvable ou pas clair.
Personnaliser le messenger
Support → Personnaliser. Trois onglets, avec un aperçu en direct. Tout est relu par le SDK à l'ouverture, donc aucun changement ne demande de republier ton app.
| Onglet | Ce qu'on y règle |
|---|---|
| Messagerie | Nom et photo de l'agent, message de bienvenue |
| Accueil | Ce qui s'affiche à l'ouverture du centre d'aide |
| Design | Couleurs, arrondis, logo |
Le message de bienvenue est ce que voit quelqu'un qui ouvre le messenger pour la première fois. Il donne le ton et cadre les attentes : « Nous sommes une petite équipe basée à Nice, on répond sous 24 h » vaut mieux qu'un « Comment pouvons-nous vous aider ? ».
Réglages
Support → Réglages.
| Onglet | Contenu |
|---|---|
| Langues | Langue préférée de l'équipe, traduction automatique des messages entrants |
| SDK | App ID, activation du produit |
| IA | Réponses assistées |
La traduction automatique traduit les messages de tes utilisateurs dans ta langue, pour que la conversation continue sans intermédiaire. Elle ne remplace pas ta réponse : elle t'évite de deviner.