Aller au contenu principal

Initialisation du SDK

Le SDK Azeoo utilise un flux en deux étapes, unique sur toutes les plateformes : initialize avec votre clé API et vos options, puis connect avec un jeton utilisateur et les champs de profil requis par le SDK (gender, height, weight). Les étapes ci-dessous s’appliquent à Android, iOS, Flutter et React Native ; pour une configuration complète (dépendance, Application/AppDelegate, etc.), consultez Premiers pas et le guide d’installation de votre plateforme.

Flux d’initialisation

  1. Initialize — Transmettez la clé API et une configuration optionnelle (locale, thème, zone sûre, deep links, analytics, hors ligne). Aucun utilisateur n’est encore associé.
  2. Connect — Transmettez un jeton utilisateur et les champs de profil requis (gender, height, weight) pour associer un utilisateur. Ensuite, vous pouvez utiliser les modules ainsi que les API utilisateur / thème / navigation.

Étape 1 : Initialiser

Flutter

import 'package:azeoo_sdk/azeoo_sdk.dart';

await AzeooSDK.initialize(
'your-sdk-api-key',
options: AzeooSDKInitOptions(
locale: 'en',
analyticsEnabled: true,
offlineSupport: true,
theme: themeConfig,
deepLinks: deepLinkConfig,
safeArea: SafeAreaConfig.all(),
),
);

Android

import com.azeoo.sdk.AzeooSDK
import com.azeoo.sdk.AzeooConfig

AzeooSDK.initialize(
context = this,
apiKey = "your-sdk-api-key",
config = AzeooConfig(
locale = "en",
analyticsEnabled = true,
offlineEnabled = true,
),
theme = themeConfig, // optional
deepLinks = deepLinkConfig, // optional
safeArea = safeAreaConfig, // optional
callback = { error ->
if (error == null) {
// SDK initialized: use `AzeooSDK.shared`
} else {
// Handle initialization error
}
}
)

iOS

import AzeooSDK

AzeooSDK.initialize(
apiKey: "your-sdk-api-key",
config: configMessage,
theme: themeMessage,
deepLinks: deepLinkMessage,
safeArea: safeAreaMessage
) { result in
switch result {
case .success(let sdk):
// Keep `sdk` or use `AzeooSDK.shared`
break
case .failure(let error):
// Handle error
break
}
}

React Native

import { AzeooProvider } from 'react-native-azeoo-lib';

<AzeooProvider
apiKey={API_KEY}
config={{ locale: 'en', analyticsEnabled: true, offlineEnabled: true }}
theme={{ isDarkMode: false, colors: { primary: '#007AFF' } }}
autoInitialize={true}
>
<YourApp />
</AzeooProvider>

Consultez l’installation React Native ainsi que le Quick Start pour l’API exacte.

Étape 2 : Connecter un utilisateur

Après initialize, appelez connect avec le jeton de l’utilisateur authentifié et les champs de profil requis (gender, height, weight). Tant que vous n’avez pas connecté un utilisateur, les API des modules et de l’utilisateur ne sont pas disponibles.

Flutter

await AzeooSDK.connect(
token: userToken,
gender: 'male',
height: Height(170),
weight: Weight(70),
);

// Then use `AzeooSDKModules.nutrition`

Android

AzeooSDK.shared.connectUser(
token = "user-token",
gender = "male",
height = AzeooHeight(170.0),
weight = AzeooWeight(70.0),
) { profile, error ->
if (error != null) {
// Handle error
} else {
// SDK ready
}
}

iOS

sdk.connectUser(
token: "user-token",
gender: "male",
height: userHeight,
weight: userWeight
) { result in
switch result {
case .success(let profile): break // SDK ready
case .failure(let error): break // Handle error
}
}

React Native

const { connect } = useAzeoo();

await connect(token, userData.gender, userData.height, userData.weight);

Étape 3 : Utiliser le SDK

Une fois connecté, utilisez l’instance du SDK pour intégrer des modules ou ouvrir des écrans :

  • Flutter: AzeooSDKModules.nutrition.showMainScreen(bottomSafeArea: false) ou intégrez AzeooSDKContent(bottomSafeArea: false).
  • Android: AzeooSDK.shared.modules.nutrition.getFragment(bottomSafeArea = false).
  • iOS: utilisez sdk.modules.nutrition.getView() / getViewController() et déclenchez l’affichage avec sdk.modules.nutrition.display { _ in }.
  • React Native: intégrez NutritionView (ou ouvrez le module via les méthodes SDK montrées dans l’exemple React Native).

Consultez la section API SDK / Client de votre plateforme pour la liste complète des méthodes.

Gestion des erreurs

Traitez systématiquement les erreurs provenant de initialize et connect (par ex. clé API invalide, problèmes réseau, jeton invalide). Ne supposez pas que le SDK est prêt tant que ces appels n’ont pas abouti.

Prochaines étapes