Déclaration d'apps de santé et autorisations Health Connect : comment faire approuver une app web de santé ou de sport sur Google Play
Chaque app sur Google Play doit répondre à la déclaration d'apps de santé, y compris les apps sans aucune fonctionnalité de santé. Si votre app lit ou écrit des données Health Connect, Google vérifie en plus chaque type de données demandé par rapport à une fonctionnalité visible et à votre politique de confidentialité. La plupart des refus viennent d'une déclaration qui ne correspond pas au bundle, ou de la demande de plus de types de données que l'app n'en utilise.
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
Votre app
Votre appDésormais dans votre poche
App Store · Google Play Approuvée
Deux exigences faciles à confondre
La déclaration d'apps de santé est un formulaire de la page Contenu de l'application dans la Play Console. Chaque développeur doit la remplir pour chaque app. Les apps sans fonctionnalités de santé indiquent simplement qu'elles n'en ont pas. Les apps avec des fonctionnalités de santé sélectionnent les catégories qu'elles proposent, comme l'activité et le sport, la nutrition et la gestion du poids, le sommeil, le stress, le suivi des règles, la gestion des maladies ou des catégories médicales. Google examine les réponses dans le cadre de l'examen de l'app.
Les autorisations Health Connect s'appliquent quand votre app lit ou écrit des données dans Health Connect, l'espace de stockage d'Android sur l'appareil pour les données de santé et de sport. Google traite ces données comme des données utilisateur personnelles et sensibles. Dans le même formulaire d'apps de santé, vous déclarez chaque type de données Health Connect que vous demandez et expliquez en quoi il profite à l'utilisateur. Vous ne pouvez demander que les types de données dont une fonctionnalité visible par l'utilisateur a besoin, et la politique de confidentialité de votre fiche doit être la même que celle que les utilisateurs atteignent depuis Health Connect.
Les règles plus larges sur le contenu et les services de santé (Health Content and Services) ajoutent des règles sur les affirmations. Une app avec des fonctionnalités de santé ou médicales qui n'est pas un dispositif médical réglementé a besoin dans sa description d'un avertissement clair indiquant qu'elle n'est pas un dispositif médical et ne diagnostique, ne traite, ne guérit ni ne prévient aucune affection, et elle doit inviter les utilisateurs à consulter un professionnel de santé. Les apps réglementées comme dispositifs médicaux doivent le déclarer et pouvoir présenter leur autorisation ou leur certification sur demande.
Comment le refus est généralement formulé
Les notifications dans ce domaine citent soit les règles sur le contenu et les services de santé, soit les exigences Health Connect des règles sur les données utilisateur. Les motifs typiques sont : la déclaration manque, est incomplète ou ne correspond pas à ce que demande le bundle ; un type de données demandé n'est justifié par aucune fonctionnalité visible ; la politique de confidentialité n'explique pas comment les données de santé sont traitées ; ou la description fait des affirmations médicales sans l'avertissement requis.
Une variante fréquente vient du côté des autorisations : le bundle contient des autorisations Health Connect, mais la déclaration indique que l'app n'a pas de fonctionnalités de santé. Cela signifie en général que les autorisations d'un modèle ou d'un projet copié n'ont jamais été retirées. Le guide sur les autorisations montre comment les trouver dans le manifeste fusionné.
Comment WebViewGold communique avec Health Connect
L'API Health Connect de WebViewGold permet à votre app web de lire et d'écrire des enregistrements via des schémas d'URL. readhealthkit://StepsRecord lit le total du jour pour ce type d'enregistrement et l'injecte dans une variable JavaScript qui porte le nom de l'enregistrement, par exemple "8421.0 steps". writehealthkit://StepsRecord//1000 écrit une valeur et injecte WRITE_SUCCESS ou le texte de l'erreur. Si Health Connect n'est pas disponible, la variable contient "Health Connect not supported". Health Connect est préinstallé sur Android 14 et plus récent, et l'API exige Android 8.0 ou plus récent. L'API Android reprend le fonctionnement du plugin HealthKit pour iOS, si bien qu'une même app web peut travailler avec les données de santé sur les deux plateformes.
Deux détails comptent pour la déclaration. D'abord, les lectures renvoient les valeurs du jour au moment où votre app web les demande ; une intégration WebViewGold n'a donc aucun usage des autorisations Health Connect qui lisent un historique de plus de 30 jours ou lisent des données en arrière-plan. Ensuite, l'API ne fonctionne que pour les types d'enregistrements pour lesquels l'app a demandé l'autorisation, ce qui est exactement la liste que Google vous demande de garder courte.
Je suis très content d'avoir acheté cette application ! Extrêmement facile et excellente documentation. J'ai été en contact avec le service client, ils ont répondu très rapidement et très amicalement. Ils ont résolu ma question en un jour. 10/10 recommanderaient.
D'après le modèle documenté : le lien déclenche la lecture, et la variable injectée est disponible peu après. Lors de la toute première lecture, Android affiche la boîte de dialogue d'autorisation Health Connect ; laissez donc l'utilisateur toucher à nouveau après avoir accordé l'accès.
html
<a href="readhealthkit://StepsRecord" onclick="setTimeout(showSteps, 300)">Synchroniser les pas du jour</a>
<p>Pas aujourd'hui : <span id="steps">-</span></p>
<script>
function showSteps() {
// WebViewGold injecte une variable qui porte le nom du type d'enregistrement
if (typeof StepsRecord !== "undefined") {
document.getElementById("steps").textContent = StepsRecord; // par ex. "8421.0 steps"
}
}
</script>
Types d'enregistrements, autorisations et justifications qui passent
Les autorisations sont indiquées sans le préfixe android.permission.health.. Ne gardez que les lignes que votre app web utilise réellement.
Enregistrement WebViewGold
Autorisation Health Connect
Justification qui nomme une fonctionnalité
StepsRecord
READ_STEPS, WRITE_STEPS uniquement si vous enregistrez des pas
Affiche le nombre de pas du jour sur le tableau de bord d'accueil et marque l'objectif quotidien comme atteint.
HeartRateRecord
READ_HEART_RATE
Affiche la fréquence cardiaque du jour sur l'écran de résumé de la séance.
WeightRecord
READ_WEIGHT, WRITE_WEIGHT
Permet à l'utilisateur de noter son poids du jour dans le suivi de progression et de le voir dans le graphique.
SleepSessionRecord
READ_SLEEP
Affiche le sommeil enregistré aujourd'hui à côté du bilan d'énergie du matin.
HydrationRecord
READ_HYDRATION, WRITE_HYDRATION
Ajoute un verre d'eau depuis le widget d'hydratation et affiche le total du jour.
Corriger : mettre d'accord la déclaration, le manifeste et la politique
Suivez ces étapes dans l'ordre ; chacune alimente la suivante.
Listez chaque écran de votre app web qui appelle readhealthkit:// ou writehealthkit:// et le type d'enregistrement qu'il utilise. Cette liste définit votre périmètre. Une fonctionnalité encore sur la feuille de route n'est pas une raison de demander son type de données dès aujourd'hui.
Réduisez les autorisations Health Connect dans le manifeste
Gardez une autorisation de lecture ou d'écriture par type d'enregistrement de votre liste et retirez le reste d'AndroidManifest.xml. Vérifiez l'onglet Merged Manifest dans Android Studio et, après l'import, les autorisations listées dans l'explorateur d'app bundles. Si les autorisations de lecture de l'historique ou en arrière-plan apparaissent, retirez-les.
Remplissez la déclaration d'apps de santé
Sur la page Contenu de l'application, sélectionnez les fonctionnalités de santé que propose votre app. Pour chaque type de données Health Connect, décrivez la fonctionnalité qui l'utilise, l'écran où l'utilisateur le voit, et si vous lisez, écrivez ou les deux. « Les pas du jour sur le tableau de bord d'accueil » est une justification ; « pour améliorer l'expérience utilisateur » n'en est pas une.
Mettez à jour la politique de confidentialité
Ajoutez une section sur les données de santé : quels types d'enregistrements, en lecture ou en écriture, dans quel but, si vous en conservez des copies sur votre serveur, et que les données ne sont ni vendues ni utilisées à des fins publicitaires. Utilisez la même URL dans la Play Console, dans l'app et pour le lien Health Connect ; le guide sur le lien de la politique de confidentialité couvre les règles de l'URL.
Corrigez la description
Retirez les affirmations de diagnostic ou de traitement que vous ne pouvez pas étayer par une certification de dispositif médical, et ajoutez l'avertissement « ceci n'est pas un dispositif médical » si l'app a des fonctionnalités de santé ou médicales. Le guide sur les affirmations trompeuses propose un prompt de réécriture.
Expliquez avant de demander, puis soumettez à nouveau
Affichez dans votre app web un court écran qui explique ce que vous allez lire et pourquoi avant le premier appel à readhealthkit://, pour que la boîte de dialogue du système ne tombe pas de nulle part. Ajoutez un compte de démonstration avec des données d'exemple sous Identifiants de connexion (Sign-in details), indiquez les données de santé et de sport dans le formulaire Sécurité des données, et soumettez à nouveau.
Modèle de réponse pour un refus Health Connect
Associez chaque type de données à un écran. Les examinateurs comparent la liste au bundle, elle doit donc correspondre exactement au manifeste. Le modèle reste en anglais, car les examinateurs de Google lisent l'anglais.
À coller dans le formulaire de réponse ou d'appel, puis à adapter
Hello Google Play team,
Thank you for reviewing [app name] ([package name]). We have updated the health apps declaration and the app so that every Health Connect data type is tied to a visible feature:
- Steps (read): shown on the Home dashboard as today's step count and used for the daily goal badge.
- Weight (read and write): the user logs today's weight in Progress > Log weight and sees it in the chart.
[add one line per remaining data type]
We removed the following permissions that the app did not need: [list].
Before the Health Connect permission dialog appears, the app explains what is read and why ([screen name]).
Our privacy policy ([URL]) contains a section on health data and is the same link shown in Health Connect.
The app is not a medical device; the description now contains the corresponding disclaimer.
Demo account with sample data: [username] / [password].
Kind regards,
[name]
Checklist pour une app de santé
Déclaration d'apps de santé remplie, même si l'app n'a pas de fonctionnalités de santé.
Chaque type de données Health Connect du manifeste apparaît dans la déclaration avec une justification propre à une fonctionnalité, et inversement.
Pas d'autorisations de lecture de l'historique ou en arrière-plan, sauf si une fonctionnalité en a vraiment besoin.
La politique de confidentialité couvre les données de santé et utilise la même URL dans la Play Console, dans l'app et dans Health Connect.
La description ne contient aucune affirmation médicale non étayée ; l'avertissement est présent là où il est requis.
Le formulaire Sécurité des données liste les données de santé et de sport que traite l'app.
Les identifiants de connexion (Sign-in details) contiennent un compte de démonstration avec des données, pour que l'examinateur puisse voir chaque fonctionnalité de santé.
Questions fréquentes
Mon app n'a rien à voir avec la santé. Ai-je quand même besoin de la déclaration d'apps de santé ?
Oui. Tous les développeurs remplissent le formulaire pour leurs apps. Si votre app n'a pas de fonctionnalités de santé, choisissez l'option qui l'indique et envoyez-la ; cela prend une minute.
Ai-je besoin d'une autorisation séparée pour utiliser Health Connect ?
L'accès est examiné via la déclaration d'apps de santé, dans le cadre de l'examen normal de l'app. Google avait auparavant un formulaire de demande séparé ; les types de données qui y étaient déclarés ont dû être transférés dans la déclaration de la Play Console début 2025.
WebViewGold peut-il lire l'historique Health Connect, par exemple les 90 derniers jours ?
L'API documentée renvoie les totaux du jour pour un type d'enregistrement. Un historique plus long n'en fait pas partie ; ne demandez donc pas l'autorisation d'historique pour une intégration WebViewGold.
La même app web fonctionne-t-elle avec Apple Santé sur iOS ?
WebViewGold pour iOS dispose d'un plugin HealthKit dont l'API Health Connect pour Android reprend le fonctionnement. Il s'active avec un jeton de plugin dans Config.swift et la capability HealthKit, et l'App Store applique ses propres règles sur les données de santé.
Puis-je utiliser les données Health Connect pour la publicité ou l'analytics ?
Non. Les données Health Connect sont des données utilisateur personnelles et sensibles soumises à des restrictions supplémentaires, et les vendre ou les utiliser à des fins publicitaires n'est pas un usage autorisé. Réservez-les aux fonctionnalités visibles par l'utilisateur que vous avez déclarées.
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.