youtube / yt-android-player

Apache License 2.0
130 stars 88 forks source link

YouTube API onInitializationFailure SERVICE_MISSING on Android 11 (SDK 30) #26

Closed anonym24 closed 3 years ago

anonym24 commented 3 years ago

YouTube Android Player API (https://developers.google.com/youtube/android/player) doesn't work on Android 11 (SDK 30).

youTubePlayerView.initialize(DEVELOPER_KEY, this)

and error callback is trigged for Android 11:

override fun onInitializationFailure(p0: YouTubePlayer.Provider?, p1: YouTubeInitializationResult?) {
    Log.e(TAG, "onInitializationFailure $p0 $p1")
}

Error:

onInitializationFailure com.google.android.youtube.player.YouTubePlayerView{81eb47c V.E...... ......ID 0,0-1080,1794 #7f0801af app:id/youTubePlayerView} SERVICE_MISSING

I checked on emulator with Android 10 (SDK 29) and it works fine.

YouTube app version is 15.43.32 (for both emulators)

From documentation https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeInitializationResult

YouTubeInitializationResult.SERVICE_MISSING:

The YouTube API service is missing on this device.

But how it can be missing? YouTube app (same version) and Google Play services are installed on both Pixel SDK 29/30 emulators

Are there some changes on Android 11?

The same question on SO https://stackoverflow.com/questions/64631893/youtube-api-oninitializationfailure-service-missing-on-android-11-sdk-30

anonym24 commented 3 years ago

solved, for API 30 we should add queries https://developer.android.com/training/basics/intents/package-visibility-use-cases