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.

swift
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

Texte brut
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

TermeCe que c'estCe que ce n'est pas
Membre (dashboard)Quelqu'un de ton équipeUn utilisateur de ton app
Membre (Community)Un end-user dans le filQuelqu'un de ton équipe
ProjetUne appUn environnement (dev/prod)
App IDIdentifiant public de routageUne clé secrète
GroupeUn onglet thématique du filUn groupe privé fermé