🧭 Flutter — Navigation
Les apps Flutter pures utilisent AzeooSDKModules au lieu de AzeooDestination natif.
Hôtes natifs
Android / iOS / RN utilisent les destinations typées. Cette page concerne l'intégration Flutter uniquement.
Prérequis
import 'package:azeoo_core/azeoo_core.dart';
import 'package:azeoo_sdk/azeoo_sdk.dart';
await AzeooSDK.initialize(apiKey, options: AzeooSDKInitOptions(/* … */));
await AzeooSDK.connect(
token: jwt,
gender: 'male',
height: Height.scalar(180, HeightUnit.centimeters),
weight: Weight.scalar(75, WeightUnit.kilograms),
);
Afficher des écrans (impératif)
// Nutrition
AzeooSDKModules.nutrition.showMainScreen();
AzeooSDKModules.nutrition.showPlan('plan-uuid');
AzeooSDKModules.nutrition.showPlans();
AzeooSDKModules.nutrition.showRecipe('recipe-id');
AzeooSDKModules.nutrition.showRecipes();
AzeooSDKModules.nutrition.showBarcodeScanner();
AzeooSDKModules.nutrition.showMobileScanner();
AzeooSDKModules.nutrition.showNutritionSearch();
AzeooSDKModules.nutrition.showCart();
// Entraînement
AzeooSDKModules.training.showMainScreen();
AzeooSDKModules.training.showWorkouts();
danger
Utilisez AzeooSDKModules.nutrition / .training — pas AzeooSDK.nutrition.
Intégrer dans l'arbre de widgets
Pour les apps Flutter hôtes, intégrez l'UI complète avec AzeooSDKContent :
import 'package:azeoo_sdk/core/app/azeoo_sdk_content.dart';
Scaffold(
body: AzeooSDKContent(bottomSafeArea: false),
)
AzeooSDKContent crée son propre scope de routage et fonctionne dans votre MaterialApp existant.
Helpers réservés à l'exemple
buildNutritionMainScreen() dans l'app exemple n'est pas partie de l'API publique du SDK.
Correspondance avec les destinations natives
navigate natif | Flutter |
|---|---|
.nutrition(.home) / .diary | showMainScreen() |
.nutrition(.plans) | showPlans() |
.nutrition(.plan(id)) | showPlan(id) |
.nutrition(.recipe(id)) | showRecipe(id) |
.nutrition(.scanner(.barcode)) | showBarcodeScanner() |
.nutrition(.search) | showNutritionSearch() |
.nutrition(.cart) | showCart() |
.training(.workouts) | showWorkouts() |
Liste complète : Catalogue des destinations.
Deep links
Configurer à l'initialisation :
options: AzeooSDKInitOptions(
deepLinks: DeepLinkConfig(
scheme: 'yourapp',
host: 'yourapp.com',
removePathPrefix: '/sdk',
),
),
Flutter utilise removePathPrefix ; les plateformes natives utilisent pathPrefix sur leur config deep link.