TV uygulaması oluşturma ve çalıştırma

TV uygulamaları, telefon ve tabletlere yönelik uygulamalarla aynı yapıyı kullanır. Bu benzerlik sayesinde Mevcut uygulamalarınızı TV cihazlarında da çalışacak şekilde değiştirin veya halihazırda kullandığınız uygulamalara dayalı yeni uygulamalar oluşturun uygulama geliştirmeyi öğreneceksiniz.

Önemli: Uygulamanız aşağıdakileri yapmak için belirli şartları karşılamalıdır: Google Play'de Android TV uygulaması olması gerekir. Daha fazla bilgi için belirtilen koşullara bakın TV uygulaması kalitesinde.

Bu kılavuzda, TV uygulamaları geliştirmek için geliştirme ortamınızı nasıl hazırlayacağınız ve bir uygulamanın TV cihazlarında çalıştırılabilmesi için gereken minimum sayıda değişiklik olmalıdır.

TV için uygulama tasarlama hakkında bilgi almak üzere Web için tasarım TV'yi seçin. Örnek uygulamalara da göz atın: Android TV GitHub deposu.

Medya biçimi desteğini belirleme

Codec'ler, protokoller ve biçimler hakkında bilgi için aşağıdaki belgelere bakın Android TV tarafından desteklenir:

TV projesi oluşturma

Bu bölümde bir TV projesinin nasıl kurulacağı açıklanmaktadır. Mevcut bir Android uygulamasını TV cihazlarında çalışacak şekilde değiştirme veya uygulama TV uygulamasını kullanmaya başladım. Mevcut bir Android uygulamanız varsa Android TV desteği ekleyerek mevcut uygulama mimarinizi yeniden kullanırken TV için bir kullanıcı arayüzü oluşturun.

TV cihazlarında çalışan bir uygulama oluştururken kullandığınız iki ana bileşen vardır:

  • TV etkinliği: Uygulama manifestinizde, TV cihazlarında yayınlanması amaçlanan bir etkinlik beyan etmelidir.
  • TV kitaplıkları: İsteğe bağlı olarak androidx kitaplıkları TV cihazları için geçerlidir. Bu talimatların başka bir bölümünde listelenmiştir. Bu kitaplıklar, kullanıcı arayüzü oluşturmak için widget'lar sağlar.

Ön koşullar

TV için uygulama geliştirmeye başlamadan önce aşağıdaki adımları uygulamalısınız:

  • SDK araçlarınızı 24.0.0 veya sonraki bir sürüme güncelleyin.
    . Güncellenmiş SDK araçları, TV için uygulama oluşturup test etmenize olanak tanır.
  • SDK'nızı Android 5.0 (API 21) veya sonraki bir sürüme güncelleyin.
    . Güncellenen platform sürümü, TV uygulamaları için yeni API'ler sağlar.
  • Uygulama projenizi oluşturun veya güncelleyin.
    . TV cihazlarına yönelik yeni API'lere erişmek için bir proje oluşturun veya mevcut bir API'yi değiştirin bir projeniz var.

TV etkinliği bildirme

TV cihazlarında çalışması amaçlanan bir uygulama, TV için başlatıcı etkinliği beyan etmelidir inceleyebilirsiniz. Bir CATEGORY_LEANBACK_LAUNCHER amacı kullanıyor filtresini uygulayabilirsiniz. Bu filtre, uygulamanızı TV için etkinleştirilmiş olarak tanımlar ve Google Play bunu bir TV uygulaması olarak tanımlar. Kullanıcı TV ana ekranında uygulamanızı seçtiğinde, bu amaç, hangi etkinliğin başlatılacağını belirler.

Aşağıdaki kod snippet'i, bu intent filtresini manifest dosyanıza nasıl ekleyeceğinizi göstermektedir:

<application
  android:banner="@drawable/banner" >
  ...
  <activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>

  <activity
    android:name="com.example.android.TvActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.Leanback">

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>

  </activity>
</application>

Bu örnekteki ikinci etkinlik manifesti girişi, bu etkinliği bir TV'de başlatılır.

Dikkat: " CATEGORY_LEANBACK_LAUNCHER intent filtresi: uygulamanız, TV cihazlarında Google Play'i çalıştıran kullanıcılar tarafından görülemez. Ayrıca TV cihazına yüklemek için geliştirici araçlarını kullandığınızda uygulama bu filtreye sahip olmaz. TV kullanıcı arayüzünde görünmez.

