Comply with new Google Play's Photo and Video Permissions policy - removal of READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions
Motivation
Google announced a new Google Play's Photo and Video Permissions policy. The full details are available at https://support.google.com/googleplay/android-developer/answer/14115180?hl=en
This is mainly about upcoming changes around the READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions.
Quoting:
- Mid 2024: Apps with one-time or infrequent use of photos requested to use a system photo picker and remove READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions from their app manifest.
- Early 2025: Only apps with broad access core functionality can use READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions.
Apps using those permissions for the Stream Chat feature are likely to fall into this "one-time or infrequent use of photos" bucket. See https://support.google.com/googleplay/android-developer/answer/14115180?hl=en#zippy=%2Cwhat-does-it-mean-to-have-a-one-time-or-infrequent-use-of-photos-or-video-files
What does it mean to have a one-time or infrequent use of photos or video files? Examples of one-time or infrequent use of photos or video files include, but are not limited to, uploading a profile picture, uploading an image for a playlist, or uploading a photo of a check for banking purposes. Infrequent use infers that your app does not have a photo or video use case as its core functionality. If your app has a one-time or infrequent use case for photo or video files, you may not use the READ_MEDIA_IMAGES or READ_MEDIA_VIDEO permission, and we urge you to instead use a system picker to preserve user privacy.
Proposed solution
Google suggests using a system picker, such as an Android photo picker. See https://support.google.com/googleplay/android-developer/answer/14115180?hl=en# and https://developer.android.com/training/data-storage/shared/photopicker
Acceptance Criteria
Apps using the Stream SDK will stay compliant by 2024/Early 2025. Stream SDK switches to a system picker or an alternative method, so we no longer use the READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions.
Hey @fabiendem, for this to happen, we will have to wait for our dependencies like react-native-cameraroll and expo-media-library to be compliant first and then we can add the following support as well.
FYI: we use these libraries for our image picker.
Hi @khushal87, thank you. Are you working in collaboration with the maintainers of those libs? Do you plan to raise the issue there?
Posted at https://github.com/react-native-cameraroll/react-native-cameraroll/issues/618
Timeline is clarified at https://support.google.com/googleplay/android-developer/answer/14115180?hl=en
Fixed with "fix: request image access permissions for iOS only for native image picking #2677" in https://github.com/GetStream/stream-chat-react-native/releases/tag/v5.38.0