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. Android TV için geliştirerek uygulamanızın kullanıcı kitlesini genişletebilirsiniz. Bu belgede, bunu etkili bir şekilde nasıl yapacağınızla ilgili bilgiler verilmektedir.
TV uygulamaları oluşturma
TV uygulamaları, telefonlar ve tabletler için olanlarla aynı yapıyı kullanır. Yani, Android için uygulama oluşturma hakkında zaten bildiklerinize dayanarak, yeni TV uygulamaları oluşturabilir veya mevcut uygulamalarınızı TV cihazlarında da çalışacak hale getirebilirsiniz.
Ancak TV'deki kullanıcı etkileşimi modeli, telefon ve tablet cihazlardakinden önemli ölçüde farklıdır. Uygulamanızın TV cihazlarında başarılı olması için 10 metre uzaklıktan net bir şekilde anlaşılabilen yeni düzenler tasarlamanız ve yalnızca yön tuşları ve bir seçim düğmesiyle çalışan gezinme işlevi sağlamanız gerekir.
TV donanım denetleyicilerinin nasıl kullanılacağı, TV düzenlerinin oluşturulması ve TV'de gezinme oluşturma gibi konular hakkında daha fazla bilgi için TV uygulamaları geliştirme 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'teki 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 almayı işleyen bileşenler gibi ek kolaylıklar sunar.
ExoPlayer'ı özelleştirebilir ve genişletebilirsiniz. Ayrıca, Play Store uygulama güncellemeleri aracılığıyla güncellenebilir. Daha fazla bilgi için Media3 ExoPlayer konusuna bakın.
Media3'ü kullanma MediaSession
Medya oturumları, sistemin uygulamanızın ses veya video oynatıcısıyla etkileşim kurması için evrensel bir yol sağlar. Media3'ü önceki medya API'lerinden ayıran temel özelliklerden biri, artık bileşenler arasında bağlayıcıya gerek olmamasıdır.
Yeni MediaSession
sınıfı, Player arayüzünü uygulayan herhangi bir sınıfı alır. Hem ExoPlayer hem de MediaController, bu arayüzü uygulayan sınıflardır. Bu, bileşenler arasında çok daha basit bir etkileşim sağlar.
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 sunmak istiyorsanız MediaSession
uygulamanız gerekir. Bunu yapmak için bir Player
başlatın ve MediaSession.Builder
öğesine şu şekilde 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 yönetimi
Media3 kitaplığı, oynatıcının durumunu kullanarak medya oturumunu otomatik olarak günceller. Bu nedenle, oynatıcıdan 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 ile ilgili her zaman güncel bilgileri görür.
Oynatmayı kontrol etme ve oynatma sırasında reklam gösterme
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 devreder.
Oynatmayı kontrol etmenin anahtarı medya oturumudur. Bu API, harici kaynaklardan gelen komutları, medyanızı oynatma işini yapan oynatıcıya yönlendirmenize olanak tanır. Harici istemciler, medya uygulamanıza oynatma komutları göndermek için medya denetleyicisi kullanabilir. Bu komutlar, medya oturumunuz tarafından alınır ve nihayetinde 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 oynatma ile ilgili reklam yayınlama başlıklı makaleyi inceleyin.
Uygulamanızda kesintileri önleme
MediaSession
kullanarak aşağıdaki gibi gereksiz kesintileri önleyebilirsiniz:
TV kapatıldığında veya TV girişleri değiştirildiğinde beklenmedik ve kesintisiz oynatma Bu durum, TV donanımının yüksek enerji tüketmesine de neden olur.
MediaSession
ile uygulamanız, platforma medya oynattığını bildirebilir ve platform, oynatmanın durdurulabileceğini uygulamaya bildirebilir.Uygulamadan çıkıldığında veya TV ekranı kapatıldığında müzik oynatma işlemi beklenmedik şekilde duruyor.
MediaSession
API'lerini kullanmak, arka plan hizmetinde oynatmaya devam etmeyi sağlar.Kullanıcıların oynatmayı kontrol etmesini engelleyen içerikle sınırlı etkileşim. Örneğin, arka planda müzik çalıyorsa uygulamanıza dönme veya sesli komutları destekleme. Uygulamanızda
MediaSession
simgesi olduğunda kullanıcılar, şarkıları veya bölümleri aramak ve atlamak için sesli komutları kullanabilir.
Diğer hususlar
Medya uygulamanızı Android TV'ye genişletirken erişilebilirlik sorunlarını, kullanıcı etkileşimini nasıl artıracağınızı, kullanıcıların içerik bulmasını nasıl sağlayacağınızı ve oyunlar ile TV giriş hizmetlerini nasıl oluşturacağınızı göz önünde bulundurmanız gerekir.
TV'de erişilebilirlik
Yardımcı teknolojiler, görme bozukluğu olan kullanıcılara yardımcı olabilse de TV uygulamaları için içerik keşif yolculuklarında erişilebilirliği desteklemek önemlidir.
Örneğin, gezinme talimatları vermeye ve öğeleri düzgün bir şekilde etiketlemeye ekstra özen gösterin. Ayrıca, TV uygulamalarının TalkBack gibi erişilebilirlik özellikleriyle iyi çalıştığından emin olun. Bu adımlar, görme bozukluğu olan 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'nin yüklü olduğu cihazlarda çalışır. Google TV'de en iyi kullanıcı deneyimini sunmak için aşağıdaki en iyi uygulamaları uygulamanızı öneririz.
Ses veya video oynatıcıyla etkileşim kurmanın evrensel bir yolunu sağlamak için MediaSession
kullanmanız gerekir. Bu özelliği uygulama hakkında daha fazla bilgi için Media3 MediaSession'ı kullanma başlıklı makaleyi inceleyin.
Uygulamanızın Google Cast'i desteklemesi gerekir. Bu SDK, Android, iOS ve Chrome uygulamalarınızı genişleterek Android TV'lerde, Chromecast cihazlarda ve Asistan cihazlarda ses ve video akışı yapılmasını sağlar. Daha fazla bilgi için Google Cast belgelerine bakın.
Ayrıca kullanıcılara şu konularda da yardımcı olabilirsiniz:
Medya işlemleri feed'i sunarak veya Sıradaki Video özelliğini entegre ederek farklı platformlardaki içerikleri keşfedin.
Hesap bağlama ve hak senkronizasyonunu destekleyerek, sesle yayınlama 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 alın.
TV giriş çerçevesi oluşturma
Canlı TV programlarını ve diğer kesintisiz, kanala dayalı içerikleri izlemek TV deneyiminin önemli bir parçasıdır. Kullanıcılar, kanallara göz atarak TV'de program seçip izlemeye alışkındır. TV Giriş Çerçevesi, TV programlama rehberinde 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 tuner'lar gibi donanım kaynaklarından ve internet üzerinden yayınlanan video gibi yazılım kaynaklarından gelen canlı video içeriklerinin alınması ve oynatılması için birleşik bir yöntem sunar. Daha fazla bilgi için TV giriş hizmetleri oluşturma başlıklı makaleyi inceleyin.