Référence API Android
Référence de l’API du SDK Azeoo pour Android. Le flux recommandé est AzeooSDK.initialize(...) puis AzeooSDK.shared.connectUser(token, gender, height, weight, callback) ; voir Android Quick Start et SDK API.
AzeooSDK
Point d’entrée unique. Appelez AzeooSDK.initialize(context, apiKey, config?, theme?, deepLinks?, safeArea?, callback) pour démarrer le SDK (moteur Flutter + configuration Pigeon). Utilisez ensuite AzeooSDK.shared.
Connectez un utilisateur via AzeooSDK.shared.connectUser(token, gender, height, weight, callback) où callback est de type (user: AzeooUserProfile?, error: Exception?) -> Unit.
Prêt / cycle de vie : onReady(callback), isReady, disconnect(callback), dispose(). Note : disconnect utilise callback: (error: Exception?) -> Unit (error vaut null en cas de succès). Accédez à user, theme, navigation, modules.nutrition après la connexion.
Initialize (non-suspend)
AzeooSDK.initialize(
context = context,
apiKey = "your-sdk-api-key",
config = config,
theme = themeConfig,
deepLinks = deepLinkConfig,
safeArea = safeAreaConfig,
callback = { error ->
// error == null -> SDK initialized (use AzeooSDK.shared)
}
)
AzeooClient (legacy / internal)
API interne historique (non exposée dans le wrapper Android public actuel). Utilisez plutôt AzeooSDK.initialize + AzeooSDK.shared.connectUser + AzeooSDK.shared.modules.*.
Properties
apiKey: String- Clé API utilisée pour l’initialisationsubscriptions: List<String>- Liste des abonnements actifsisAuthenticated: Boolean- Statut d’authentification
Methods
suspend fun validateApiKey(): Boolean
Valide la clé API auprès du serveur.
AzeooUser (access profile via AzeooSDK.shared.user)
Gestion utilisateur et opérations de profil (disponibles via AzeooSDK.shared.user après connectUser).
Initialization
class AzeooUser(
client: AzeooClient,
userId: String
)
Methods
suspend fun logout()
Déconnecte l’utilisateur courant et efface les données spécifiques à l’utilisateur.
suspend fun changeHeight(height: Double)
Met à jour la taille de l’utilisateur.
suspend fun changeWeight(weight: Double)
Met à jour le poids de l’utilisateur.
suspend fun getProfile(): UserProfile
Récupère les informations de profil de l’utilisateur.
suspend fun getToken(): String
Récupère le jeton d’authentification courant.
suspend fun update(data: Map<String, Any>)
Met à jour les informations utilisateur.
suspend fun delete()
Supprime le compte utilisateur.
AzeooUI (legacy / internal)
API UI historique / style v1. Dans le wrapper Android actuel, utilisez AzeooSDK.shared.modules.nutrition.
Initialization
fun initialize(
client: AzeooClient,
config: SDKConfig,
callback: (Error?) -> Unit
)
Instance Access
val instance: AzeooUI?
Nutrition Module
val nutrition: NutritionModule
Methods
fun showHome(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran principal de nutrition.
fun showPlans(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran des plans nutrition.
fun showPlan(planId: String, callback: (Result<Unit>) -> Unit = {})
Affiche un plan nutrition spécifique.
fun getUserPlanData(callback: (Result<Map<String?, Any?>?>) -> Unit)
Récupère les données du plan nutrition de l’utilisateur.
fun showRecipes(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran des recettes.
fun showRecipe(
recipeId: Long,
recipeName: String? = null,
callback: (Result<Unit>) -> Unit = {},
)
Affiche une recette spécifique.
fun showScanner(callback: (Result<Unit>) -> Unit = {})
Affiche le scanner de code‑barres.
fun showMobileScanner(callback: (Result<Unit>) -> Unit = {})
Affiche le scanner mobile.
fun showCart(callback: (Result<Unit>) -> Unit = {})
Affiche le panier.
fun showSearch(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran de recherche nutrition.
fun showAddSelection(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran d’ajout de sélection.
fun showAddFood(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran d’ajout d’aliment.
fun showAddMeal(callback: (Result<Unit>) -> Unit = {})
Affiche l’écran d’ajout de repas.
Theme Management
AzeooSDK.shared.theme.setPrimaryColor(color: Long, callback: (Result<Unit>) -> Unit)
Change la couleur principale (clair/sombre) et l’applique au thème du SDK.
AzeooSDK.shared.theme.setLightMode(callback: (Result<Unit>) -> Unit)
Passe le thème en mode clair.
AzeooSDK.shared.theme.setDarkMode(callback: (Result<Unit>) -> Unit)
Passe le thème en mode sombre.
AzeooSDK.shared.theme.setSystemMode(callback: (Result<Unit>) -> Unit)
Configure le thème pour suivre le réglage système.
AzeooSDK.shared.theme.toggleMode(callback: (Result<Unit>) -> Unit)
Bascule entre les modes clair et sombre.
Reset
AzeooSDK.shared.disconnect { error ->
// error == null -> disconnected
}
AzeooSDK.shared.dispose()
Déconnecte la session utilisateur courante (le SDK reste initialisé sauf si vous appelez dispose()).
SDKConfig Builder
Builder de configuration pour l’initialisation du SDK.
class SDKConfig {
class Builder {
fun setUserId(id: String): Builder
fun setAuthToken(token: String): Builder
fun setLocale(locale: String): Builder
fun setAnalyticsEnabled(enabled: Boolean): Builder
fun setOfflineSupport(enabled: Boolean): Builder
fun setTheme(theme: ThemeConfig): Builder
fun setSafeArea(safeArea: SafeAreaConfig): Builder
fun setDeepLinkConfig(config: DeepLinkConfig): Builder
fun build(): SDKConfig
}
}
Error Types
sealed class AzeooSDKError : Exception() {
object InvalidApiKey : AzeooSDKError()
object NetworkError : AzeooSDKError()
object InitializationError : AzeooSDKError()
object AuthenticationError : AzeooSDKError()
object ConfigurationError : AzeooSDKError()
}
Pour aller plus loin
- Documentation Android - Présentation de la plateforme
- Exemples - Exemples de code
- Configuration - Guide de configuration