Les trackers de fitness, les apps d'habitudes et les outils de coaching créés avec v0 peuvent afficher le vrai nombre de pas, la fréquence cardiaque ou le poids de l'utilisateur au lieu de lui demander de les saisir. WebViewGold lit et écrit dans Apple Santé (HealthKit) sur iOS et dans Health Connect sur Android avec les deux mêmes schémas d'URL. Le code est la partie facile ; ce sont les règles des stores sur les données de santé qui méritent l'essentiel de votre attention.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
Garantie d'approbation – ou remboursement sous 14 jours
Aucun codage requis
Paiement unique, mises à jour gratuites
Support humain 24/7
Conçu en Allemagne depuis 2014 · ISO 27001
9:41
vv0
HealthKit et Health ConnectDésormais dans votre poche
App Store · Google Play Approuvée
Comment les données de santé arrivent dans votre app web
Lire une valeur
Naviguez vers readhealthkit:// suivi d'un type : un identifiant Apple comme HKQuantityTypeIdentifierStepCount sur iOS, un nom d'enregistrement comme StepsRecord sur Android. Le résultat est injecté dans une variable JavaScript du même nom, sous forme de chaîne valeur et unité (par exemple "8421.0 steps").
Écrire une valeur
writehealthkit://Identifier//Value enregistre une valeur, par exemple writehealthkit://HKQuantityTypeIdentifierStepCount//100 sur iOS ou writehealthkit://StepsRecord//1000 sur Android. Sur Android, la variable contient ensuite WRITE_SUCCESS ou le texte de l'erreur.
Différences entre plateformes
iOS : HealthKit est un plugin WebViewGold, activé avec un token de plugin dans HealthKitEnabled (Config.swift) et la capability HealthKit. Android : Health Connect nécessite Android 8.0 ou plus récent, est intégré à Android 14 et versions ultérieures, renvoie les totaux du jour et injecte "Health Connect not supported" là où il n'est pas disponible.
Prompt pour v0
Collez ceci dans v0 pour implémenter la partie app web. Vérifiez le résultat, publiez, puis testez dans l'app WebViewGold.
Prompt à coller dans v0
Ajoutez à cette app Next.js la prise en charge de HealthKit et Health Connect pour le wrapper d'app WebViewGold. 1) Créez lib/health.ts (côté client uniquement) avec readHealth(kind), qui associe les pas et la fréquence cardiaque à HKQuantityTypeIdentifierStepCount et HKQuantityTypeIdentifierHeartRate quand navigator.userAgent inclut WebViewGold-iOS, et à StepsRecord et HeartRateRecord quand il inclut WebViewGold-Android. 2) readHealth vide window[key], navigue vers "readhealthkit://" + key et interroge window[key] pendant 5 secondes au maximum, une lecture à la fois. 3) Construisez un Client Component HealthCard qui affiche la valeur avec sa source et revient à une saisie manuelle dans les navigateurs. 4) Ajoutez une server action saveDailySteps(steps) qui vérifie la session et fait un upsert d'une ligne par utilisateur et par jour. 5) Envoyez l'historique santé avec Cache-Control: private, no-store. 6) Excluez les pages santé des événements d'analytics.
WebViewGold nous a permis d'avoir le temps de mise sur le marché le plus court et le plus efficace jamais possible parmi toutes les autres plates-formes d'application que nous avons essayées au cours des 5 dernières années. Je ne sais pas pourquoi je ne vous ai pas découvert plus tôt, mais je suis vraiment, vraiment content de l'avoir fait. Nous approchons actuellement les 6000 téléchargements d'application sur l'App Store iOS et Google Play Store sans aucun problème!
Prévoyez une journée, démarches auprès des stores comprises.
Choisissez les quelques types de données que vous utilisez vraiment
Les pas pour un défi de marche, le poids pour un programme de coaching, l'eau pour un suivi d'hydratation. Les deux stores veulent une justification pour chaque type demandé : ne demandez donc pas tout « pour plus tard ».
iOS : activez le plugin HealthKit
Demandez le token de plugin via l'adresse de contact indiquée dans la documentation iOS, renseignez HealthKitEnabled dans Config.swift, ajoutez la capability HealthKit dans Xcode et rédigez les deux textes d'explication (purpose strings) dans Info.plist : Privacy - Health Share Usage Description et Privacy - Health Update Usage Description.
Android : limitez les autorisations Health Connect au strict nécessaire
Health Connect accorde l'accès par type d'enregistrement, et l'app ne peut lire ou écrire que les types qu'elle demande. Vérifiez les autorisations santé dans le manifeste du projet Android, gardez celles que vous utilisez et préparez la déclaration des apps de santé dans la Play Console.
Détectez la plateforme grâce à votre user agent
Définissez des user agents personnalisés avec des tokens distincts, par exemple l'un se terminant par WebViewGold-iOS (useragent_iphone, useragent_ipad) et l'autre par WebViewGold-Android (USER_AGENT). Votre code choisit alors l'identifiant HealthKit ou le nom d'enregistrement Health Connect.
Lisez, affichez et prévoyez une solution de repli
Ne déclenchez la lecture que dans l'app, attendez brièvement la variable injectée et affichez la valeur avec une source claire (« depuis Apple Santé »). Sur iOS, enchaînez plusieurs lectures les unes après les autres, pas dans le même tick de script. Dans un navigateur, proposez une saisie manuelle.
N'écrivez que des données réelles
Écrivez les valeurs que l'utilisateur a réellement produites ou saisies, comme une marche enregistrée. Écrire des estimations ou des données de test dans Apple Santé enfreint la guideline 5.1.3(ii).
Lire les pas du jour sur les deux plateformes
Une seule fonction, deux noms de type. Les valeurs que vous décidez de conserver vont dans la partie serveur de votre stack : Route handlers et server actions Next.js, Postgres via Neon ou Supabase.
javascript
// User agents personnalisés : "... WebViewGold-iOS" (Config.swift), "... WebViewGold-Android" (Config.java)
var ua = navigator.userAgent;
var IN_APP = ua.indexOf("WebViewGold") !== -1;
var IS_IOS_APP = ua.indexOf("WebViewGold-iOS") !== -1;
function readSteps(callback) {
if (!IN_APP) { callback(null); return; } // navigateur : saisie manuelle
var key = IS_IOS_APP ? "HKQuantityTypeIdentifierStepCount" : "StepsRecord";
window[key] = undefined;
window.location.href = "readhealthkit://" + key;
var tries = 0;
var timer = setInterval(function () {
var v = window[key];
if (v !== undefined || ++tries > 20) { // attendre jusqu'à ~5 secondes
clearInterval(timer);
if (v === "Health Connect not supported") { v = undefined; }
callback(v === undefined ? null : String(v)); // ex. "8421.0 steps"
}
}, 250);
}
Règles des stores pour les données de santé
Les données de santé sont la catégorie la plus sensible dans les deux stores. Des articles plus anciens citent la section 27 d'anciennes versions des guidelines de l'App Store ; ces règles HealthKit se trouvent désormais principalement dans les sections 2.5.1 et 5.1.3. Lisez les textes actuels avant de soumettre.
2.5.1
HealthKit uniquement pour la santé et la forme
HealthKit doit être utilisé à des fins de santé et de forme physique et s'intégrer à l'app Santé, et cette intégration doit être indiquée dans la description de votre app.
5.1.3(i)
Ni publicité ni exploration de données
Les données de santé ne peuvent pas être utilisées ni communiquées à des tiers à des fins de publicité, de marketing ou d'exploration de données basée sur l'usage. Indiquez précisément quelles données de santé vous collectez.
5.1.3(ii)
Pas de fausses données, pas d'iCloud
N'écrivez pas de données fausses ou inexactes dans HealthKit, et ne stockez pas d'informations de santé personnelles dans iCloud.
5.1.2(i)
Consentement avant tout partage, IA comprise
Partager des données personnelles avec des tiers, y compris des services d'IA tiers, nécessite au préalable une information claire et une autorisation explicite.
Google Play
Déclaration des apps de santé
Les apps qui utilisent Health Connect remplissent la déclaration des apps de santé (Health apps declaration) dans la Play Console et justifient chaque type de données. L'accès est examiné par nom de package, et toute modification des types de données nécessite une nouvelle déclaration.
Google Play
Une seule politique de confidentialité partout
La politique de confidentialité de la fiche du store doit être la même que celle à laquelle les utilisateurs accèdent par le lien de confidentialité dans Health Connect, et elle doit expliquer comment vous traitez les données de santé.
Les scripts d'analytics et de publicité ne reçoivent jamais de valeurs de santé ; en cas de doute, retirez-les des écrans santé.
Les notes de validation indiquent quel écran lit Apple Santé ou Health Connect, à quoi servent les données, et incluent un compte de démonstration. L'appareil de l'examinateur n'a peut-être aucune donnée de santé : décrivez aussi l'état vide.
Aucune promesse de diagnostic ou de traitement pour une app de bien-être. Les apps médicales font l'objet d'un examen plus strict (guideline 1.4.1) et peuvent nécessiter une autorisation réglementaire.
Questions fréquentes
Une app web peut-elle lire les données d'Apple Santé ?
Pas depuis Safari : HealthKit n'a pas d'API web. Dans une app native, oui. WebViewGold lit la valeur nativement après un appel readhealthkit:// et l'injecte dans l'app web sous forme de variable JavaScript.
Le même code sert-il pour HealthKit et Health Connect ?
Les schémas d'URL sont identiques (readhealthkit:// et writehealthkit://) ; seuls les noms de type diffèrent : des identifiants HealthKit comme HKQuantityTypeIdentifierStepCount sur iOS, des noms d'enregistrement comme StepsRecord sur Android. Faites la correspondance dans une seule fonction.
Apple refuse-t-il les apps qui utilisent HealthKit ?
Pas si la santé et la forme font réellement partie de l'app. Les refus viennent d'un HealthKit utilisé hors santé et forme, de données de santé utilisées pour la publicité, de fausses données écrites dans Santé et d'intégrations non expliquées. Mentionnez Apple Santé dans votre description et montrez clairement l'intégration dans l'interface.
Où mon app v0 doit-elle stocker les valeurs de santé ?
Idéalement nulle part : lire, afficher, oublier. Si une fonctionnalité a besoin d'un historique, ne stockez que le nécessaire (par exemple un total par jour), protégez-le par utilisateur, décrivez-le dans la politique de confidentialité et supprimez-le avec le compte.
Health Connect fonctionne-t-il sur tous les téléphones Android ?
Il nécessite Android 8.0 ou plus récent. Il est intégré à Android 14 et versions ultérieures ; sur les versions plus anciennes, les utilisateurs installent l'app Health Connect. Là où il n'est pas disponible, WebViewGold injecte "Health Connect not supported" : gardez donc une saisie manuelle en solution de repli.
Trois façons de mettre votre app dans les stores
Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.
Faites-le vous-même
$109 par plateforme, paiement unique
La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.
Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.