User can prefer to save app or app data to external memory instead of built-in, for example screenshot that is initiated by the game — android.permission.WRITE_EXTERNAL_STORAGE.
But the user can also choose an external file to import it into the game — i.e. photo from gallery — android.permission.READ_EXTERNAL_STORAGE.
These 2 permissions I use in my AR Masker, but I can’t see here android.permission.READ_PHONE_STATE.
If I recall correctly, there were some changes in the SDK related to these permissions. Possibly, your external permission is mandatory now.
On the other side, there is an asset that called Native Gallery, and there is information about this:
C. Runtime Permissions
Beginning with 6.0 Marshmallow, Android apps must request runtime permissions before accessing certain services, similar to iOS. Note that NativeGallery doesn’t require any permissions for picking images/videos from Photos on iOS 11+, picking images/videos from Gallery on Android 34+ and saving images/videos to Gallery on Android 29+, so no permission dialog will be shown in these cases and the permission functions will return Permission.Granted.
I think I have not explained my questions in enough detail.
I have read the documentation and I understand that these permissions are needed for in a general sense.
What I would like to know is what they do for the functionality of the built-in components (analytics, IAP, etc.) of the engine and whether they can be removed.