Release Health
Release Health mesure la stabilité de chaque version de ton app, sans
configurer quoi que ce soit. Au démarrage, le SDK ouvre une session
(status='ok') ; en cas de crash JS non rattrapé, il la fait passer en
status='crashed'. Le dashboard agrège ces sessions par release et affiche
le taux d’utilisateurs sans crash (« crash-free users »).
Activation
Section intitulée « Activation »Disponible à partir de @pionne/react-native@0.7.0. Activé par défaut.
import { Pionne } from '@pionne/react-native';
Pionne.init({ token: 'pio_live_…', release: '1.4.2', // recommandé : version sémantique de l'app // releaseHealth: false, // pour désactiver complètement});Pas d’autre setup. Le SDK envoie deux requêtes au max :
| Quand | Status envoyé |
|---|---|
| À l’init | ok |
| Sur crash fatal JS | crashed |
| Sur erreur uncaught | errored |
Lire le résultat
Section intitulée « Lire le résultat »Sur le dashboard mobile, ouvre un projet → icône ⚡ Crash-free au-dessus de la liste des issues. Tu vois :
- Le taux d’utilisateurs sans crash par release (14 derniers jours)
- Le nombre de sessions totales / crashées / en erreur
- Une barre colorée : 🟢 ≥ 99 %, 🟡 95-99 %, 🔴 < 95 %
API programmatique
Section intitulée « API programmatique »Trois méthodes, rarement utiles : le SDK gère tout.
Pionne.endSession(); // force la fermeture (status='exited')Pionne.getSessionId(); // UUID en cours, pour debugComment c’est compté
Section intitulée « Comment c’est compté »- Une session = un démarrage de l’app (un appel à
Pionne.init()). - Si le même
userIdAnonouvre 5 sessions dont 1 crashe, ce user est comptabilisé comme « utilisateur ayant crashé » sur la release. - Le dashboard affiche le ratio
users_total - users_crashed) / users_total.
Disponible sur 4 SDKs
Section intitulée « Disponible sur 4 SDKs »Même protocole, même comportement, même payload :
| SDK | Version min | Notes |
|---|---|---|
@pionne/react-native | 0.7.0 | iOS / Android / web |
@pionne/web | 0.3.0 | Bonus : flush ‘exited’ via sendBeacon au pagehide |
@pionne/node | 0.3.0 | Flush ‘exited’ au process.beforeExit |
pionne_flutter | 0.3.0 | Auto-flip sur FlutterError + PlatformDispatcher + runZonedGuarded |
Le SDK PHP (pionne/pionne) n’expose pas Release Health : un script
PHP server-side dure quelques ms et ne mappe pas une session utilisateur.
Tracker ça noierait le storage pour aucun signal exploitable.
Endpoint
Section intitulée « Endpoint »Le SDK appelle POST /api/sessions avec ton pio_live_* token. Le payload
est minimal (~150 octets). Voir API · Sessions pour les
détails.