TV uygulamanızın kullanıcı arayüzü veya mevcut uygulamanızın TV bölümü, kolay gezinme için basit bir arayüz sağlamalıdır. uzaktan kumandayla sağlayabilirsiniz. Mevcut bir uygulamayı TV'de kullanmak üzere değiştiriyorsanız aynı TV'nin etkinlik düzenine sahiptir. TV uygulaması tasarlamayla ilgili yönergeler için TV için tasarım bölümüne bakın.

TV cihazı desteği bildirme

Uygulamanızın Android TV'ye özel olduğunu beyan etmek için android.software.leanback özelliği.

Uygulamanız hem mobil cihazlarda hem de TV'de çalışıyorsa required özellik değerini şu şekilde ayarlayın: false. required özellik değerini true olarak ayarlarsanız Google Play, uygulamanızı yalnızca Android TV OS'de kullanıma sunar.

<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="false" />
    ...
</manifest>

Dokunmatik ekran gerekli olmadığını bildir

TV cihazlarında çalıştırılması planlanan uygulamalar, giriş için dokunmatik ekranlara ihtiyaç duymaz. Bu durumu netleştirmek için TV uygulamanızın manifest dosyasında android.hardware.touchscreen özelliği gerekli değildir. Bu ayar, uygulamanızı bir TV cihazında çalışamaz ve uygulamanızın Google'da TV uygulaması olarak kabul edilmesi için gereklidir Oyna. Aşağıdaki kod örneğinde, bu manifest beyanının nasıl dahil edileceği gösterilmektedir:

<manifest>
    <uses-feature android:name="android.hardware.touchscreen"
              android:required="false" />
    ...
</manifest>

Dikkat: Uygulama manifestinizde dokunmatik ekran gerekli olmadığını, aşağıdaki örnek kodda gösterildiği gibidir. Aksi takdirde uygulamanız TV'deki Google Play'de görünmez. cihazlar.

Ana ekran simgesi ve banner'ı sağlama

Android TV uygulamaları her yerelleştirme için hem ana ekran simgesi hem de banner görüntüsü sağlamalıdır. Android TV cihazına bağlı olarak uygulama başlatılırken simge veya banner kullanılır nokta görünür.

Bunları uygulamanıza eklemek için manifest dosyasındaki simgeyi ve banner'ı aşağıdaki gibi açıklayın:

<application
    ...
    android:icon="@mipmap/ic_launcher"
    android:banner="@drawable/banner" >
    ...
</application>

Ana ekran simgesi

Android TV uygulamaları, tüm Android uygulamaları gibi bir ana ekran simgesi sağlamalıdır. En iyi uygulamalar için Uygulamanız için iyi bir lansman noktası ve ayrıntılı öğe şartları oluşturmak istiyorsanız Android TV uygulama simgesi ve banner'ı yönergelerimize bakın.

android:banner'ı kullanma <application> özelliğine sahip etiketini ekleyerek tüm uygulama etkinlikleri için bir varsayılan banner sağlayabilir veya <activity> etiketini kullanabilirsiniz.

Banner için 320 x 180 piksel boyutunda bir xhdpi kaynağı kullanın. Metin, görüntüsüdür. Uygulamanız birden fazla dilde sunuluyorsa her dil için ayrı sürümlerini sağlamanız gerekir. metin içeren her dilde banner oluşturabilirsiniz.

Başlatıcı rengini değiştirme

Dikkat: Android 12 ve sonraki sürümlerde, SplashScreen platform API'si, Android TV uygulamaları için desteklenmez.

Bir TV uygulaması başlatıldığında sistem, içi genişleyen, dolgulu bir animasyona benzeyen ekleyin. Bu animasyonun rengini özelleştirmek için android:colorPrimary özelliğini ayarlayın özelliğini belirli bir renkle ilişkilendirir. Ayrıca, aşağıdaki snippet'te gösterildiği gibi true örtüşme özelliklerini tema kaynağı XML dosyası:

<resources>
    <style ... >
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:windowAllowReturnTransitionOverlap">true</item>
      <item name="android:windowAllowEnterTransitionOverlap">true</item>
    </style>
</resources>

Temalar ve stillerle çalışma hakkında daha fazla bilgi için Stiller ve Temalar.

Android TV OS için uygulama geliştirme

Jetpack, TV uygulamalarıyla kullanılmak üzere androidx paket kitaplıkları içerir.

TV için ileti yazın

Oluşturma, Android TV OS için uygulama geliştirmenin önerilen yoludur. Temel Compose'un yanında TV için Compose kitaplıkları, TV'ler için özel olarak tasarlanmış özel bileşenler sunar. büyük ekran:

Android TV'de Jetpack Compose'u kullanma başlıklı makalede TV için Compose'u kullanarak TV uygulaması oluşturmayı keşfedin.

