Ask for a permission in context, when the user starts to interact with the feature that requires it.
Don't block the user. Always provide the option to cancel an educational UI flow, such as a flow that explains the rationale for requesting permissions.
Ask for a permission in context, when the user starts to interact with the feature that requires it. Don't block the user. Always provide the option to cancel an educational UI flow, such as a flow that explains the rationale for requesting permissions.