stream-chat-react-native icon indicating copy to clipboard operation
stream-chat-react-native copied to clipboard

Comply with new Google Play's Photo and Video Permissions policy - removal of READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions

Open fabiendem opened this issue 1 year ago • 4 comments

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.

fabiendem avatar Apr 16 '24 14:04 fabiendem

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.

khushal87 avatar Apr 19 '24 06:04 khushal87

Hi @khushal87, thank you. Are you working in collaboration with the maintainers of those libs? Do you plan to raise the issue there?

fabiendem avatar Apr 19 '24 13:04 fabiendem

Posted at https://github.com/react-native-cameraroll/react-native-cameraroll/issues/618

fabiendem avatar Apr 29 '24 11:04 fabiendem

Timeline is clarified at https://support.google.com/googleplay/android-developer/answer/14115180?hl=en Screenshot 2024-06-27 at 14 32 58

fabiendem avatar Jun 27 '24 13:06 fabiendem

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

fabiendem avatar Sep 23 '24 13:09 fabiendem