A medical app requires bluetooth to be on in order to sync with external device, we want to permit the user to do so inside the app, what will be the best way to do so?
Ask only when the user wants to use it.
Asking users permission to use certain device features (bluetooth, location services, contacts, etc) can be a bit scary for them.
The best thing to do here is to ask only when the user needs the feature for the first time. Do not ask when the user starts your application for the first time.
Put the user in control
Do not just show the default alert. Explain to the user why you need the bluetooth feature in clear text. Make the user understand. This will make the step to enable bluetooth (or allow access) easier.
The flow would be like this.
- User starts application.
- User navigates to function that requires bluetooth.
- Show screen that explains why you need bluetooth (see screen below).
User enables bluetooth
- User can now use function with bluetooth.
I'm not sure if you can enable bluetooth via an alert (like allowing contact access). In that case I would change the CTA text to either 'I have turned on bluetooth' or 'close'. See below.
A simple rule: Don’t ask a user for access until you really need it.
When you send permission requests, you expect all users to accept the request. In order to achieve this goal, your should build a permissions strategy. Permission strategy depends on the clarity and importance of the permission type you are requesting. Critical permissions should be requested up-front, while secondary permissions may be requested in-context.
Ask For Permissions In-context
In most cases, if a new user experience begins with a set of permissions requests, you may be missing a critical opportunity to engage users. Apps should ask for permissions in context and communicate the value the access will provide. Because once users are engaged, they could be more likely to accept your requests.
the best way is to use the principle: teach without teaching. Show a gif of a user enabling bluetooth on his phone. 2 seconds. job done.