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. Bu yaklaşım, Android için uygulama geliştirme hakkında zaten bildiklerinizi temel alarak 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şim modeli, telefon ve tablet cihazlardan önemli ölçüde farklıdır. Uygulamanızın TV cihazlarında başarılı olmasını sağlamak için 3 metreden 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 navigasyon 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, bu arayüzün Media3'teki 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 ça 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 medya oynatıcı oluşturma bölümüne bakın.

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 işleme

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ı, 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ı oynatma işlemini yapan oynatıcıya yönlendirmenizi sağlar. Harici istemciler, medya uygulamanıza oynatma komutları yayınlamak için bir medya denetleyicisi kullanabilir. Bu komutlar medya oturumunuz tarafından alınır ve sonuçta komutlar medya oynatıcıya yetki verir.

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ızdaki kesintileri ö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ı 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, 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 bozukluğu olan kullanıcıların deneyimlerini ö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ılarla etkileşim için evrensel bir yöntem sağlamak amacıyla 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" özelliğini entegre ederek farklı platformlarda içerikleri 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 programlama kılavuzunda ideo veya müzik içeriği yayınlamak için 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.