Android, yüksek çözünürlüklü televizyonlar gibi büyük ekranlı cihazlarda çalışan uygulamalar için optimize edilmiş zengin bir kullanıcı deneyimi sunar. Uygulamanızı Android TV için geliştirerek kitlesini genişletebilirsiniz. Bu belgede, bu işlemin etkili bir şekilde nasıl yapılacağı açıklanmaktadır.
TV uygulamaları geliştirme
TV uygulamaları, telefon ve tablet uygulamalarıyla aynı yapıyı kullanır. Bu yaklaşım, Android için uygulama geliştirme konusunda bildiklerinizi kullanarak yeni TV uygulamaları oluşturabileceğiniz veya mevcut uygulamalarınızı TV cihazlarında da çalışacak şekilde genişletebileceğiniz anlamına gelir.
Ancak TV'nin kullanıcı etkileşimi modeli, telefon ve tablet cihazlardan önemli ölçüde farklıdır. Uygulamanızın TV cihazlarında başarılı olması için 3 metre uzaktan net bir şekilde anlaşılabilen yeni düzenler tasarlamanız ve yalnızca yön tuşları ve seçim düğmesiyle çalışan bir gezinme deneyimi sunmanız gerekir.
TV donanım kumandalarını kullanma, TV düzenleri oluşturma ve TV gezinme menüsü oluşturma gibi dikkat edilmesi gereken noktalar hakkında daha fazla bilgi için TV uygulamaları oluşturma başlıklı makaleyi inceleyin.
Media3 ExoPlayer'ı kullanma
Jetpack Media3; oynatma, duraklatma, arama ve parça bilgilerini görüntüleme gibi temel özellikleri tanımlayan bir Player arayüzü sağlar. ExoPlayer, Media3'te bu arayüzün varsayılan uygulamasıdır.
Android'in MediaPlayer API'sine kıyasla, birden fazla akış protokolü desteği, varsayılan ses ve video oluşturucular ve medya arabelleğe alma işlemlerini gerçekleştiren bileşenler gibi ek kolaylıklar sağlar.
ExoPlayer'ı özelleştirip genişletebilirsiniz. ExoPlayer, Play Store uygulama güncellemeleri aracılığıyla güncellenebilir. Daha fazla bilgi için Media3 ExoPlayer sayfasını inceleyin.
Media3'ü kullanma MediaSession
Medya oturumları, sistemin uygulamanızın ses veya video oynatıcısıyla etkileşim kurması için evrensel bir yöntem sunar. Media3'ü önceki medya API'lerinden ayıran temel özelliklerden biri, bileşenler arasında bağlayıcılara artık ihtiyaç duyulmamasıdır.
Yeni MediaSession sınıfı, Player arayüzünü uygulayan tüm sınıfları alır. Hem ExoPlayer hem de MediaController bu arayüzü uygulayan sınıflardır. Bu sayede bileşenler arasında çok daha basit bir etkileşim sağlanır.
Daha fazla bilgi için Oynatıcı arayüzü bölümüne bakın.
Medya oynatma uygulaması oluşturma hakkında daha fazla bilgi için ExoPlayer kullanarak temel bir medya oynatıcı oluşturma başlıklı makaleyi inceleyin.
Medya uygulamanızın son kullanıcıları için en iyi deneyimi oluşturmak istiyorsanız MediaSession uygulamanız gerekir. Bunun için bir Player ilk kullanıma hazırlayın ve şu şekilde MediaSession.Builder'e sağlayın:
Kotlin
val player = ExoPlayer.Builder(context).build() val mediaSession = MediaSession.Builder(context, player).build()
Java
ExoPlayer player = new ExoPlayer.Builder(context).build(); MediaSession mediaSession = new MediaSession.Builder(context, player).build();
Otomatik durum işleme
Media3 kitaplığı, oynatıcının durumunu kullanarak medya oturumunu otomatik olarak günceller. Bu nedenle, oyuncudan oturuma eşlemeyi manuel olarak yapmanız gerekmez. Bu sayede kullanıcılarınız, Ne Çalıyor? kartı da dahil olmak üzere oynatılan medya hakkındaki güncel bilgileri her zaman görebilir.
Oynatmayı kontrol etme ve bildirme
Media3'te varsayılan oynatıcı, Player arayüzünü uygulayan ExoPlayer sınıfıdır. Medya oturumunu oynatıcıya bağlamak, uygulamanın medya oynatmayı harici olarak tanıtmasına ve harici kaynaklardan oynatma komutları almasına olanak tanır. Medya oturumu, bu komutları medya uygulamasının oynatıcısına iletir.
Medya oturumu, oynatmayı kontrol etmenin anahtarıdır. Bu sayede, harici kaynaklardan gelen komutları medyanızı oynatan oynatıcıya yönlendirebilirsiniz. Harici istemciler, medya uygulamanıza oynatma komutları göndermek için medya kumandası kullanabilir. Bu komutlar medya oturumunuz tarafından alınır ve medya oynatıcıya iletilir.
Oynatma komutunun davranışını özelleştirme gibi oynatma hakkında daha fazla bilgi için MediaSession kullanarak oynatmayı kontrol etme ve bildirme başlıklı makaleyi inceleyin.
Uygulamanızda kesintileri önleme
MediaSession özelliğini kullanarak aşağıdaki gibi gereksiz kesintileri önleyebilirsiniz:
TV'yi kapatırken veya TV girişlerini değiştirirken beklenmedik ve devam eden oynatma. Bu durum, TV donanımının yüksek enerji tüketmesine de neden olur.
MediaSessionile uygulamanız, platforma medya oynattığını bildirebilir ve platform da uygulamaya oynatmanın durdurulabileceğini bildirebilir.Uygulamadan çıkıldığında veya TV ekranı kapatıldığında müzik çalma işlemi beklenmedik şekilde duruyorsa
MediaSessionAPI'leri kullanıldığında arka plan hizmetinde oynatma devam eder.Kullanıcıların oynatmayı kontrol etmesini engelleyen içerikle kısıtlı etkileşim. Örneğin, arka planda müzik çalıyorsa uygulamanıza dönme veya sesli komutları destekleme. Uygulamanızda
MediaSessionkullanarak kullanıcıların şarkıları veya bölümleri ileri sarmak ve atlamak için sesli komutları kullanmasına olanak tanıyabilirsiniz.
Dikkat Edilmesi Gereken Diğer Noktalar
Medya uygulamanızı Android TV'ye genişletirken erişilebilirlik sorunlarını, etkileşimi nasıl artıracağınızı, kullanıcıların içeriği nasıl bulacağını, oyunları ve TV giriş hizmetlerini nasıl oluşturacağınızı göz önünde bulundurmanız gerekir.
TV erişilebilirliği
Yardımcı teknolojiler, az gören kullanıcılara yardımcı olsa da TV uygulamaları için içerik keşfetme yolculuklarında erişilebilirliği desteklemek önemlidir.
Örneğin, gezinme kılavuzu sağlamaya ve öğeleri doğru şekilde etiketlemeye özellikle dikkat edin ve TV uygulamalarının TalkBack gibi erişilebilirlik özellikleriyle iyi çalıştığından emin olun. Bu adımlar, görme engelli kullanıcıların deneyimini önemli ölçüde iyileştirebilir.
Erişilebilirliği iyileştirmenin ilk adımı farkındalıktır. Metin ölçeklendirme, klavye düzenleri ve sesli açıklamalar hakkında daha fazla bilgi için erişilebilirlik kaynaklarına göz atın.
Google TV'de etkileşimi artırmaya yönelik en iyi uygulamalar
Android TV için geliştirilen tüm uygulamalar Google TV çalıştıran cihazlarda çalışır. Google TV'de en iyi kullanıcı deneyimini sunmak için aşağıdaki en iyi uygulamaları kullanmanızı öneririz.
Ses veya video oynatıcıyla etkileşim kurmak için evrensel bir yöntem sunmak üzere MediaSession kullanmanız gerekir. Bunu nasıl uygulayacağınız hakkında daha fazla bilgi için Media3 MediaSession'ı kullanma başlıklı makaleyi inceleyin.
Uygulamanızın Google Cast'i desteklemesi gerekir. Android, iOS ve Chrome uygulamalarınızı genişleterek Android TV'lerin yanı sıra Chromecast cihazlara ve Asistan cihazlarına ses ve video akışı yapmanıza olanak tanır. Daha fazla bilgi için Google Cast belgelerini inceleyin.
Kullanıcılara şu konularda da yardımcı olabilirsiniz:
Medya işlemleri feed'i sunarak veya Sıradaki Video'yu entegre ederek farklı platformlarda içerik keşfedin.
Hesap bağlama ve yetki senkronizasyonunu destekleyerek, sesle yayınlama özelliği sunarak ve Cast Connect'i etkinleştirerek ses ve etkileşimden yararlanın.
Google Play Faturalandırma'yı entegre ederek ve sorunsuz abonelikler sunarak daha kolay ödeme yapma imkanı sağlayın.
TV giriş çerçevesi oluşturma
Canlı TV programlarını ve diğer sürekli, kanala dayalı içerikleri izlemek, TV deneyiminin önemli bir parçasıdır. Kullanıcılar, TV'de program seçip izlemek için kanallara göz atmaya alışkındır. TV Giriş Çerçevesi, TV programlama kılavuzunda video veya müzik içeriği yayınlamak için kanallar oluşturur.
TV Giriş Çerçevesi, HDMI bağlantı noktaları ve yerleşik tunerler gibi donanım kaynaklarından ve internet üzerinden yayınlanan videolar gibi yazılım kaynaklarından canlı video içeriği almak ve oynatmak için birleşik bir yöntem sunar. Daha fazla bilgi için TV giriş hizmetleri oluşturma başlıklı makaleyi inceleyin.