Support : messenger in-app, inbox et FAQ

La page Personnaliser le support dans le dashboard Appwin : couleur principale, arrondis et bannière d'accueil, avec l'aperçu de l'accueil du messenger sur un téléphone.

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. 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
    PlateformePaquetSymbole
    iOS 16produit SPM AppwinSupportAppwinSupport
    Android 7.0 (API 24)io.appwin:appwin-supportio.appwin.support.AppwinSupport
    Flutter 3.3appwin_supportAppwinSupport.instance
    React Native 0.73@appwin/react-nativeAppwinSupport
  2. 2

    Initialise Support

    Appelle initialize() au démarrage, après Appwin Core, et conditionne ton point d'entrée sur le verdict ready : le SDK ne possède pas ta navigation, il ne peut donc pas masquer ton bouton d'aide.

    swift
    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

swift
TabView {
  HomeView()
    .tabItem { Label("Home", systemImage: "house") }

  AppwinSupport.messengerView()
    .tabItem { Label("Help", systemImage: "bubble.left") }
}

En modale

swift
AppwinSupport.presentMessenger()

Sur une conversation précise

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

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

FiltreCe qu'il montre
OuvertesCe qui attend une réponse
UrgentesCe que l'équipe a marqué urgent
FavoritesCe qu'on garde sous la main
RésoluesL'archive
Par tagUne 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 :

  1. Filtre l'inbox sur Résolues et repère les cinq questions qui reviennent le plus.
  2. Crée une catégorie par thème réel (« Abonnement », « Compte », « Bugs connus »), pas par organigramme interne.
  3. Écris la question avec les mots de l'utilisateur : « Comment annuler mon abonnement ? », pas « Gestion du cycle de facturation ».
  4. Réponds en trois phrases. Un article qui demande de faire défiler n'est pas lu.
  5. 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.

OngletCe qu'on y règle
MessagerieNom et photo de l'agent, message de bienvenue
AccueilCe qui s'affiche à l'ouverture du centre d'aide
DesignCouleurs, 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.

OngletContenu
LanguesLangue préférée de l'équipe, traduction automatique des messages entrants
SDKApp ID, activation du produit
IARé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.

Suite