Android

Youtube Android Player API'ye Giriş

Youtube Android Player API'sini kullanarak seçtiğiniz Youtube videosunu kendi uygulamanızda oynatabilirsiniz. Programatik olarak videoları oynatabilir, durdurabilir, telefonu yan çevirdiğinizde tam ekran yaptırabilirsiniz. Youtube Android Player API'sini kullanmak için bazı koşulları yerine getirmek gerekiyor:: Cihazda kurulu Yout...

Youtube Android Player API'sini kullanarak seçtiğiniz Youtube videosunu kendi uygulamanızda oynatabilirsiniz. Programatik olarak videoları oynatabilir, durdurabilir, telefonu yan çevirdiğinizde tam ekran yaptırabilirsiniz.

Youtube Android Player API'sini kullanmak için bazı koşulları yerine getirmek gerekiyor::

  • Cihazda kurulu Youtube uygulaması, 4.2.16 üzerinde bir sürümde olmalı.
  • Cihaz Android 2.2 ve üstü bir Android sürümüyle çalışıyor olmalı.

Öncelikle https://developers.google.com/youtube/android/player/downloads/ adresinden YoutubeAndroidPlayerApi-1.0.0.zip'i indirmeniz gerekiyor.

Bu sıkıştırılmış dosyayı açtığınızda içerisinde /docs klasöründe kütüphanenin belgelendirmesi var. Tüm class, arayüz ve işlevler ile ilgili açıklamaları burada bulabilirsiniz. /sample dizininde Google'ın bu konu ile ilgili yayınladığı kapsamlı bir örnek mevcut. /libs klasöründe ise projemizde kullanacağımız gerekli jar dosyası da bulunuyor.

İkinci aşama olarak https://console.developers.google.com/ sayfasına gidip proje seçmeniz (eğer yoksa oluşturmanız) gerekiyor.

Daha sonra projeye girince sağdaki menüden APIs & auth kısmından APIs sekmesine tıklıyoruz ve Google'ın bize sunduğu API'ler listeleniyor. Youtube Data API v3 yazan API'yi sağ tarafındaki düğmeden "ON" yapıyoruz. Daha sonra APIs & auth kısmından Credentials sekmesine tıklayıp gelen ekrandan "Public API Access" kısmından Create New Key düğmesine tıklıyoruz.

Gelen 4 adet düğmeden "Android key" düğmesini seçiyoruz. Daha sonra uygulamanızın kullandığı "keystore"a göre SHA1 Fingerprint'i alıp, sonuna ";" (noktalı virgül) koyuyoruz. Noktalı virgülün ardından da uygulamanızın paket (package) ismini yazmanız gerekiyor.45:B5:...:A0:E0;com.example.denemeuygulama gibi.

Eğer henüz keystore ile imzalanmamış bir uygulamanız varsa (yayınlanmamış) Eclipse'te SHA1 fingerprint'i öğrenmek çok basittir.

Window > Preferences > Android > Build sekmesine tıklıyoruz. Gelen ekranda SHA1 değerimiz görünüyor.

Eğer imzalanmış bir keystoreniz var ise buradaki adresten SHA1 Fingerprint'i nasıl öğrenebileceğinizi görebilirsiniz.

Şimdi bu API'yi kullanabilmek için gerekli tüm altyapıyı oluşturduk. Bu API bize ne tür hizmetler sunuyor onu görelim.

Bu adreste Youtube Android Player API ile yapılmış örnek uygulamaların açıklamaları var: https://developers.google.com/youtube/android/player/sample-applications

