Medya uygulamanızı Android TV'ye genişletin

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 uygulamanızın kitlesini genişletebilirsiniz. Bu dokümanda, bu işlemi etkili bir şekilde nasıl yapacağınız konusunda yol gösterici 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'nin kullanıcı etkileşim 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 uzaklıktan net bir şekilde anlaşılabilecek yeni düzenler tasarlamanız ve yalnızca bir yön tuşuyla ve bir seçim düğmesiyle çalışan gezinme imkanı sunmanız gerekir.

TV donanım denetleyicilerini kullanma, TV düzenleri oluşturma ve TV gezinme menüsü oluşturma gibi konular hakkında daha fazla bilgi için TV uygulamaları oluşturma başlıklı makaleyi inceleyin.

Media3 ExoPlayer'ı kullanma

Jetpack Media3, oynatma, duraklatma, parça bilgisini arama ve görüntüleme gibi temel özellikleri tanımlayan bir Oynatıcı 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 yayın protokolü desteği, varsayılan ses ve video oluşturma araçları ve medya arabelleğe alma işlemlerini yöneten bileşenler gibi ek kolaylıklar sunar.

ExoPlayer'ı özelleştirebilir ve genişletebilirsiniz. Ayrıca Play Store uygulama güncellemeleri aracılığıyla da 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 birincil özelliklerden biri, artık bileşenler arasında bağlayıcılara 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, bileşenler arasında çok daha basit bir etkileşim kurulmasını kolaylaştırı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ına en iyi deneyimi sunmak için MediaSession'ü uygulamanız gerekir. Bunu yapmak için bir Player başlatın ve MediaSession.Builder sağlayıcısına ş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. Dolayısıyla, oynatıcıdan oturuma eşleme işlemini manuel olarak yapmanız gerekmez. Bu, kullanıcılarınızın Ne Çalıyor? kartı da dahil olmak üzere oynatılan medyadaki güncel bilgileri her zaman görmelerine yardımcı olur.

Oynatma işlemini kontrol etme ve oynatma reklamı yapma

Media3'te varsayılan oynatıcı, Oynatıcı arayüzünü uygulayan ExoPlayer sınıfıdır. Medya oturumunu oynatıcıya bağlamak, uygulamanın medya oynatmanın reklamını harici olarak yapmasına ve harici kaynaklardan oynatma komutları almasına olanak tanır. Medya oturumu, bu komutları medya uygulamasının oynatıcısına delege eder.

Medya oturumu, oynatmayı kontrol etmenin anahtarıdır. Harici kaynaklardan gelen komutları, medyanızı oynatan oynatıcıya yönlendirmenizi sağlar. Kuruluş dışından istemciler, medya uygulamanıza oynatma komutları göndermek için medya denetleyici kullanabilir. Bu komutlar medya oturumunuz tarafından alınır ve nihayetinde medya oynatıcıya iletilir.

Oynatma hakkında daha fazla bilgi (ör. oynatma komutu davranışının özelleştirilmesi) için MediaSession'ı kullanarak oynatmayı kontrol etme ve oynatma reklamı yapma başlıklı makaleyi inceleyin.

Uygulamanızda kesinti yaşanmasını önleyin

MediaSession kullanımı, aşağıdakiler gibi gereksiz kesintileri önlemenizi sağlar:

  • TV'yi kapatırken veya TV girişlerini değiştirirken beklenmedik şekilde oynatmaya devam etme. Bu durum, TV donanımında da yüksek enerji tüketimine neden olur. MediaSession sayesinde uygulamanız platformu medya oynattığını bildirebilir ve platform da uygulamayı oynatmanın durdurulabileceğini bildirebilir.

  • Uygulamadan çıkarken veya TV ekranı kapatılırken müzik çalma beklenmedik şekilde duruyor. MediaSession API'leri, arka plan hizmetinde oynatmanın devam etmesini sağlar.

  • Kullanıcıların oynatmayı kontrol etmesini engelleyen içerikle kısıtlanmış etkileşim. Örneğin, arka planda müzik çalıyorsa veya sesli komutları destekliyorsa uygulamanıza geri dönebilirsiniz. Uygulamanızda MediaSession ile kullanıcılar şarkı veya bölüm aramak ve atlamak için sesli komutları kullanabilir.

Diğer Konular

Medya uygulamanızı Android TV için genişletirken erişilebilirlik sorunlarını, etkileşimi artırmayı, kullanıcıların içeriği nasıl bulacağını ve oyunlar ile TV giriş hizmetleri oluşturmayı göz önünde bulundurmanız gerekir.

TV'de erişilebilirlik

Yardımcı teknolojiler az gören kullanıcılara yardımcı olabilir ve yapabilir ancak TV uygulamalarının içerik keşfetme yolculuklarında erişilebilirliğin desteklenmesi önemlidir.

Örneğin, gezinme kılavuzu sağlamaya ve öğeleri doğru şekilde etiketlemeye özel önem verin. Ayrıca TV uygulamalarının TalkBack gibi erişilebilirlik özellikleriyle iyi çalışmasını sağlayın. 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 edinmek için erişilebilirlik kaynaklarına göz atın.

Google TV'de etkileşimi artırmak için 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ı uygulamanızı öneririz.

Ses veya video oynatıcılarla etkileşim için evrensel bir yöntem sağlamak amacıyla MediaSession kullanmanız gerekir. Bunun nasıl uygulanacağı hakkında daha fazla bilgi için Media3 MediaSession'ı kullanma bölümüne bakın.

Temel olarak, uygulamanızın Google Cast'i desteklemesi gerekir. Android, iOS ve Chrome uygulamalarınızı genişleterek Android TV'lerin yanı sıra Chromecast ve Asistan cihazları arasında ses ve video akışı olmasını sağlayabilirsiniz. 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 Sonrakini İzle'yi entegre ederek içerikleri farklı platformlarda keşfedin.

  • Hesap bağlama ve hak senkronizasyonunu destekleme, sesli yayınlama sunma ve Cast Connect'i etkinleştirme yoluyla sesli iletişimden ve etkileşimden yararlanın.

  • Google Play Faturalandırma'yı entegre ederek ve sorunsuz abonelikler sunarak daha kolay ödeme alın.

TV girişi çerçevesi oluşturma

Canlı TV programları ve kanala dayalı diğer kesintisiz içerikler, TV deneyiminin önemli bir parçasıdır. Kullanıcılar, TV'de kanallara göz atarak programları seçip izlemeye alışkındır. TV Giriş Çerçevesi, TV program rehberi için video veya müzik içeriği yayınlamak üzere kanallar oluşturur.

TV Giriş Çerçevesi, HDMI bağlantı noktaları ve yerleşik tarayıcı gibi donanım kaynaklarından ve internet üzerinden yayınlanan video yayını gibi yazılım kaynaklarından canlı video içeriği almak ve oynatmak için birleştirilmiş bir yöntem sunar. Daha fazla bilgi için TV giriş hizmetleri oluşturma başlıklı makaleyi inceleyin.