Skip to content
Utility library around using YouTube inside your android app.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Migration to Android X (#19) Feb 19, 2019
gradle/wrapper Migration to Android X (#19) Feb 19, 2019
LICENSE Fixing copyright Feb 7, 2018 Create Feb 5, 2018 update travis badge Aug 28, 2018
build.gradle Migration to Android X (#19) Feb 19, 2019 Migration to Android X (#19) Feb 19, 2019
gradlew deleted ios and react-native, only android support Feb 8, 2018
gradlew.bat deleted ios and react-native, only android support Feb 8, 2018
settings.gradle deleted ios and react-native, only android support Feb 8, 2018
youtube-activity-android.gif Add files via upload Jan 24, 2018
youtube_iframe_player.html deleted ios and react-native, only android support Feb 8, 2018


Build Status

YouTube component for Android, iOS and React. This is a suite of utility libraries around using YouTube inside your Android, iOS or React Native app.


Playing Youtube on Android (specially inline) comes with some challenges :

  • YouTube SDK does not work on all devices ( where YouTube services could have been uninstalled)
  • You cannot run more than one instance of the YouTube view
  • Playing them inline where in a list you can have more than one videos in a single list.

inline-youtube-view for Android checks if the services are available and will fall back gracefully to using WebView in the event they are not.

YouTubePlayerView : The YouTubePlayerView provided by the YouTube SDK comes with a restriction that the activty hosting this needs to extend from YouTubeBaseActivity. This view removes these restrictions.

Demo Gifs

YouTubePlayer in Activity (Fullscreen Mode)

YouTube Activity

YouTubePlayer in Fragment (inline native)

YouTube Fragment

How to use ?

Add it in your root build.gradle at the end of repositories :

allprojects {
   repositories {
     maven { url "" }

Add the dependency

dependencies {
    implementation 'com.github.flipkart-incubator:android-inline-youtube-view:1.0.3'

YouTubePlayer Activity

Start an YouTubeActivity intent with apiKey and videoId. This will play the youtube video in a new activity in fullscreen mode.

Intent intent = new Intent(MainActivity.this, YouTubeActivity.class);
intent.putExtra("apiKey", Constants.API_KEY);
intent.putExtra("videoId", "3AtDnEC4zak");

Also, make sure that you add the activity in the AndroidManifest.xml file.

<activity android:name="com.flipkart.youtubeview.activity.YouTubeActivity" />

YouTubePlayer Inline

Create an instance of YouTubePlayerView inside a fragment. To initialize the player, you need to call the initPlayer method with following params:

  1. apiKey
  2. videoId
  3. webviewUrl : the link to iframe.html file (this is required when the device is not able to render native video, a fallback). By default, use ''
  4. playerType : native, webview or auto (try native, else fallback to webview)
  5. listener : callback listener
  6. fragment : fragment hosting this view
  7. imageLoader : to load thumbnail image
YouTubePlayerView playerView = new YouTubePlayerView(context);
playerView.initPlayer(Constants.API_KEY, videoId, "", playerType, listener, fragment, imageLoader);

YouTube iOS Player

We have open-sourced the inline-youtube-player for iOS also.


The easiest way to contribute is by forking the repo, making your changes and creating a pull request.

You can’t perform that action at this time.