Aller au contenu principal

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)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’initialisation
  • subscriptions: List<String> - Liste des abonnements actifs
  • isAuthenticated: 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