Installation
Prérequis
Section intitulée « Prérequis »- Expo SDK 50+ (ou React Native 0.73+ vanilla)
- Hermes activé (recommandé pour la capture des unhandled rejections)
- Node 18+
Installer le package
Section intitulée « Installer le package »npm install @pionne/react-nativeyarn add @pionne/react-nativepnpm add @pionne/react-nativePeer deps optionnelles
Section intitulée « Peer deps optionnelles »Ces packages activent des fonctionnalités complémentaires. Tu peux installer uniquement ceux dont tu as besoin.
| Package | Activé pour | Obligatoire ? |
|---|---|---|
expo-application | Récupère app version, bundle id | Recommandé |
expo-device | Modèle, OS, marque dans le contexte | Recommandé |
expo-updates | Tag automatique du runtime/update id | Optionnel |
react-native-view-shot | Capture d’écran | Si screenshots |
@react-native-async-storage/async-storage | Queue offline | Si réseau instable |
Installe tout d’un coup :
npx expo install expo-application expo-device expo-updates react-native-view-shot @react-native-async-storage/async-storageConfigurer app.json
Section intitulée « Configurer app.json »Si tu veux exposer ton release/environment via les EAS Updates :
{ "expo": { "version": "1.0.0", "runtimeVersion": "1.0.0", "extra": { "pionneEnv": "production" } }}Première init
Section intitulée « Première init »-
Importer le SDK :
import { Pionne } from '@pionne/react-native'; -
Appeler
initau plus tôt (avant le rendu) :Pionne.init({token: 'pio_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',environment: __DEV__ ? 'development' : 'production',release: '1.0.0',tags: { feature_flag_v2: true },sampleRate: 1,scrubPii: true,}); -
(Expo Router) — placer l’init dans
app/_layout.tsxau-dessus du<Stack>:import { Stack } from 'expo-router';import { Pionne } from '@pionne/react-native';Pionne.init({ token: process.env.EXPO_PUBLIC_PIONNE_TOKEN! });export default function RootLayout() {return <Stack />;}
Sécuriser le token
Section intitulée « Sécuriser le token »Place ton token dans .env et utilise EXPO_PUBLIC_PIONNE_TOKEN. Le token est destiné à l’écriture seule (cf. Tokens) — il est safe d’être bundlé.
EXPO_PUBLIC_PIONNE_TOKEN=pio_live_xxxxxxxxxxxx...