Leanback kullanıcı arayüzü araç seti

Leanback kullanıcı arayüzü araç seti, TV cihazları için API'ler ve kullanıcı arayüzü widget'ları sağlar:

Leanback kullanıcı arayüzü araç setini kullanarak nasıl TV uygulaması geliştirebileceğinizi öğrenmek için TV oynatma uygulamaları oluşturma.

TV uygulamalarını çalıştırma

Uygulamanızı çalıştırmak, geliştirme sürecinin önemli bir parçasıdır. Uygulamanızı şurada çalıştırabilirsiniz: USB üzerinden hata ayıklamayı destekleyecek veya sanal TV cihazlarını kullanacak şekilde yapılandırılmış TV cihazları.

Fiziksel bir cihazda çalıştırma

TV cihazınızı aşağıdaki şekilde kurun:

  1. TV cihazınızı geliştirme makinenize bağlamak için USB kablosu kullanın. Gerekirse cihaz üreticinizin sağladığı belgelere bakın.
  2. TV cihazınızda Ayarlar'a gidin.
  3. Cihaz satırında Hakkında'yı seçin.
  4. Build (Derleme) bölümüne ilerleyin ve mesajı alana kadar birkaç kez Build'i (Derleme) seçin. "Artık bir geliştiricisiniz!"
  5. Ayarlar'a geri dönün Tercihler satırında Geliştirici seçenekleri'ni seçin.
  6. Hata ayıklama > USB üzerinden hata ayıklama'yı tıklayın ve Açık'ı seçin.
  7. TV ana ekranına geri dönün.

Uygulamanızı TV cihazınızda test etmek için:

  1. Android Studio'da projenizi seçin ve Çalıştır tıklayın.
  2. Select Deployment Target (Dağıtım Hedefi Seçin) penceresinde, TV cihazınızı seçin ve Tamam'ı tıklayın.

Sanal cihazda çalıştırma

Android'deki AVD Yöneticisi SDK, çalışmak ve çalışmak için sanal TV cihazları oluşturmanıza olanak tanıyan cihaz tanımlarını sağlar. test etmek anlamına gelir.

Sanal TV cihazı oluşturmak için:

  1. AVD Yöneticisi'ni başlatın. Daha fazla bilgi için bkz. Sanal cihazlar oluşturun ve yönetin.
  2. AVD Yöneticisi iletişim kutusunda Cihaz Tanımları sekmesini tıklayın.
  3. Android TV cihaz tanımlarından birini seçip AVD oluştur'u tıklayın.
  4. Emülatör seçeneklerini belirleyin ve AVD'yi oluşturmak için Tamam'ı tıklayın.

    Not: TV emülatörü cihazının en iyi performansı için x86 emülatörünü kullanın. Ana Bilgisayar GPU'sunu kullan seçeneğini etkinleştirin. Şu durumlarda da sanal cihaz hızlandırmayı kullan: kullanılabilir. Emülatörün donanım hızlandırması hakkında daha fazla bilgi için bkz. Android Emülatör.

Uygulamanızı sanal TV cihazında test etmek için:

  1. Android Studio'da projenizi seçin ve Çalıştır tıklayın.
  2. Select Deployment Target (Dağıtım Hedefi Seçin) penceresinde, sanal TV cihazınızı seçip Tamam'ı tıklayın.

Emülatörleri kullanma hakkında daha fazla bilgi için bkz. Uygulamaları Android Emülatör'de çalıştırma. Uygulamaları Android Studio'dan sanal ortama dağıtma hakkında daha fazla bilgi Uygulamanızda hata ayıklama bölümüne bakın.

TV uygulamanızın hazır uygulama deneyimi olarak çalışmasını etkinleştirme

Hazır deneyimler, kullanıcıların işini kolaylaştırır TV uygulamanızı deneyebilir ve benimsenme oranını artırabilirsiniz.

TV uygulamanızı Android TV cihazında veya emülatörde hazır uygulama olarak çalışacak şekilde ayarlamak için: önce talimatları uygulayarak Hazır uygulama özellikli uygulama paketi oluşturma

Ardından, TV uygulamanızın intent-filter bölümünde MainActivity için hem LAUNCHER hem de LEANBACK_LAUNCHER, AndroidManifest.xml içinde açıklandı:

<activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>
  </activity>

TV uygulamanız hazır uygulama deneyimi olarak çalışacak şekilde yapılandırıldı.

TV uygulamanızı yayına hazırlama

Sonraki adımlar için TV Uygulamaları kontrol listesini inceleyin TV uygulamanızı yayına ve dağıtıma hazırlar.