Aller au contenu principal

Référence API iOS

Référence de l’API du SDK Azeoo pour iOS. Le flux recommandé est AzeooSDK.initialize(...) puis sdk.connectUser(token:gender:height:weight:completion:) ; voir iOS Quick Start et SDK API.

AzeooSDK

Point d’entrée unique. AzeooSDK.initialize(apiKey, config?, theme?, deepLinks?, safeArea?, completion) initialise le SDK et renvoie l’instance via le completion. Ensuite, appelez sdk.connectUser(token:gender:height:weight:completion:) pour attacher un utilisateur. Accédez à user, theme, navigation et modules après connectUser.

AzeooClient (référence historique)

  • apiKey: String - Clé API utilisée pour l’initialisation
  • subscriptions: [String] - Liste des abonnements actifs
  • isAuthenticated: Bool - Statut d’authentification

Methods

func validateApiKey(completion: @escaping (Result<Bool, Error>) -> Void)

Valide la clé API auprès du serveur.

AzeooUser (profile via sdk.user)

Opérations de profil utilisateur. Accédez-y via sdk.user après AzeooSDK.connectUser.

Lire le profil / l’identité

func getProfile(completion: @escaping (Result<AzeooUserProfile?, Error>) -> Void)
func getId(completion: @escaping (Result<String?, Error>) -> Void)
func getName(completion: @escaping (Result<String?, Error>) -> Void)
func getEmail(completion: @escaping (Result<String?, Error>) -> Void)
func getGender(completion: @escaping (Result<String?, Error>) -> Void)
func getBirthDateTimestamp(completion: @escaping (Result<Int64?, Error>) -> Void)
func getHeight(completion: @escaping (Result<Double?, Error>) -> Void)
func getWeight(completion: @escaping (Result<Double?, Error>) -> Void)

Mettre à jour le profil

func updateProfile(data: [String: Any], completion: @escaping (Result<AzeooUserProfile, Error>) -> Void)
func refreshProfile(completion: @escaping (Result<AzeooUserProfile, Error>) -> Void)

Envoyer une image

func uploadImage(imageData: Data, completion: @escaping (Result<String, Error>) -> Void)

AzeooModules (public) / AzeooUI (legacy)

Navigation et module UI (nutrition). Accès via sdk.modules.

Initialisation (historique)

static func initialize(
client: AzeooClient,
config: Config,
completion: @escaping (Result<Void, Error>) -> Void
)

Accès à l’instance (historique)

static var instance: AzeooUI? { get }

Nutrition Module (sdk.modules.nutrition)

func getViewController(bottomSafeArea: Bool = true) -> UIViewController
func getView(bottomSafeArea: Bool = true) -> some View
func display(bottomSafeArea: Bool = true, completion: @escaping (Result<Void, Error>) -> Void = { _ in })

Navigation (toutes acceptent un callback completion) :

func showDiary(date: Int64? = nil, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showPlans(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showPlan(planId: String, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showRecipes(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showRecipe(recipeId: Int64, recipeName: String? = nil, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showScanner(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showMobileScanner(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showSearch(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showCart(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddSelection(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddFood(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddMeal(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showHome(completion: @escaping (Result<Void, Error>) -> Void = { _ in })

Theme Management

Utilisez sdk.theme après l’initialisation (et connectUser si vous dépendez d’un thème spécifique à l’utilisateur) :

// Theme mode
func setLightMode(completion: @escaping (Result<Void, Error>) -> Void)
func setDarkMode(completion: @escaping (Result<Void, Error>) -> Void)
func setSystemMode(completion: @escaping (Result<Void, Error>) -> Void)
func toggleMode(completion: @escaping (Result<Void, Error>) -> Void)

// Colors
func setPrimaryColor(_ color: Int64, completion: @escaping (Result<Void, Error>) -> Void)
func setSecondaryColor(_ color: Int64, completion: @escaping (Result<Void, Error>) -> Void)
func setTheme(_ theme: AzeooThemeConfig, completion: @escaping (Result<Void, Error>) -> Void)

Reset

sdk.disconnect { result in
// result: .success(()) or .failure(Error)
}
sdk.dispose()

Configuration (native)

AzeooSDK.initialize(
apiKey: String,
config: AzeooConfig? = nil,
theme: AzeooThemeConfig? = nil,
deepLinks: AzeooDeepLinkConfig? = nil,
safeArea: AzeooSafeAreaConfig? = nil,
completion: @escaping (Result<AzeooSDK, Error>) -> Void
)

Error Handling

Sur iOS, les appels natifs (y compris AzeooSDK.initialize, connectUser et les méthodes display/navigation des modules) renvoient les erreurs via le Result du completion :

completion(.failure(error))

Pour aller plus loin