Quickstart SDK

L'enchaînement complet, du projet vide à un écran Appwin affiché dans ton app. Compte une dizaine de minutes.

Cette page est le plan de route. Chaque étape dit ce que tu fais et pourquoi, et renvoie à la page qui porte le détail pour les quatre plateformes. Rien n'y est recopié : quand une commande change, elle change à un seul endroit.


1. Récupérer ton App ID

Dans le dashboard : Communauté → Personnaliser, ou Support → Réglages. C'est le même identifiant pour tous les produits d'un même projet.

L'App ID est public - il vit dans le binaire de ton app. Il route les requêtes vers ton projet, il n'ouvre aucun accès aux données de ton studio.

2. Installer et configurer le socle

Tu installes AppwinCore, puis le module du produit visé. Core porte l'identité d'appareil, la session et le client réseau ; les produits n'en sont que des consommateurs, et aucun ne fonctionne sans lui. C'est aussi sur Core que tu appelles configure, d'où la déclaration explicite.

Un seul configure au démarrage, quel que soit le nombre de produits intégrés.

Installer le SDK porte les coordonnées, les versions minimales, les extraits pour SPM, Gradle, npm et pub, et la vérification que la session s'ouvre.

Reviens ici quand deviceId te répond autre chose que null.

3. Rattacher ton utilisateur

Facultatif, mais c'est ce qui fait qu'une personne est la même dans Community et dans Support, d'un appareil à l'autre. L'externalId est ton identifiant, celui de ta base : Appwin ne l'interprète pas.

swift
AppwinCore.identify(externalId: user.id)
try await AppwinCore.bootstrapSession(externalId: user.id)

await AppwinCore.signOut()   // à la déconnexion

identify seul ne suffit pas. Rejouer le bootstrap refrappe un jeton qui porte la nouvelle identité ; sans lui, les appels suivants restent sur la session anonyme jusqu'au prochain démarrage. En React Native, où Core n'expose pas la variante à externalId, c'est le login du produit qui s'en charge.

Identité détaille les trois états : anonyme, rattaché, enrichi.

4. Brancher un produit

Chaque produit s'ajoute par son module, et doit être activé dans le dashboard. Deux conditions : ton plan inclut le produit, et le produit est allumé sur ce projet.

L'initialiser, puis conditionner TON interface

AppwinCore.configure est le seul appel qui ne vérifie rien : il prépare l'identité de l'appareil et le client réseau. Chaque produit a ensuite son initialize(), qui demande au serveur s'il a le droit de s'ouvrir, et répond au lieu de lever une erreur.

swift
let support = await AppwinSupport.initialize()
print("Appwin Support: \(support)")

Conditionne ton propre point d'entrée sur ce résultat. Le SDK ne peut pas masquer ton onglet ni ton bouton d'aide : il ne possède pas ta navigation, toi seul l'as. Ce que le SDK garantit, c'est qu'il ne plante jamais et ne reste jamais silencieux. Un produit refusé se signale bruyamment en debug, discrètement en release, et ses écrans se dégradent en vue neutre s'ils sont présentés quand même.

initialize() coûte peu : les trois produits partagent un seul aller-retour, et le verdict est mis en cache sur disque. Hors ligne, le SDK retombe sur la dernière réponse connue plutôt que de fermer un produit que tu paies. Seul un premier lancement sans réseau et sans cache reste indécis, et répond unknown, ce qui veut dire « réessaie », pas « non ».

RésultatCe que ça veut direQuoi faire
readyOuvert.Affiche ton point d'entrée.
unavailable, raison planTon plan n'inclut pas ce produit.Changer de plan, ou masquer la fonctionnalité.
unavailable, raison disabledÉteint sur ce projet.L'allumer dans le dashboard.
notConfiguredAppwinCore.configure n'a jamais été appelé.Corriger l'intégration.
unknownNi réseau ni verdict en cache.Réessayer plus tard, ce n'est pas un non.

Ce que chaque produit ajoute

ProduitCe que tu ajoutesOù l'activer
CommunityUne vue à embarquer : AppwinCommunity.communityView() (iOS), CommunityView() (Android), <AppwinCommunityView /> (RN), AppwinCommunityView() (Flutter)Communauté → Personnaliser
SupportUne présentation modale : AppwinSupport.presentMessenger(), ou la vue MessengerViewSupport → Réglages
NotificationsPas d'UI : AppwinNotifications.registerPushToken(...) au démarrage, puis trackEvent(...)Notifications → Réglages

C'est ici que tu vois enfin quelque chose à l'écran. Le pas à pas de chaque produit, avec les extraits des quatre plateformes, vit dans SDK → Intégration dans le dashboard.


Ça bloque ?

Le tableau des symptômes courants est dans Installer le SDK.

Suite

  • Concepts - ce que sont projet, App ID et end-user
  • SDK mobile - ce que porte Core, ce que portent les produits
  • Community - afficher le fil, personnalisation, localisation