Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comply with new Google Play's Photo and Video Permissions policy #2092

Open
RootSoft opened this issue Jan 24, 2025 · 3 comments
Open

Comply with new Google Play's Photo and Video Permissions policy #2092

RootSoft opened this issue Jan 24, 2025 · 3 comments

Comments

@RootSoft
Copy link

RootSoft commented Jan 24, 2025

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.

The stream_chat_flutter package uses photo_manager to access the device's photo library. Follow this wiki to fulfil the Android requirements.

Note: READ_MEDIA_IMAGES and READ_MEDIA_VIDEO are both required whether requesting images or videos.

<manifest>
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <!-- If you want to read images or videos-->
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- If you want to read videos or images-->
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" /> <!-- If you want to read audio-->
</manifest>

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

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.

More information can be found on this React Native thread.

@AndreHaueisen
Copy link
Contributor

AndreHaueisen commented Jan 28, 2025

This is urgent. Without the READ_MEDIA_VIDEO and READ_MEDIA_IMAGES permissions, users cannot pick media. However, with these permissions, we are unable to release new Android versions. As a result, our app is currently blocked from new releases.

@RootSoft
Copy link
Author

@AndreHaueisen You can temporarily request to extend the deadline until May 2025 on the Play Console at the App Content section. But yes, this needs to be handled.

@xsahil03x
Copy link
Member

Hey, we are discussing this with the Android and React Native SDK teams and will come up with a solution soon. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants