@vox-pulse/react-native
v0.1.0
Published
VoxPulse SDK for React Native and Expo
Maintainers
Readme
@vox-pulse/react-native
SDK Vox Pulse pour React Native et Expo.
npm install @vox-pulse/react-nativeRécupérez votre clé publique dans Vox Pulse → Dashboard → Paramètres (elle
commence par vpk_). Cette clé est conçue pour être embarquée dans une
application : elle n'autorise que l'envoi de retours, jamais la lecture.
Utilisation
// App.tsx
import { VoxPulseProvider } from "@vox-pulse/react-native";
export default function App() {
return (
<VoxPulseProvider
apiKey="vpk_..."
apiBase="https://votre-instance-vox-pulse"
user={{ email, plan, mrr }}
>
<Navigation />
</VoxPulseProvider>
);
}import { useVoxPulse } from "@vox-pulse/react-native";
const { track, sendFeedback, identify } = useVoxPulse();
await sendFeedback({
type: "bug",
title: "L'écran de paiement reste blanc",
description: "Après avoir validé le panier.",
});Pas de widget flottant
Le widget web repose sur le DOM, qui n'existe pas en React Native. Votre
application affiche donc sa propre interface de retour et appelle
sendFeedback(). Tout le reste — identify, track, sondages — se comporte
comme sur le web.
apiBase est obligatoire
Sur mobile il n'y a pas d'origine de page à deviner. Passez l'URL de votre instance, sinon le SDK ne sait pas où envoyer les retours.
Ce qui est transmis
Le titre et la description saisis, la plateforme (ios / android), la
version de l'OS, les dimensions de l'écran, et le contexte utilisateur fourni
via identify().
Aucune URL n'est rapportée : un nom d'écran mobile n'est pas une URL, et le déduire de l'état de navigation serait faux plus souvent qu'utile. Passez l'écran courant vous-même si c'est utile :
sendFeedback({ type: "bug", title: "…", context: { screen: "Checkout" } });Licence
MIT
