🔌 Intégration React Native
Après l'installation du SDK et l'ajout de la ligne Gradle Android, intégrez le SDK dans votre app.
1. Envelopper l'app avec AzeooProvider
Utilisez AzeooProvider à la racine (ou au-dessus des écrans qui utilisent le SDK). Il gère l'initialisation uniquement — la connexion est une étape séparée.
import { AzeooProvider } from 'react-native-azeoo-lib';
<AzeooProvider
apiKey={API_KEY}
config={{
locale: 'en',
analyticsEnabled: true,
offlineEnabled: true,
}}
connector={connectorConfig} // optionnel — voir Connecteurs
theme={{ isDarkMode: false, colors: { primary: '#007AFF' } }}
safeArea={{ top: true, bottom: true, left: true, right: true }}
deepLinks={{ scheme: 'https', host: 'yourapp.com' }}
autoInitialize={true}
onInitialized={() => {}}
onConnected={(profile) => {}}
onError={(error) => console.error(error)}
>
<App />
</AzeooProvider>
Pas de props userId ou authToken
AzeooProvider n'accepte pas userId, authToken ou autoConnect. Appelez useAzeoo().connect() après votre flux de login.
2. Connecter après login
import { useAzeoo } from 'react-native-azeoo-lib';
function LoginScreen() {
const { connect, isInitialized } = useAzeoo();
const handleLogin = async (jwt: string) => {
if (!isInitialized) return;
await connect(
jwt,
'male',
{ values: ['180'], unit: 'centimeters' },
{ values: ['75'], unit: 'kilograms' },
);
};
// ...
}
Le JWT doit être un JWT utilisateur créé par votre backend.
3. Utiliser les vues natives
import { NutritionView, TrainingView } from 'react-native-azeoo-lib';
<NutritionView
bottomSafeArea={false}
style={{ flex: 1 }}
onLoad={() => {}}
onError={(err) => console.error(err)}
/>
<TrainingView
bottomSafeArea={false}
style={{ flex: 1 }}
onLoad={() => {}}
onError={(err) => console.error(err)}
/>
Affichez les vues après un connect réussi.