Kısaca bunlara değinelim:

  • Video Wall: Youtube çalma listelerini küçük resimlerle birlikte bir duvarda listeler.

  • Simple PlayerView: PlayerView dediğimiz nesne tıpkı bir TextView mantığında çalışır ve içerisinde Youtube videosu oynatabiliriz. Layout'unuzun herhangi bir bölgesine konumlandırabilirsiniz.
  • Simple PlayerFragment: PlayerView mantığındadır fakat bir nesne yerine bize sunulan YouTubePlayerFragment aracılığı ile video gösterimi yaparız.
  • Custom Player Controls: Video oynatıcıya elle (programlama taraflı) müdahale edebileceğimiz bir özelliktir. Başlatma, durdurma, atlama vs. gibi.
  • Custom Full Screen Handling: İstersek yine programlama taraflı olarak videoyu tam ekran yapabiliriz veya telefon dikey durumdayken yatay duruma alındığında videonun kesilmeden tam ekran olarak devam etmesini sağlayabiliriz.
  • Standalone Player: Bir Intent nesnesi aracılığıyla YoutubeStandalonePlayer isimli API içerisinde bulunan dosyaya video id bilgisini göndererek videomuzu uygulamamızda tam ekran olarak açtırabiliriz.
  • Youtube App Launcher Intents: Videomuzu direk telefonda yüklü olan youtube uygulaması ile açtırabiliriz. Kullanıcı youtube uygulamasına yönlenir ve videoyu orada izler.

Buraya kadar çoğunlukla API'yi nasıl kullanabiliriz ve API bize ne özellikler sunar onları gördük. Yazının sonuna gelirken size başlangıçta indirdiğiniz zip dosyasında bulunan sample klasöründe bulunan projeyi içeri taşıyarak (import) Youtube API'sinin size sunduğu tüm özellikleri uygulayarak görmenizi önereceğim. Örnek projeyi içeri taşıdığımızda DeveloperKey.java isimli dosyayı açıp

[code]public static final String DEVELOPER_KEY = "null";[/code]

satırını bulun. Burada null durumda bulunan bu değişkenin değerini kendi SHA1 Fingerprint'iniz ve bu com.examples.youtubeapidemo isimli paket ile birleştirip Google Api Console'den bir API KEY alıp değiştirin. Daha sonra uygulamayı çalıştırdığınızda aşağıdaki ekranla karşılacaksınız. Yazıda bahsettiğim tüm örnekler, bu örnek uygulamada açık kaynak kodlarıyla birlikte mevcut. İstediğiniz özelliği alıp kendi uygulamanıza entegre edebilirsiniz.

Android uygulamaları için Youtube Player entegrasyonu bu kadar kolay. Takıldığınız bir konu olduğunda yorum bölümünden sorabilirsiniz.

Kolay gelsin.

Yorumlar

burak dizlek
04.11.2015 - 09:32

Arkadaşım ellerine sağlık güzel bir makale olmuş. 

Ahmet Berkay Kök
25.05.2015 - 04:46
Bunları zaten bilmen gerekir.Herşeyi anlatmasına gerek yok ? Eğer bu işle uğraşacaksan zaten biraz araştırma yapmayı öğrenmen gerek.Arkadaşın anlatımına teşekkür etmen yerine böyle gereksiz yorumlar yapıyorsun.
Volkan ALYANAK
26.05.2015 - 12:31
haklısın ahmetkok1, bunları zaten bilmem gerekir ve herkesin de bilmesi gerekir. herkesin herşeyi bilmesi gerektiğine göre de makale yazmaya ya da bir şeyler anlatmaya da gerek yok. zaten internette araştırma yaparak bu sayfaya ulaştım, bunu kavrayacak zekaya sahip olduğunu umuyorum. yaptığım araştırmalarda bulduğum bu sayfa, diğer sayfaların 10/1 oranında bile faydalı olmadığı için de yorum olarak bunu yazdım. "api'yi şu adresten indireceksin, indirdiğinde içinde örnek dosyalar var onları incele benim daha fazlasını anlatmama gerek yok" şeklinde özetlenecek bir makaleyi faydasız bulduğumu yazmamdaki sakınca ve senin bundan rahatsızlığın ne onları tam anlayamadım
Ali
10.05.2015 - 01:50

