YouTube API használata

Hú, jó sokat szenvedtem a YouTube API-val, mert a top találatok a Google keresőben mind elavultak. Most itt összeszedem, hogyan kell YouTube videót YouTubePlayerView segítségével lejátszani, aztán nekem is meglesz, és más is megtalálhatja magyar nyelven.

1. lépés: API letöltése és beillesztése a projektbe

Első lépésként le kell tölteni a legfrissebb YouTube API-t innen: https://developers.google.com/youtube/android/player/downloads

Ezt a zip fájlt ki kell csomagolni, és a libs könyvtárból a YouTubeAndroidPlayerApi.jar fájlt át kell másolni az appunkba. Ehhez az Android nézetről át kell váltani a Project Files nézetbe, majd ott az app könyvtáron belül a libs könyvtárba illeszteni a jar fájlt.

Ezután vissza lehet váltani Android nézetre, és a meg kell nyitni a build.gradle (Module: app) fájt. Ott a dependencies-be be kell tenni ezt a függőséget:

compile files('libs/YouTubeAndroidPlayerApi.jar')

2. YouTubePlayerView beillesztése a layoutba

A következő lépés a YouTubePlayerView beillesztése a layoutba, ez les az, ahol a videó megjelenik majd. Itt egy minimál kód, ezt lehet tetszés szerint bővíteni:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context=".MainActivity">

    <com.google.android.youtube.player.YouTubePlayerView
        android:id="@+id/player"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintDimensionRatio="16:9"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

3. Fejlesztői kulcs kérése a Google Developers-től

A YouTube API használatához Developer Key-t kell kérni a Google Developerstől. Ennek lépései:

  1. Google Developers regisztráció

    Regisztráljunk egy fiókot a https://developers.google.com/ címen

  2. Projektek felkeresése a Developers konzolon

    Nyissuk meg a saját projekteket a Developers konzolon, vagy ide kattintva: https://console.developers.google.com/project

  3. Új projekt létrehozása

    Hozzunk létre egy új projektet tetszőleges névvel a CREATE PROJECT gomb megnyomásával

  4. Library megnyitása

    Nyissuk meg a bal felső hamburger menüt, majd válasszuk a Library menüpontot

  5. YouTube Data API v3 kiválasztása

    A Library-n belül lefelé görgetve keressük meg a YouTube sort, majd ott kattintsunk a YouTube Data API v3 dobozra

  6. API engedélyezése

    Az ENABLE gomb megnyomásával engedélyezzük az API-t

  7. Credentials létrehozása

    A megjelenő ablakban kattintsunk a jobb felső CREATE CREDENTIALS gombra

  8. API kiválasztása

    A megjelenő felületen válasszuk ki a lehulló menüben a YouTube Data API v3 lehetőséget

  9. Hívás helyének megadása

    A Where will you be calling the API from? kérdés azt kérdezi, honnan fogjuk meghívni az API-t, itt válasszuk a az Android lehetőséget.

  10. Adat nyilvánosságának megadása

    A hívás helye alatt a What data will you be accessing? kérdésre adjuk meg, hogy Public data (nyilvános adatokkal) fogunk dolgozni.

  11. Credentials lekérése

    Végül a What credentials do I need? gombra kattintva kérhetjük le a Credentials-t

  12. API key kimásolása

    A megjelenő felületen másoljuk ki a Here is your API key alatt látható kulcsot, majd a Done gombra kattintva zárjuk be a felületet.

4. YouTube videó betöltése és lejátszása

Végül nem marad más feladat, mint betölteni a videót, és lefuttatni a projektet. Ez most egy alap kód, és nem is magyarázom el, mert este fél 10 van, aki ebből nem érti, ő inkább az Android alapokkal kezdje. Két dolog azért fontos: Ahol a DEVELOPER_KEY van, oda kell beilleszteni az fentiekben megszerzett developer key-t.

A youTubePlayer.cueVideo paramétere pedig a YouTube videó linkje, ami nálam mindig a Liza és a Rókatündér zejéne. Az eredeti URL ez: https://www.youtube.com/watch?v=SdnjROOeS4c , így most a watch?v= mögötti részt kell kimásolni és a kódba illeszteni.

Itt a Java kód is:

package com.viktorjava.youtubetest;

import android.os.Bundle;

import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;

public class MainActivity extends YouTubeBaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        YouTubePlayerView youTubePlayerView =
                (YouTubePlayerView) findViewById(R.id.player);

        youTubePlayerView.initialize("AIzaSyA7zi9iPdJ-2rrzOHHyxfeWsY1VQ_vT1cw",
                new YouTubePlayer.OnInitializedListener() {
                    @Override
                    public void onInitializationSuccess(YouTubePlayer.Provider provider,
                                                        YouTubePlayer youTubePlayer, boolean b) {
                        youTubePlayer.cueVideo("SdnjROOeS4c");
                    }
                    @Override
                    public void onInitializationFailure(YouTubePlayer.Provider provider,
                                                        YouTubeInitializationResult youTubeInitializationResult) {

                    }
                });
    }
}

Képernyőképek

Az applikáció futtatása állítva:

és fektetve: