Follow these guidelines when submitting your app to the Google Play Store
There are 2 key permissions that may require a review from Google:
- Foreground Service Health
- Health Connect
Key Permission 1) Foreground Service Health
The SDK uses the FOREGROUND_SERVICE_HEALTH permission. If your app targets Android 14 (API level 34) or above, Google Play asks you to declare how your app uses it. The declaration is under Foreground service permissions in Monitor and improve > Policy and programs > App content, and Play Console also shows it when you review a release that includes the permission.
How the SDK uses the foreground service
When a sync starts while your app is on screen, for example when the user connects their health data or opens your app, the SDK runs it as a foreground service and shows a notification. The foreground service keeps the sync running if the user leaves your app, and the notification goes away when the sync is done. Syncs that start while your app is in the background don't use a foreground service.
The SDK has worked this way since Android SDK 1.3.9. In earlier versions the notification stayed on screen the whole time, so if yours doesn't go away, update to the latest SDK or plugin before you record your video.
Select the Task
Under What tasks require your app to use the FOREGROUND_SERVICE_HEALTH permission?, select Health data sync, step counter, exercise tracker.
Describe the Feature
Play Console may also ask you to describe the feature, and what happens to users if the system delays or interrupts it. You can use the text below. Replace [App name] with your app's name, and list the health data your app reads.
[App name] uses the Sahha SDK to sync the user's health and fitness data, such as steps, sleep and heart rate, from Health Connect so the app can show their health insights. When a sync starts while the app is on screen, for example when the user connects their health data or opens the app, it runs as a short foreground service with a visible notification so it can finish if the user leaves the app. The notification goes away when the sync is done. Syncs that start while the app is in the background don't use a foreground service. If the sync is delayed or interrupted, the health data the user just connected, or opened the app to see, won't be up to date. Their latest steps, sleep and activity, and the insights based on them, will be missing or out of date until a later sync finishes. Set Your Notification Text
The reviewer will read your notification in the video. The SDK's default description, Swipe for options to hide this notification., dates from when the notification stayed on screen. Set your own title and shortDescription in Custom Notification Settings so the notification says what's happening. For example:
- Title:
Syncing your health data - Short description:
This notification closes when the sync is done.
Record the Video
Google asks for a video of a user starting a health data sync in your app.
Before you record, check that the notification will show
- Notifications are allowed.
configure()asks for notification permission on Android 13 and later. If it isn't granted, the sync still runs, but its notification doesn't appear in the notification shade. - Physical activity is allowed. On Android 14 and later, Android only starts a health foreground service if your app has been granted Physical activity (
ACTIVITY_RECOGNITION) or another permission on Android's list for the health type. The SDK doesn't request Physical activity in every setup, so check your app's permissions in Settings on the test phone. - The sync has enough to do. Android can wait up to 10 seconds before it shows a foreground service notification, so a sync that finishes sooner may not show one. The first sync after a fresh install, on a phone with plenty of Health Connect data, is the easiest to film.
Record your screen for 30 to 60 seconds on a phone running Android 14 or later:
- Open your app on a fresh install, or after clearing its storage, and sign in.
- Tap the button in your app that connects health data (the one that calls
enableSensors), then allow the Health Connect permissions. - Back in your app, wait a few seconds, then pull down the notification shade to show the sync notification.
- Press Home to leave your app. Show the notification staying while the sync runs, then going away when it's done.
- Optionally, reopen your app and show the synced data.
Upload the video somewhere Google can watch it without signing in, such as an unlisted YouTube video, and paste its link into the Video link field. Short captions for each step help the reviewer follow along.
Key Permission 2) Health Connect
The permissions that are declared in the project’s AndroidManifest.xml file must be reviewed.
With every sensor enabled and declared, this might be what is seen in your Play Console:
Health Connect App Integration Requirements
To work with Health Connect, apps need to focus on making users' health and fitness better. They have to follow strong rules about privacy and safety from Google Play. This means they should only use health data for allowed reasons, get the right permissions, make sure users agree before sharing their data, and keep the data safe. Apps should also explain in a privacy policy how they handle user data, show users how to control their data, and might need to check their security practices.
To learn more about all the rules and what you need to do to use Health Connect, please refer to the official Health Connect policy requirements.
Health Connect by Android Permissions Overview
Health Connect lets apps access health and fitness information, which is very personal. When using Health Connect, apps must follow strict rules to keep this information safe and private. Apps should only ask for access to data if it's really needed to help users track and improve their health and fitness. This includes things like monitoring workouts, sleep, and eating habits, and sharing this data safely with other apps that help with health goals.
To use Health Connect, developers need to make sure they're using the data correctly, such as improving the app's health features and not for things like ads or selling information to others. If an app wants to use Health Connect for research, it must get permission from the people involved. It's also important for apps to be clear about how they use and protect health data, including having a privacy policy that explains everything to users. Developers must also keep this data secure, following best practices to prevent unauthorized access or leaks.
For more detailed rules and how to safely connect an app to Health Connect, please refer to the official guidelines for appropriate access and use of Health Connect.
Guidelines for Handling Personal and Sensitive User Data
When your app handles personal and sensitive data, like health information, contacts, or location, it's important to use this data responsibly and safely. Make sure to only collect and use data needed for your app's functions or what users would reasonably expect, securing it with modern methods like HTTPS. Always ask users clearly for their permission before accessing their data, and never sell their information. Be upfront with users about how you're using their data by providing clear in-app disclosures and obtaining their consent in a straightforward manner. Follow these practices to ensure user data is protected and used ethically.
For specific situations or more detailed guidelines, please refer to the official guidelines for personal and sensitive user data.
Health Connect API Review
Once a version of the app with Health Connect data types is uploaded to the Google Play Console, within Monitor and improve > Policy and programs > App content, you may see some actions to take within the Needs attention section.
Please note there may be up to a day delay before the 'Needs attention' section is updated with actionable items
Once you eventually see content under Need attention section, it should take you to the Health apps section.
This screen highlights the Health Connect permissions you plan to use, please check that it is correct before proceeding.
As you scroll down, please specify the type of features that are included within your app using the checkboxes.
On the next screen, you will need to provide descriptions of how each Health Connect permission is used within the app.
You can use the following link to use justifications of how Sahha uses each permission here.
Once you've filled out all information needed the Health Connect API Review, continue with the rest of your app submission process.
Google will approve your submission or give you more information on what needs to be changed for your submission to be approved.
Health Research Use Case Disclaimer
If this is applicable to your app, please read the description below and send us your study details.
Please read the following description in it's entirety if you have selected 'Health Research' as a use case for your application:
Applications give users the opportunity to donate their data for health research studies. These studies are typically approved by an Institutional Review Board (IRB) or Ethics Committee (EC) and collect user consent for conducting health research.
*Apps conducting health-related human subject research using data obtained through Health Connect must obtain consent from participants or, in the case of minors, their parent or guardian. Such consent must include the (a) nature, purpose, and duration of the research; (b) procedures, risks, and benefits to the participant; (c) information about confidentiality and handling of data (including any sharing with third parties); (d) a point of contact for participant questions; and (e) the withdrawal process. Apps conducting health-related human subject research using data obtained through Health Connect must receive approval from an independent board whose aim is 1) to protect the rights, safety, and well-being of participants and 2) with the authority to scrutinize, modify, and approve human subjects research. Proof of such approval must be provided upon request.*
If this description does not fit your application use case, please revise your selected use cases in the previous section
If this description does fit your application use case, please email support@sahha.ai with your study details (IRB or ethics approval, consent process and research purpose) to expedite your review
READ Access
For the rationale, the appropriate justifications from the table below may be used to clearly articulate the reasoning behind the selected READ data types.
Data Type Justifications
| Data Type | Justification |
|---|---|
| BodyTemperatureRecord | Regular monitoring of body temperature helps detect physiological responses to exercise, providing insights into how fitness activities affect overall health. |
| BasalBodyTemperatureRecord | Monitoring basal body temperature allows us to track metabolic changes that can affect both fitness and sleep quality. This data helps us identify patterns related to overall health. |
| BasalMetabolicRateRecord | Measuring Basal Metabolic Rate (BMR) enables us to understand users' caloric needs at rest, which is crucial for tailoring dietary recommendations and improving fitness outcomes. |
| ActiveCaloriesBurnedRecord | We aim to track active calories burned to analyze users' energy expenditure during physical activities. This data is essential for understanding its impact on fitness and overall health. |
| TotalCaloriesBurnedRecord | Tracking total calories burned helps us understand daily energy expenditure, aiding in balancing caloric intake with physical activity for better fitness and metabolic health. |
| BloodGlucoseRecord | Blood glucose levels provide insights into how energy levels and physical performance are affected, helping us understand the metabolic aspects of fitness and its impact on overall health. |
| BloodPressureRecord | Regular monitoring of blood pressure is vital for assessing cardiovascular health, allowing us to study the relationship between physical activity and heart health. |
| SleepSessionRecord | Recording sleep sessions is vital for analyzing sleep patterns and quality, helping us understand how sleep affects physical health and recovery. |
| StepsRecord | Counting steps provides a simple yet effective measure of daily physical activity, encouraging users to move more and improve cardiovascular health and fitness. |
| FloorsClimbedRecord | Tracking floors climbed provides additional insights into the intensity of physical activity, helping us measure users' fitness levels and cardiovascular health. |
| ExerciseSessionRecord | Detailed records of exercise sessions are necessary for analyzing physical activity patterns, which are crucial for understanding their impact on fitness and sleep quality. |
| HeartRateRecord | Monitoring heart rate is fundamental for understanding cardiovascular responses during exercise and rest, allowing us to assess the impact of physical activity on heart health. |
| RestingHeartRateRecord | Resting heart rate data is a key indicator of cardiovascular fitness and recovery, providing essential insights into overall fitness and health. |
| HeartRateVariabilityRmssdRecord | Heart rate variability (HRV) data is crucial for studying autonomic nervous system function and recovery, which are important for optimizing fitness programs and improving sleep quality. |
| HeightRecord | Recording height is essential for accurately calculating other health metrics, such as BMI and body composition, which are vital for assessing fitness and overall health. |
| WeightRecord | Regular weight monitoring is essential for tracking changes in body weight, which is important for managing weight goals and assessing overall health and fitness. |
| BodyFatRecord | Tracking body fat percentage offers a comprehensive understanding of body composition changes, enabling us to evaluate the effectiveness of fitness programs and interventions. |
| BodyWaterMassRecord | Monitoring body water mass is essential for assessing hydration levels, which are crucial for physical performance, recovery, and sleep quality. |
| BoneMassRecord | Tracking bone mass allows us to study bone health, particularly in relation to physical fitness activities that impact bone density and overall health. |
| LeanBodyMassRecord | Tracking lean body mass provides insights into changes in muscle mass, which is important for evaluating fitness progress and overall health. |
| OxygenSaturationRecord | Monitoring oxygen saturation (SpO2) is important for assessing respiratory efficiency, which is crucial for understanding the impact of physical activity and sleep quality on overall health. |
| RespiratoryRateRecord | Monitoring respiratory rate helps us study breathing patterns, allowing us to assess the effects of fitness and sleep on respiratory health. |
| Vo2MaxRecord | VO2 max data is critical for measuring aerobic fitness, helping us understand users' fitness levels and optimize their training programs for improved health outcomes. |
| MenstruationFlowRecord | Tracking menstrual flow helps us provide insights into reproductive health and how the menstrual cycle relates to sleep, energy, and overall wellbeing throughout the month. |
| MenstruationPeriodRecord | Recording menstruation periods allows us to map the timing and length of the menstrual cycle, helping users understand how cycle phases affect their physical activity, recovery, and overall health. |
| IntermenstrualBleedingRecord | Monitoring intermenstrual bleeding provides additional context about reproductive health patterns, helping users identify changes that may affect their overall wellbeing. |
| CervicalMucusRecord | Cervical mucus observations are an important indicator of cycle phase and fertility, helping us provide a more complete picture of reproductive health and how it relates to other health signals. |
| OvulationTestRecord | Ovulation test results help us identify fertile windows and cycle phases, providing insights into reproductive health and its relationship with sleep, mood, and physical activity. |
| SexualActivityRecord | Recording sexual activity provides additional context for reproductive and overall health tracking, helping users maintain a complete view of the factors that influence their wellbeing. |
| NutritionRecord | Tracking nutrition intake, including energy, macronutrients, vitamins, and minerals, is essential for understanding how diet supports physical activity, recovery, and overall health and fitness. |
| HydrationRecord | Monitoring hydration is essential for assessing fluid intake, which is crucial for physical performance, recovery, sleep quality, and overall health. |
Background Read Access
The SDK uses the READ_HEALTH_DATA_IN_BACKGROUND permission. This is a single permission that applies to all declared Health Connect sensors rather than a specific data type, and it allows Sahha to read health data while the app is in the background.
You may use the following justification for the READ_HEALTH_DATA_IN_BACKGROUND permission.
Sahha continuously analyses health and wellbeing using signals such as sleep, activity, and heart rate. Reading health data in the background allows the app to keep the user's health scores, biomarkers, and insights up to date throughout the day, including overnight and while the app is closed, so that health feedback, trends, and notifications remain timely and accurate without requiring the user to manually open the app. Health data read in the background is used solely to provide these health and wellbeing features to the user.
Include Scientific Citations for Users
Sahha scores, biomarkers, and insights are grounded in scientific research. To comply with medical app guidelines, apps must provide users with accessible citations and sources for the health scores presented. We recommend displaying the following links within your app for transparency and compliance:
- Activity Score: How the Activity Score Works - App Submission
- Sleep Score: How the Sleep Score Works - App Submission
WRITE Access
The SDK does not write any data to Health Connect
WRITE access is not needed so a value of n/a is sufficient.
Privacy Policy
You may reference the Sahha End User Privacy in your app submission. This details how we collect and handle your user data.
Review Process Timeline
Please keep in mind this review process may take up to 7 business days.