Teşekkürler kardeşim. Android programlamaya yeni başladım ama örnek ve açıklama yeterli geldi bana. Youtube api ile ilgili tüm örnekler içinde var sampleın. Dediğim gibi yeni başlayan biri olarak bana bile faydalı olduysa demek ki güzel bir paylaşım olmuş :)

Ahmet Burak Demirkoparan
22.03.2015 - 02:18
Gerek duyulacak şeyleri yeterli olacak şekilde anlattım.Örnekte bulunan 10 ayrı örnek kullanımın kodunu tutup buraya yapıştırmaya gerek yok.Zaten örnekteki 10 örneğide inceleyip işine yaran kısmı kişi içerisinden çekebilir hepsinin ayrı bir activitysi mevcut.SHA1 ile API Key almayı bu kadar açık anlatmama rağmen neyi açık olmamış anlayamadım.Eleştiri yaparken biraz daha realist eleştiriler yapmanı tavsiye ederim. Daha iyisini biliyorsan sende paylaşım yap insanlar yararlansın.Oturduğunuz yerden eleştiri yapmak ne kadar kolay:)
Volkan ALYANAK
23.03.2015 - 10:09
Zaten google map api'yi ilk defa kullanacak ve hakkında hiç bir şey bilmeyen biri olarak, yazdığınız yazı işime yaramayınca gayet realist olarak yazdım yazımı. 10 örnekli proje dosyası bende çalışmadı. Az çok bilirsiniz ki androidde birinde çalışan proje, başkasında çalışmayabiliyor yüklü paketlerin eksik ya da fazla olmasından dolayı. Bir hata verdi ve hiç bir örneği deneyemedim, sadece kodlarına bakabildim. verdiği sonucu görmeden de kodlara bakıp ne yaptığını anlamak zor oluyor. ayrıca sha1 kodu her zaman anlattığınız kadar kolay alınmıyor. eclipse sürümünden mi yoksa sdk manager dan yüklenen paketlerden mi kaynaklanıyor bilmiyorum ancak bahsettiğiniz yerde sha1 kodu yazmıyor, cmd ile almak gerekiyor. dediğim gibi yazdığım yorum realist bir yorum. oldukça faydasız bir yazı yazmışsınız. elbette dediğiniz gibi 10 kodu buraya kopyalayıp yapıştırmanız saçma olacaktır, kendi yorumlarınızı katmadan, tam olarak bir şeyler anlatmadan makale yazmanın saçma olduğu gibi.
Ahmet Burak Demirkoparan
23.03.2015 - 10:15
Dostum tekrar merhaba.Eleştirin için teşekkür ederim fakat makalenin zaten google maps api key ile alakası yok.Ama googlenin sunduğu servisleri kullanabilmeniz için api key alma mantığı sürekli var.Örnek googlenin yayınladığı örnek o konuda benim yapabilecek bir şeyim yok.Genellikle eclipse üzerine yüklenen adt de bulunan buglardan ötürü import olmayabiliyor.Burada benim bir suçum yok yani.Sha1 kodu anlattığım kadar kolay alınıyor önemli olan hangi keystoreye alacağın.Debug keystoreye alacaksan zaten resimde gösterdiğim yerde mevcut.Ama imzalanmış kendi keystoren üzerinden alacaksan en kolay yolu java komutu ile komut sistemi üzerinden almak.Onunda linkini koydum kaynak olarak nasıl alınacağının. Birazcık uğraş ile hepsinin altından kalkmak mümkün.Yinede saygı duyuyorum iyi günler.
Volkan ALYANAK
29.01.2015 - 05:05

Ne SHA1 kodu alma işlemi, ne de apk kullanımı düzgün anlatılmamış.

Bir konu ancak bu kadar yüzeysel geçilebilirdi.

www.google.com adresine girip ANDROİD YOUTUBE API V2 diye aratın yazsanız, bundan daha faydalı olurdu eminim.