Aller au contenu

SDK React Native + Expo

Le SDK officiel Pionne pour React Native et Expo. Auto-capture des erreurs JS, natives iOS/Android, et Hermes. Compatible Expo managed et bare workflow.

Version actuelle : 0.8.6

Fenêtre de terminal
npm install @pionne/react-native
import { Pionne } from '@pionne/react-native';
Pionne.init({ token: 'pio_live_…' });

Pour ne pas polluer ton dashboard prod avec les events que tu génères en Metro / Expo Go (et éviter le casse-tête du bundle ID mismatch entre host.exp.Exponent et le bundle pinné sur ton projet), passe enableInDev: false :

Pionne.init({
token: 'pio_live_…',
enableInDev: false, // no-op en __DEV__
});

En __DEV__, l’init log [Pionne] Skipped in __DEV__ (enableInDev=false) et toutes les méthodes (captureException, captureMessage, setUser, etc.) deviennent silencieuses pour la durée du process. Aucun handler global installé, aucune session ouverte. Comportement par défaut : enableInDev: true (rétrocompat).

Cette page est un alias vers la documentation principale du SDK React Native. Les guides complets sont déjà disponibles :

Pionne peut afficher la ville/région/pays approximatif de l’utilisateur sur chaque event, comme Sentry. Désactivé par défaut pour la vie privée :

Pionne.init({
token: 'pio_live_…',
sendGeography: true, // ← opt-in
});

Au boot, un seul appel HTTP vers https://ipapi.co/json/ (timeout 4 s) résout contexts.geo = { city, region, country, country_code } et le résultat est attaché à tous les events suivants. Aucune permission iOS/Android requise (pas de GPS, juste l’inverse-DNS de l’IP). Si le lookup échoue, le SDK continue sans géo.

Tu peux remplacer le fournisseur via geographyEndpoint: '…' — toute URL renvoyant un JSON { city, region, country, country_code } fonctionne.

Le bundle ID (com.tonapp.app) est auto-pinné côté serveur au premier event reçu. Si quelqu’un vole ton token et l’utilise depuis une autre app, les events sont rejetés automatiquement.