Skip to main content

SDK API (Android)

The Azeoo SDK exposes a single entry point, AzeooSDK. After initialize and connectUser, you use the same instance to access user, theme, navigation, and the nutrition module.

Entry point​

  • AzeooSDK.initialize(...) β€” Initialize once with context, API key, and optional config (locale, theme, deep links, safe area).
  • AzeooSDK.shared β€” The singleton instance after initialize.
  • connectUser(token, gender, height, weight, callback) β€” Attach a user; required before using modules or user API.
  • onReady(callback) β€” Callback when Flutter-side initialization is complete.

API surface​

AreaAccessPurpose
UserAzeooSDK.shared.userProfile, getProfile, updateProfile, refreshProfile, etc.
ThemeAzeooSDK.shared.themesetMode, setPrimaryColor, setLightMode, setDarkMode, getCurrentTheme, etc.
NavigationAzeooSDK.shared.navigationto(), back(), backToRoot(), handleDeepLink(), getCurrentRoute()
NutritionAzeooSDK.shared.modules.nutritiongetFragment(), getView(), showDiary(), showPlans(), showScanner(), etc.

Quick example​

// 1. Init (e.g. in Application)
AzeooSDK.initialize(
context = context,
apiKey = apiKey,
config = config,
) { initError ->
if (initError != null) return@initialize
}

// 2. Connect when user is authenticated
AzeooSDK.shared.connectUser(
token = "user-token",
gender = "male",
height = AzeooHeight(178.0),
weight = AzeooWeight(75.0),
) { _, error ->
if (error == null) {
// 3. Use modules
val fragment = AzeooSDK.shared.modules.nutrition.getFragment()
// or: AzeooSDK.shared.modules.nutrition.showDiary(null)

// 4. User API
val profile = AzeooSDK.shared.user.getProfile()

// 5. Theme
AzeooSDK.shared.theme.setDarkMode()
}
}

Next steps​