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 belgede, 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'ler için 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 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 başlıklı makaleyi inceleyin.

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ı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 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ına en iyi deneyimi sunmak için MediaSession'ü uygulamanız gerekir. Bunun için bir Player başlatın ve MediaSession.Builder'a ş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 yönetmeniz gerekmez. Bu sayede kullanıcılarınız, Ne Çalıyor? kartı da dahil olmak üzere oynatılan medyayla ilgili her zaman güncel bilgileri görebilir.

Oynatma işlemini kontrol etme ve oynatma reklamı yapma

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 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 iletir.

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'ü kullanmak, aşağıdakiler gibi gereksiz kesintilerden kaçınmanıza olanak tanır:

  • 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 çıktığınızda veya TV ekranını kapattığınızda müzik oynatma 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ıları veya bölümleri sesli komutlarla ileri veya geri sarabilir.

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çerikleri nasıl bulacağını ve oyunlar ile TV giriş hizmetleri oluşturmayı göz önünde bulundurmanız gerekir.

TV erişilebilirliği

Yardımcı teknolojiler, görme bozukluğu olan kullanıcılara yardımcı olabilir ve yardımcı olsa da TV uygulamalarında içerik keşif yolculuklarında erişilebilirliği desteklemek ö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 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ı uygulamanızı öneririz.

Ses veya video oynatıcıyla evrensel bir etkileşim yolu sağlamak için MediaSession kullanmanız gerekir. Bunu nasıl uygulayacağınız hakkında daha fazla bilgi için Media3 MediaSession'i kullanma başlıklı makaleyi inceleyin.

Temel olarak, uygulamanızın Google Cast'i desteklemesi gerekir. Android, iOS ve Chrome uygulamalarınızı Android TV'lerin yanı sıra Chromecast ve Asistan cihazlarına ses ve video aktarımı sağlayacak şekilde genişletmenize olanak tanır. Daha fazla bilgi için Google Cast belgelerine bakın.

Ayrıca kullanıcılara şu konularda 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 tuner'lar gibi donanım kaynaklarından ve internet üzerinden yayınlanan video gibi yazılım kaynaklarından canlı video içeriği almak ve oynatmak için birleşik bir yöntem sağlar. Daha fazla bilgi için TV giriş hizmetleri oluşturma başlıklı makaleyi inceleyin.