After November MacroDroid must target sdk 30 to be allowed to update on the Play Store. I tried my best to get permission, but my request has been rejected because the file operation "is not a core feature of the app".
I think they would argue that any one feature of MacroDroid is not a core feature so it's pretty much impossible to win against that argument.
This is an annoying setback and will effect other features as well that take liberties with file storage permissions. It means I will have to spend a ton of time fixing any features that access files in any way (e.g record microphone, write to file etc.) and the locations these features can access will be extremely limited (basically only MacroDroid's data space). This is going to take my attention away for some time I'm afraid just to keep the app working as well as I can make it.
I will see if it's possible to keep the file operation action alive using the helper file, but it's quite a lot more complicated and lots of additional work.
Information about scoped storage is here:
My rejection is below:
=================================================
Issue: Not a core feature
The feature you identified that is dependent on this permission does not appear to be critical to the core functionality of your app.
Core functionality is defined as the main purpose of the app. Without this core functionality, the app is "broken" or rendered unusable. The core functionality, as well as any core features that comprise this core functionality, must all be prominently documented and promoted in the app's description.
Please update your app so that the feature does not use this permission or ensure that the core functionality is prominently documented and promoted in the app's description and resubmit your app on Play Developer console.
Policy: All Files Access Permission
Files and directory attributes on a user's device are regarded as personal and sensitive user data subject to the Personal and Sensitive Information policy and the following requirements:
Apps should only request access to device storage which is critical for the app to function, and may not request access to device storage on behalf of any third-party for any purpose that is unrelated to critical user-facing app functionality.
Android devices running Android "R" (Android 11) or later, will require the MANAGE_EXTERNAL_STORAGE permission in order to manage access in shared storage. All apps that target R or later and request broad access to shared storage ("All files access") must successfully pass an appropriate access review prior to publishing. Apps allowed to use this permission must clearly prompt users to enable "All files access" for their app under "Special app access" settings. For more information on the R requirements, please see this help article.
I think they would argue that any one feature of MacroDroid is not a core feature so it's pretty much impossible to win against that argument.
This is an annoying setback and will effect other features as well that take liberties with file storage permissions. It means I will have to spend a ton of time fixing any features that access files in any way (e.g record microphone, write to file etc.) and the locations these features can access will be extremely limited (basically only MacroDroid's data space). This is going to take my attention away for some time I'm afraid just to keep the app working as well as I can make it.
I will see if it's possible to keep the file operation action alive using the helper file, but it's quite a lot more complicated and lots of additional work.
Information about scoped storage is here:
Storage updates in Android 11 | Android Developers
developer.android.com
My rejection is below:
=================================================
Issue: Not a core feature
The feature you identified that is dependent on this permission does not appear to be critical to the core functionality of your app.
Core functionality is defined as the main purpose of the app. Without this core functionality, the app is "broken" or rendered unusable. The core functionality, as well as any core features that comprise this core functionality, must all be prominently documented and promoted in the app's description.
Please update your app so that the feature does not use this permission or ensure that the core functionality is prominently documented and promoted in the app's description and resubmit your app on Play Developer console.
Policy: All Files Access Permission
Files and directory attributes on a user's device are regarded as personal and sensitive user data subject to the Personal and Sensitive Information policy and the following requirements:
Apps should only request access to device storage which is critical for the app to function, and may not request access to device storage on behalf of any third-party for any purpose that is unrelated to critical user-facing app functionality.
Android devices running Android "R" (Android 11) or later, will require the MANAGE_EXTERNAL_STORAGE permission in order to manage access in shared storage. All apps that target R or later and request broad access to shared storage ("All files access") must successfully pass an appropriate access review prior to publishing. Apps allowed to use this permission must clearly prompt users to enable "All files access" for their app under "Special app access" settings. For more information on the R requirements, please see this help article.
- Read more about Use of All Files Access Permission
- See Android storage use cases and best practices
- Address this issue in the Play Console.