Aller au contenu principal

Point d’entrée du SDK (initialiser et connecter l’utilisateur)

Le SDK Azeoo s’utilise via AzeooSDK : appelez initialize une seule fois, puis connectUser lorsque l’utilisateur est authentifié.

initialize

fun initialize(
context: Context,
apiKey: String,
environment: String = "production",
config: AzeooConfig? = null,
theme: AzeooThemeConfig? = null,
deepLinks: AzeooDeepLinkConfig? = null,
safeArea: AzeooSafeAreaConfig? = null,
connector: AzeooConnectorConfig? = null,
callback: (error: Exception?) -> Unit
)

Initialise le SDK avec votre clé API et une configuration optionnelle. Appelez cette méthode une seule fois (par ex. dans Application.onCreate()).

Paramètres :

  • context — Contexte de l’application
  • apiKey — Clé API de votre SDK Azeoo
  • environment — Chaîne d’environnement ("production" par défaut)
  • config — Optionnel : locale, analyticsEnabled, offlineEnabled, etc.
  • theme — Couleurs de thème optionnelles (primaire secondaire clair/sombre, etc.)
  • deepLinks — Deep links optionnels (scheme/host/pathPrefix)
  • safeArea — Incrustations safe area optionnelles (top, bottom, left, right)
  • connector — Configuration de connecteur optionnelle
  • callback — Appelé lorsque l’initialisation est terminée (null en cas de succès, Exception en cas d’échec)

Retour : Unit. Utilisez AzeooSDK.shared après une initialisation réussie.

shared

val shared: AzeooSDK

L’instance singleton du SDK. Lève une erreur si initialize n’a pas été appelée.

connectUser

fun connectUser(
token: String,
gender: String,
height: AzeooHeight,
weight: AzeooWeight,
callback: (user: AzeooUserProfile?, error: Exception?) -> Unit
)

Associe un utilisateur authentifié. Doit être appelée avant d’utiliser les modules ou l’API utilisateur.

Paramètres :

  • token — Le jeton d’authentification de l’utilisateur (par ex. JWT)
  • gender — Genre de l’utilisateur
  • height — Taille de l’utilisateur + unité (AzeooHeight)
  • weight — Poids de l’utilisateur + unité (AzeooWeight)
  • callbackAzeooUserProfile? en cas de succès ou Exception? en cas d’échec

onReady

fun onReady(callback: (Result<Unit>) -> Unit)

Enregistre un callback appelé lorsque l’initialisation côté Flutter est terminée. Si le SDK est déjà prêt, le callback s’exécute immédiatement. Utilisez-le avant d’afficher l’UI du SDK (par ex. avant d’ajouter le fragment nutrition).

isReady

val isReady: Boolean

Indique si le SDK est totalement initialisé (côté Flutter prêt et aucune erreur d’initialisation).

disconnect

fun disconnect(callback: (error: Exception?) -> Unit)

Désassocie l’utilisateur courant et efface l’état spécifique à l’utilisateur. Le SDK reste initialisé ; vous pouvez appeler connectUser à nouveau avec un autre utilisateur.

dispose

fun dispose()

Libère les ressources du SDK. Appelez-la lors de l’arrêt de l’application ou lorsque vous n’avez plus besoin du SDK.