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.
Ana ekran banner'ı
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:
androidx.leanback.app
androidx.leanback.database
androidx.leanback.graphics
androidx.leanback.media
androidx.leanback.preference
androidx.leanback.system
androidx.leanback.widget
androidx.leanback.widget.picker
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:
- TV cihazınızı geliştirme makinenize bağlamak için USB kablosu kullanın. Gerekirse cihaz üreticinizin sağladığı belgelere bakın.
- TV cihazınızda Ayarlar'a gidin.
- Cihaz satırında Hakkında'yı seçin.
- Build (Derleme) bölümüne ilerleyin ve mesajı alana kadar birkaç kez Build'i (Derleme) seçin. "Artık bir geliştiricisiniz!"
- Ayarlar'a geri dönün Tercihler satırında Geliştirici seçenekleri'ni seçin.
- Hata ayıklama > USB üzerinden hata ayıklama'yı tıklayın ve Açık'ı seçin.
- TV ana ekranına geri dönün.
Uygulamanızı TV cihazınızda test etmek için:
- Android Studio'da projenizi seçin ve Çalıştır tıklayın.
- 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:
- AVD Yöneticisi'ni başlatın. Daha fazla bilgi için bkz. Sanal cihazlar oluşturun ve yönetin.
- AVD Yöneticisi iletişim kutusunda Cihaz Tanımları sekmesini tıklayın.
- Android TV cihaz tanımlarından birini seçip AVD oluştur'u tıklayın.
- 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:
- Android Studio'da projenizi seçin ve Çalıştır tıklayın.
- 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.