Android TV Geliştirme – Büyük Ekranlar Geliyor, Hazır Olun!
Yayınlanan: 2022-03-11Google, Android'i telefonlardan saatlere, arabalardan akıllı televizyon setlerine kadar her şeye getirmek istiyor. Öncelikle, tam açıklama adına, akıllı TV platformları söz konusu olduğunda biraz önyargılı olduğumu söylemeliyim, o yüzden bunu aradan çıkaralım. Sanırım çoğu, piyasadaki tüm akıllı TV platformları düpedüz korkunç, ama bu sadece benim. Google daha iyisini yapabileceğini düşünüyor ve hem tüketici hem de teknoloji meraklısı olarak gerçekten daha iyisini yapabileceğine inanmaya meyilliyim veya en azından yapabileceğini umuyorum.
Peki Android TV nedir? Birçok kişi onu 2010'da piyasaya sürülen, feshedilmiş bir platform olan Google TV ile karıştırıyor. Google, Sony, Intel ve Logitech tarafından geliştirildi, ancak hiçbir zaman ilgi görmedi. 2014'ün ortalarında resmi olarak Android TV'nin yerini aldı ve bu yeni platform hem tüketiciler hem de geliştiriciler için çok daha heyecan verici.
Google TV'den farklı olarak Android TV, standart Android'e çok daha yakındır. Android 5.0'ı (en azından ilk lansman sürümünde) çalıştırır ve yeni TV'lerde ve bağımsız cihazlarda kullanılabilir. Bu iyi bir haber çünkü Android TV, ucuz Android TV kutularına ve çubuklarına kavuşacak ve aynı kullanıcı deneyimini milyonlarca eski TV'ye getirecek. Aslında, Android TV'ye sahip ilk cihaz bir TV değil, Google'ın Nexus Player'ı. Bu aynı zamanda geçmişte çeşitli akıllı TV platformlarına yöneltilen en büyük şikayetlerden birini de ele alıyor: tutarlılık eksikliği. Android TV, tüm uyumlu cihazlara neredeyse aynı kullanıcı deneyimini getirmelidir.
Devrim Televizyonda Yayınlanmayacak, Yayınlanacak
Yeni özellikler söz konusu olduğunda, Android TV ayrıca Google Cast için destek sunar. Chromecast çubuğundan Google Cast'a aşina olabilirsiniz. Teknoloji şimdiden yüzlerce uygulama ve hizmet tarafından destekleniyor ve daha fazlası yolda. Google Cast, Android TV cihazlarının çeşitli cihazlardan akışlı içerik almasına izin verir. Uygulama, Google Cast API'sini kullanarak basittir ve ihtiyacınız olan tüm bilgileri Google Cast geliştirme sitesinde bulacaksınız.
Bu, Google'ın kablo şirketlerini "aptal borulara" dönüştürmek ve içerik yerine bant genişliğini kullanmak istediği anlamına mı geliyor? Pek değil, ama özellikle akıllı TV platformları çoğaldıkça her şey mümkün.
Ancak akış, Google'ın tek kozu değildir.
Android TV ayrıca iletişim, oyun, ev otomasyonu ve çok daha fazlası için yeni fırsatlar yaratır. Android TV, Android veya diğer platformları çalıştıran her türlü bağlı cihaz için bir merkez haline gelebilir. Kapıda kimin olduğunu görmek, klimanızı veya bağlı termostatınızı ayarlamak, hatta 80'lerin aksiyon klasiklerini izlerken RGB LED ampullerinizi TV'nizle senkronize etmek için kullanabilirsiniz.
Elbette, bu şeylerden bazıları kulağa aldatıcı gelebilir, ancak Android TV hile yapmak için değildir; Android Wear veya Android Auto gibi niş bir platform olmayacak. Çok uzun zaman önce, yalnızca meraklılar akıllı TV'ler ve akıllı telefonlar satın aldı, ancak özellikli telefonlar ve geleneksel TV'ler bu noktada neredeyse yok oldu. Android TV, milyonlarca evde televizyonlara çıkacak; gerçekten hiç şüphe yok.
Bu, Android geliştiricileri için iyi bir haber, çünkü kullanıcı tabanının hızla büyüyeceğinden emin ve böylece Android TV uygulaması geliştirme için yeni bir platformla mücadele etme riskini azaltıyor.
Android TV – Kaputun Altında Ne Var?
Donanıma gelince, Android standart FHD ekranları (1080p) ve UHD (3840x2160) göreceğiz. Ayrıca bazı üreticilerin gelecekte bir ara Android TV'yi kavisli 21:9 ünitelere getirme olasılığı da var, ancak şimdilik 16:9 panellere odaklanılacak. UI tasarımcılarının bunu akıllarında tutmaları gerekir.
Android 5.0'a (API seviye 21) dayandığından ve ART kullandığından, çoğu Android TV donanımı 64 bit işlemcilere sahip olacaktır. Nexus Player bir Intel Atom işlemciye dayanıyor, yakında çıkacak olan birçok Android TV'de MediaTek'in MT5595 işlemcisi bulunacak, daha önceki bir gönderide bahsettiğim Nvidia's Shield konsolu ise Tegra X1 işlemcisini kullanıyor. Intel'in ve Nvidia'nın Yonga Üzerinde Sistem (SoC) teklifleri 64-bit CPU çekirdeklerine dayanırken, MediaTek 32-bit Cortex-A17 ve Cortex-A7 çekirdeklerini kullanır.
Tüm Android TV donanımının HEVC ve VP9 kod çözmeyi desteklemesi gerekecek ve bu yongaların çoğu, aynı anda birkaç UHD olmayan akışı işleme kapasitesine sahip olacak. Saniyede 60 kare hızında UHD içerik sunmak da sorun olmamalı. Hızlı, çift bantlı kablosuz da yerleşiktir ve UHD akışları için yeterli bant genişliği sağlar.
Android TV donanım platformları çok sayıda ara katman yazılımına güvenecek ve her bölge ve pazarı kapsayacak şekilde birden çok yayın standardına uyacaktır.
Donanımla ilgili egzotik bir şey yok ve geliştiricilerin endişelenecek pek bir şeyi yok. Birçok Android 5.0 DNA, yazılım cephesinde sorunsuz bir geçiş sağlar, ancak akılda tutulması gereken bazı şeyler vardır.
Android Büyük Ekrana Geçiyor
Tüm bunlar geliştiriciler için ne anlama geliyor? Android TV geliştirme kulağa basit geliyor, ancak teknik özelliklere hızlı bir bakış, resmin tamamını boyamaz. Pek çok geliştirici ve tasarımcı kendini evinde gibi hissetmeliyken, kullanıcıların kendilerini evlerinde gibi hissetmelerini de sağlamaları gerekir - sonuçta Android TV oturma odası için tasarlanmıştır.
İyi haberle başlayalım. Çoğu Android TV cihazı, yalnızca iki çözünürlükte 16:9 panelleri kullanır, bu nedenle birçok şey standart hale getirilir. Bu, tutarlılığı artırmaya yardımcı olacak ve testi biraz daha kolaylaştıracaktır.
- 16:9 tek en boy oranında çalışma (ancak gelecekte 21:9 cihazlar görünebilir).
- FHD ve UHD olmak üzere iki çözünürlük için tasarlanırken, ekran boyutuna bağlı olarak yalnızca yoğunluk değişir.
- Çok sayıda standartlaştırılmış UI öğesi kullanma.
- Dokunmatik girişi düşünmeye gerek yok.
- Uğraşacak çok fazla sensör yok.
- Güç verimliliği önemli değil.
Bununla birlikte, Android TV uygulaması geliştirme, üstesinden gelinmesi gereken bir dizi yeni zorluğu da beraberinde getiriyor. TV'nin kendisinde dokunmatik giriş olmadığından (giriş için tabletler ve telefonlar kullanılabilse de), uzaktan kumandalar, üçüncü taraf airmouse birimleri, klavyeler, oyun denetleyicileri vb. gibi diğer giriş yöntemleriyle uğraşmak zorunda kalacağız. . Ayrıca gitmesi gereken birçok eski Android öğesi var (örneğin, portre modu yok). Piksel yoğunluğu varyasyonları çok daha büyüktür, dokunmatik girdi eksikliği bazı geliştiriciler için sorunlu olabilir, vb.
İşte bazı zorluklar:
- Aynı anda birden fazla kontrolör desteği.
- Farklı denetleyici türleri, yani standart uzaktan kumanda ve oyun denetleyicileri için destek.
- Gemide birkaç sensör.
- Aşırı tarama bazı cihazlarda sorun olabilir.
- Aynı çözünürlükte bile çok farklı piksel yoğunluğu (TV'ler, tabletlerden ve telefonlardan çok daha fazla boyutta gelir).
- Gereksiz öğeleri kaldırın.
Bu sorunlardan bazılarına daha yakından bakalım. Android TV'ler medya hub'ları olarak kullanılacağından, insanlar üzerlerinde birden fazla denetleyici kullanmak isteyeceklerdir. Bazıları bir Bluetooth klavye isteyebilirken, diğerleri bazı çok oyunculu eylemler için iki oyun kumandası alabilir. İyi haber şu ki, standart Android oyun denetleyicisi girişi, kullanıcı arayüzü ve oyunlar gibi uygulamalar için kullanılabildiğinden, ek denetleyici girişlerini desteklemek için muhtemelen özel koda ihtiyacınız olmayacak. Ancak, birden fazla giriş cihazını adreslemeniz gerekebilir ve daha egzotik kontrolörler için destek eklemeniz gerekirse, biraz ince ayar yapmanız gerekebilir.
Çoğu Android TV, sınırlı bir sensör paketiyle gönderilir. Neden bir TV setinde GPS'e ihtiyacınız olsun ki? Bu nedenle, TV cihazlarında bulunmayan donanım özellikleri desteğini devre dışı bırakmak gerekir. Her şeyin nasıl çözüleceğine dair birçok ayrıntılı bilgi var; temel olarak, desteklenmeyen sensörleri yanlış olarak işaretleyin ve hepsi bu.
Ayrıca Android uygulama bildirimini gözden geçirmeniz ve özellik eksikliği nedeniyle Android TV cihazlarını hariç tutup tutmayacağını kontrol etmeniz gerekir.
Örneğin, standart ACCESS_FINE_LOCATION
izni GPS'i kullanır. Gemide GPS olmadığı için uygulama bildiriminiz aşağıdakileri içermelidir:

<uses-feature android:name="android.hardware.gps" android:required="false"/>
Bu nedenle, ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
olarak değiştirmeniz gerekecektir. Aynı ilke, platformun diğer yönleri için de geçerlidir ve ayrıntılar Google'da mevcuttur. Kontrol etmek isteyebileceğiniz başka bir kaynak da Nvidia'nın Android TV Geliştirici Kılavuzu.
Diğer Android projelerinden öğeleri yeniden kullanmayı düşünüyorsanız, bunu aklınızda bulundurmaya değer, aksi takdirde bir TV'de portre modunda bir menü açmaya çalışan ve beni bir sonraki noktaya getiren bir uygulamayla karşılaşabilirsiniz:
Android TV 10 Ayak Kullanıcı Arayüzü
Android TV temelde Android 5.0 olmasına rağmen, kullanıcı arayüzünün bildiğimiz kadarıyla stok Android ile çok az ilgisi var. Akıllı TV platformları, "10 fit" yaklaşımını kullanır; bu, temel olarak, kullanıcı deneyiminin ekrandan 10 fit, bir akıllı telefon veya tabletten yaklaşık on kat daha fazla optimize edildiği anlamına gelir.
“10 fit” konsepti, akıllı TV platformlarından önce gelir. Ayrıca ekran üstü (OSD) tasarımında, oyun konsolu pano tasarımında kullanıldı ve genellikle ana akım 5.1 surround sistemler tarafından kullanıldı. Peki kullanıcı deneyimi ve UI tasarımı için ne anlama geliyor?
Tasarımcıların, ucuz 37 inç 1080p TV'lerden UHD'deki 65 inç veya 75 inç canavarlara kadar bir dizi farklı panelde her şeyin yolunda göründüğünden emin olmaları gerekiyor. UI, ekran boyutundan bağımsız olarak FHD ve UHD'de iyi çalışmalıdır. Yalnızca birkaç farklı çözünürlükle uğraşırken, piksel yoğunluğu (inç başına piksel veya ppi) büyük ölçüde değişir.
İşte birkaç örnek:
- 42 inç UHD panel – 105ppi
- 42 inç FHD panel – 52ppi
- 50 inç UHD panel – 88ppi
- 50 inç FHD panel – 44ppi
- 55 inç UHD panel – 80ppi
- 65 inç UHD panel – 67ppi
- 32 inç FHD panel – 69ppi
30-40 inç aralığındaki panel boyutlarına sahip Android TV'lerde UHD paneller görmemiz pek olası değil, ancak bu segmentte çalışan çok sayıda FHD cihazı görmeliyiz. Birçok tüketici, mevcut 1080p TV setlerini değiştirmek yerine dışarı çıkıp yeni Android TV kutuları satın alacak. Birçok TV yapımcısı 40+ inç modellerde 4K panelleri kullanmaya başlayacak olsa da, geliştiricilerin hala eski desteği düşünmesi gerekiyor.
Bu nedenle, aşırı taramanın bir sorun olabileceğini de aklımızda tutmamız gerekiyor. Android TV set üstü kutuları ile donatılan birçok TV, çerçeveye doğru bir miktar ekran gayrimenkulü kaybedecek. Videoya aşina olan herkes, güvenli çerçeveler hakkında bir veya iki şey bilir (eylem güvenli ve başlık güvenli); bu, standart tanımlı CRT televizyon setlerinin günlerine bir geri dönüş, ancak yine de güvenli tarafta kalmak ve önemli UI öğelerini kenara yakın yerleştirmekten kaçınmak iyi bir fikirdir. Alanın en az yüzde 5'ini önemli içeriklerden arındırmaya çalışın ve gerçekten önemli UI öğeleri için daha da güvenli bir kenar boşluğu kullanın; Yüzde 10 hile yapmalı, ancak tamamen güvende olmak istiyorsanız, daha da fazlasını yapabilirsiniz.
Bu özel sorunun tabletlerde veya akıllı telefonlarda bulunmadığını unutmayın. Neyse ki, bu Google'ın bunu dikkate almadığı anlamına gelmiyor, bu nedenle Android TV'de (ve aslında 4.2.x Android yayınının diğer sürümlerinde) aşırı tarama desteği yerleşiktir. OpenGL kullanmayı düşünüyorsanız, bu sorunu da çözmeniz gerekir.
Gerçek Android TV'lerde aşırı taramanın bir sorun olması pek olası değildir, ancak satış sonrası Android TV çözümlerinde büyük bir sorun olabilir. Herkes birkaç yılda bir TV'sini yükseltmek istemez ve birçok insan bunun yerine Android TV'li 50 dolarlık bir HDMI dongle alacak. Bu nedenle, Android TV uygulamanıza aşırı tarama yapılandırma seçeneklerini dahil etmek iyi bir fikirdir.
Bir başka iyi fikir de, Google'ın çoklu ekran desteğini kapsayan en iyi uygulamalarına göz atmaktır. Bu basit ama önemlidir; uygulama bildirimine ek "uyumlu ekranlar" eklemeniz gerekecek.
Android TV Kullanıcı Deneyimini Geliştirme
Akıllı TV platformları için kullanıcı deneyimi her zaman sorun olmuştur. Android TV, doğru yapılmış Google TV'dir ve kullanıcı deneyimini geliştirmeli, ancak kullanıma hazır değil; geliştiricilerin çok fazla ağır kaldırma yapması gerekecek.
İyi haber şu ki, TV'ler gerçekten çok fazla kullanıcı girişi ve katılımı gerektirmiyor; herhangi bir kanepe patatesi bunu kanıtlayacaktır! TV üreticileri, akıllı TV arayüzlerini cilalamak ve daha hızlı, daha şık UI'ler ve yeni sensörlü uzaktan kumandalar gibi yeni donanımlarla kullanıcı deneyimini geliştirmek için yıllarını şimdiden harcadılar. Android TV olmasa bile işler güzel ilerliyordu, ancak Google'ın yeni platformu daha fazla fırsat sunuyor.
Akıllı TV konusunda biraz şüpheci olduğumu zaten söylemiştim, ama ben bile son birkaç yılda çok ilerleme kaydedildiğini kabul etmeliyim. Ancak, Android TV sadece insanların TV içeriğini tüketme şeklini iyileştirmekle ilgili değil, daha çok bunu yapma şeklini değiştirmekle ilgili.
Tek seferde çok fazla spor ve politika izlemeyi seven bir kullanıcıysanız (emekli ve sıkılmış babam gibi), UX sonradan akla gelen bir şeydir. Aynı şey benim gibi arka planda televizyonu açık tutan, eski bir vanalı radyoda yaptıkları gibi haber veya müzik dinleyen insanlar için de geçerli. Bununla birlikte, birçok insanın video içeriğini tüketme şekli, önce dijital video kaydedicilerle, şimdi akışla birlikte, son 10 ila 15 yılda büyük ölçüde değişti. Günümüzün gençleri birbirine bağlı cihazlarla çevrili olarak büyüyor ve bir TV'den Y kuşağından daha fazlasını bekliyorlar.
Şimdiye kadar anlaşılması zor olan herhangi bir akıllı TV platformunun nihai hedefi, geleneksel TV'yi isteğe bağlı video ve diğer içerik türleriyle mümkün olduğunca sorunsuz bir şekilde birleştirerek yeni bir kullanıcı deneyimi yaratmaktır. Şahsen, şimdiye kadar kimsenin doğru yaptığını düşünmüyorum. Google yapabilir, ancak görülmeye devam ediyor. Çok şey üçüncü taraf geliştiricilere bağlı olacaktır. 50$'lık HDMI dongle'lardan 5.000$'lık üst seviye TV setlerine kadar her tür Android TV donanımı üzerinde iyi bir UX sunmak için bir dizi yönergeyi izlemeleri gerekecek.
Mevcut akıllı TV platformlarının hayranı olmadığım için mükemmel bir kullanıcı deneyimi yaratmak için yapılması gerekenleri listelemek en azından küstahça olabilir. Yine de, UI ve UX uzmanları bazı noktalarda hemfikir olma eğilimindedir:
- Akıllı TV'ler hala yalnızca TV'dir - esas olarak video içeriğini tüketmek için kullanılırlar, cep telefonlarımızda ve tabletlerimizde halihazırda yaptığımız milyonlarca farklı şeyi yapmak için değil.
- Giriş yöntemleri iyileştirilmelidir - uzaktan kumandalar gelişti, ancak hala karmaşık bir kullanıcı arayüzü için yeterince iyi değiller. Akıllı telefonları ve tabletleri alternatif giriş yöntemleri olarak kullanmak hala geek olarak kabul ediliyor ve daha basit olması gerekiyor.
- Hareket kontrolü - bazı durumlarda uygulanabilir, ancak pasif bir kullanıcı deneyimi ile uğraştığımız için fazla bir şey değişmeyecek.
- Birden çok kullanıcı – TV'ler çoğu evde kişisel cihazlar değildir, bu nedenle oturum açmayı unutun, bu yalnızca kullanıcıları rahatsız eder.
- Bozulmadıysa, tamir etmeyin – geleneksel radyo ve TV, basitlikleri ve rahatlıkları nedeniyle hala çok keyifli bir kullanıcı deneyimi sağlar, bu nedenle tekerleği yeniden icat etmeye gerek yoktur.
- Her şeyi basit tutun – mümkün olduğunca az tıklamayla kullanıcı etkileşimini mutlak minimumda tutmaya çalışın.
- Temiz, minimal bir kullanıcı arayüzüne gidin – sırf oynamak için çok fazla gayrimenkulünüz olduğu için hepsini kullanmak zorunda değilsiniz.
Sonuç olarak, Android TV geliştiricileri ancak bu kadarını yapabilir; Google ve Android TV ortaklarının mükemmel bir kullanıcı deneyimi yaratması kalır. Üçüncü taraf geliştiriciler, basitçe bunun üzerine inşa edecek, birden fazla cihazda tutarlı bir deneyim sağlarken işlevselliği genişletecek. Altta yatan platformda diş çıkarma sorunları veya tutarsızlıklar varsa, geliştiriciler sihirlerini elleri arkadan bağlı olarak yapmalıdır.