Concepts : organisation, projet, App ID
Cinq notions suffisent à comprendre comment Appwin s'organise. Les lire une fois évite la plupart des malentendus d'intégration.
Organisation
Ton studio. Elle porte les membres de l'équipe, la facturation et les projets.
Un compte appartient à une organisation ; un même humain peut être membre de plusieurs organisations (agence qui travaille pour plusieurs studios).
Projet
Une app. Pas une plateforme, pas un environnement : une app.
Le projet est l'unité de cloisonnement de tout le produit. Une communauté, une inbox de support, des campagnes de notification, des statistiques appartiennent toujours à un projet et un seul. Rien n'est agrégé entre projets, et c'est volontaire : deux apps d'un même studio ont des utilisateurs différents, des règles différentes et des chiffres qui n'ont pas de sens additionnés.
Si ton app existe sur iOS et Android, c'est un seul projet : c'est la même app, les mêmes utilisateurs, la même communauté. La plateforme est un attribut de l'appareil, pas du projet.
App ID
L'identifiant public de ton projet côté SDK. Un seul par projet, partagé par tous les produits - Support, Community, Notifications.
C'est le modèle Firebase : tu configures une fois avec cet identifiant, et tu actives ensuite les produits qui t'intéressent depuis le dashboard. Pas de clé par produit à gérer, pas de binaire à republier pour en activer un de plus.
AppwinCore.configure(projectAppId: "ton-app-id")
L'App ID est public : il vit dans le binaire de ton app, donc n'importe qui peut le lire. Il n'ouvre aucun accès aux données de ton studio - il sert uniquement à router les requêtes vers le bon projet. Les autorisations, elles, reposent sur la session end-user (cf. ci-dessous).
Tu le trouves dans le dashboard : Communauté → Personnaliser, ou Support → Réglages.
End-user (customer)
Un utilisateur de ton app. À ne pas confondre avec un membre de ton équipe, qui lui a un compte sur le dashboard Appwin.
Un end-user est reconnu par son appareil dès la première ouverture, sans inscription : le SDK génère un identifiant stable, persisté dans le trousseau, et qui survit à une réinstallation. C'est ce qui permet à quelqu'un de lire une communauté ou d'écrire au support sans créer de compte.
Quand ton app sait qui il est, tu le rattaches à ton propre identifiant via
login(externalId:). L'end-user est alors reconnu de la même façon par tous
les produits Appwin : ses conversations Support et son profil Community sont
ceux de la même personne. Détails dans Identité.
Profil communautaire
Propre à Community : l'identité d'un end-user dans une communauté.
Distinct de l'end-user parce que les deux répondent à des questions différentes. L'end-user, c'est « qui est cette personne pour ton app ». Le profil, c'est « comment elle apparaît dans le fil » - un pseudo, une photo, une bio, une ancienneté, des compteurs.
Un profil naît anonyme à la première ouverture du fil, avec un pseudo généré stable. Personne n'a à rejoindre la communauté : on l'a rejointe en l'ouvrant.
Un profil est scopé projet : le même end-user a un profil par communauté, avec un rôle propre à chacune.
Comment ça s'emboîte
Organisation (ton studio)
└── Projet (ton app) ──── App ID ────► SDK
├── Community
│ ├── Groupes (onglets du fil)
│ ├── Publications, commentaires, réactions
│ └── Profils ──────┐
├── Support │
│ └── Conversations ┤
└── Notifications │
└── Campagnes ────┘
│
End-user (utilisateur de ton app,
reconnu par appareil puis par externalId)
Vocabulaire à ne pas confondre
| Terme | Ce que c'est | Ce que ce n'est pas |
|---|---|---|
| Membre (dashboard) | Quelqu'un de ton équipe | Un utilisateur de ton app |
| Membre (Community) | Un end-user dans le fil | Quelqu'un de ton équipe |
| Projet | Une app | Un environnement (dev/prod) |
| App ID | Identifiant public de routage | Une clé secrète |
| Groupe | Un onglet thématique du fil | Un groupe privé fermé |