Vue d'ensemble de l'architecture du SDK
L'Azeoo SDK utilise un point d'entrée unique et un cycle de vie en deux étapes : initialize (avec clé API et options), puis connect (avec ID utilisateur et token). Les apps natives et Flutter communiquent avec le cœur Dart via les API générées par Pigeon ; vous n'avez pas à gérer directement les method channels ou la configuration du moteur.
Flux haut niveau
Cycle de vie en deux étapes
- Initialize — Appelez le SDK avec votre clé API et une configuration optionnelle (locale, thème, zone de sécurité, deep links, analytics, offline). Aucun utilisateur n'est encore attaché.
- Connect — Appelez
connect(userId, token)pour attacher un utilisateur. Ensuite, vous pouvez utiliser les modules nutrition et training ainsi que les API utilisateur/thème/navigation.
Tant que vous n'appelez pas connect, les modules UI et les API dépendantes de l'utilisateur ne sont pas disponibles.
Surface publique (ce que vous utilisez)
- AzeooSDK (ou équivalent plateforme) — Le point d'entrée unique. Vous appelez
init/initializeune fois, puisconnectlorsque l'utilisateur est connu. - User —
AzeooSDK.user(ousdk.user) pour le profil et les opérations utilisateur. - Theme —
AzeooSDK.themepour le mode et les couleurs du thème. - Navigation —
AzeooSDK.navigationpour la navigation programmatique et les deep links. - Modules —
AzeooSDK.modules.nutritionetAzeooSDK.modules.training(sur Flutter :AzeooSDK.nutritionetAzeooSDK.training) pour embarquer des vues et ouvrir des écrans (ex. showDiary, showPlans, getFragment, getViewController).
En interne, le côté Dart utilise AzeooClient, AzeooUI et AzeooUser ; ils ne font pas partie de la séquence d'init publique que vous implémentez.
Structure des modules
Module Nutrition
- Embedding : Obtenir une vue/fragment/controller (ex.
modules.nutrition.getFragment(),getViewController(), ou FlutterAzeooSDKContent). - Navigation : showDiary, showPlans, showPlan, showRecipes, showScanner, showSearch, showCart, showAddSelection, etc.
- Données : getDiary, searchFoods, getPlansData, getShoppingList et API associées lorsqu'elles sont exposées.
Module Training
- Embedding : Même principe que nutrition (getFragment, getView, getViewController).
- Navigation : showWorkouts, showPlans, showExercises, showProgress, showSchedule, etc.
- Données : getWorkouts, getExercises, getPlansData, getProgress et API associées lorsqu'elles sont exposées.
Couche de services (interne)
Le cœur Dart utilise l'injection de dépendances, le routage et des services pour l'analytics, le stockage, l'auth, le thème, la localisation, les deep links et les permissions. Ils supportent les API publiques ci-dessus ; vous configurez le comportement via les options passées à initialize et connect.
Étapes suivantes
- API SDK Android — Init, connect et modules Android
- API SDK iOS — Init, connect et modules iOS
- API SDK Flutter — Initialize, connect et modules Flutter
- API SDK React Native — Init, connect et modules React Native