Android 11'in en iyi özelliklerinden 3'ü tüm akıllı telefonlarda ve tabletlerde gösterilmeyecek. Bunun nedeni Google'ın bu özellikleri zorunlu kılmamasıdır.
Google her yıl Android işletim sisteminin yeni bir sürümünü yayınlar. Google, ilk Android 11 Geliştirici Önizlemesini Şubat ayında yayınladı ve ardından son birkaç ayda ikinci, üçüncü ve dördüncü geliştirici önizlemelerini yayınladı. Bu ayın başlarında Google, ilk Android 11 Beta kullanıcıların keyif alabileceği ve geliştiricilerin uygulayabileceği en iyi özellikler hakkında derinlemesine konuştu. Ancak artık Android 11'deki en önemli üç özelliğin her Android cihazda mevcut olmayacağını öğrendik.
Bunun nasıl mümkün olduğunu anlamak için Android işletim sisteminin Google'dan akıllı telefon cihaz üreticilerine nasıl dağıtıldığını kısaca açıklamamız gerekiyor. Android bir açık kaynaklı işletim sistemi Apache 2.0 kapsamında lisanslanmıştır; bu, bağımsız geliştiricilerden büyük şirketlere kadar herkesin işletim sistemini kendi cihazlarında değiştirme ve dağıtma özgürlüğüne sahip olduğu anlamına gelir. Google'ın Android 11 için tanıttığı yeni işletim sistemi özelliklerinin çoğu, akıllı telefonun Android Açık Kaynak Projesi'nin (AOSP) bir parçası olacak. cihaz üreticileri kendi yazılımlarını temel alır, ancak Apache 2.0 lisansı, daha önce de belirttiğim gibi, herkesin yazılımı gördüğü gibi değiştirmesine olanak tanır. yerleştirmek. Android cihazlar arasındaki API'lerde ve platform davranışlarında tutarlılığı korumak amacıyla Google, Google Mobil Hizmetlerinin (bunlar da dahil) dağıtımını bir araya getirir: Cihazların Google'ın kurallarına uymasını zorunlu kılan lisans sözleşmeleri ile Google Play Store ve Google Play Hizmetleri gibi uygulamalar ve çerçeveler "
Android Uyumluluk Programı" (diğer gereksinimlerin yanı sıra). Android Uyumluluk Programı birden fazla otomatik test paketinden ve Android'de sıralanan bir dizi kuraldan oluşur. Uyumluluk Tanımı Belgesi (CDD).CDD'de Google, cihaz üreticilerinin "Uygulaması GEREKEN", uygulaması yalnızca "ŞİDDETLE TAVSİYE EDİLEN" veya "UYGULAMAMASI GEREKEN" yazılım ve donanım özelliklerini listeler. Bir özelliğin uygulanması "ZORUNLU" olarak listeleniyorsa cihaz üreticisinin bu özelliği eklemesi gerekir, aksi takdirde Google uygulamalarını cihazlarına gönderemez. Bir özellik "UYGULANMAMALIDIR" olarak listeleniyorsa cihaz üreticisi bu özelliği ekleyemez veya Google uygulamalarını paketleyemez. Son olarak, bir özellik "ŞİDDETLE TAVSİYE EDİLEN" olarak listeleniyorsa bu özelliği uygulamak isteyip istememek cihaz üreticisine bağlıdır. CDD, her yıl yeni bir Android sürümünün kamuya açıklanmasının ardından yayınlanmadan önce bile sürekli değişen bir belgedir. Google, özellikleri kaldırmak, dili daha anlaşılır olacak şekilde değiştirmek ve iş ortaklarından gelen geri bildirimlere göre gereksinimleri gevşetmek için belgeyi sık sık günceller. Ancak Google, belirli bir Android sürümü için bir CDD'yi herkese açık hale getirdiğinde, bu gereksinimler, söz konusu Android işletim sistemi sürümünü çalıştıran Google sertifikalı cihazlar için kesin olarak belirlenecektir.
Android 11 CDD bu yılın sonuna kadar, muhtemelen Eylül ayının başına kadar halka açıklanmayacak. Ancak geliştirici @silme manzarası CDD'ye gelen değişiklikleri ayrıntılarıyla anlatan bir belgenin yayın öncesi kopyasını paylaştı ve Google'ın ekosistem genelinde Android 11'i nasıl şekillendirdiğine dair erken bir bakış sağladı. CDD'de yapılan 60'tan fazla değişikliğin büyük çoğunluğu kullanıcılar için pek ilgi çekici değil; cihaz üreticilerinin belirli API'leri uygulaması, belirli özellikleri bildirmesi ve belirli çekirdeği uygulaması gerekir özellikler. Ancak CDD'deki değişikliklerden 3'ü dikkatimizi çekti çünkü bunlar Android 11'deki en ilginç özelliklerden bazılarıyla ilgili. İşte ortaya çıkardığımız şey.
Cihaz Kontrolleri
Cihaz Kontrolleri, Android 11'de akıllı ev otomasyon kontrollerinin güç menüsünde gösterilmesini sağlayan bir özelliktir. Bir düzine farklı akıllı ev uygulamasını açmadan ışıklarınızı kapatabilir, garaj kapınızı açabilir, elektrikli süpürgenizi çalıştırabilir, evinizin sıcaklığını değiştirebilir ve çok daha fazlasını yapabilirsiniz. Google, akıllı ev uygulamaları geliştiricilerinin güç menüsündeki kontrolleri yüzeye çıkarmak için kullanabileceği API'ler ekledi. Bunun hoş bir özellik olduğunu düşünüyoruz sonunda akıllı telefonunuzu akıllı eve getiriyor. Ne yazık ki, OEM'lerin bunu fiilen uygulamasına yönelik bir gereklilik yoktur. Bir OEM, özelliğin yetersiz olduğunu düşünüyorsa veya farklı bir rotaya gitmek istiyorsa (yalnızca akıllı telefonlara izin vermek gibi) kendi ekosistemlerindeki cihazlardan ev kontrolleri), ardından Cihaz desteğini devre dışı bırakabilirler Kontroller.
Google, Cihaz Kontrollerini 25 Şubat 2020'de CDD'ye ilk eklediğinde, Bölüm 2.2.3 - Elde Taşınabilir Yazılım Gereksinimleri'ne bir "ZORUNLU" gereksinimi ekleyerek bunun dahil edilmesini zorunlu kıldı. Ancak 20 Mayıs 2020'de Google, önerilen "ZORUNLU" ifadesini kaldırmak için metni güncelledi. Yeni Bölüm 3.8.16 - Cihaz Kontrolleri özelliğin nasıl uygulanması gerektiğini özetlemektedir ancak aslında ilk etapta uygulanmasını gerektirmez! OEM'lerin bu şık özelliği devre dışı bırakmayacağını umuyoruz, ancak onlar devre dışı bırakana kadar bunu bilmemizin bir yolu yok. Android 11 üzerine kurulu Android'in kendi lezzetlerini ortaya çıkarmaya hazırlar ve bu da birkaç ay sonra gerçekleşecek. Şimdi.
Önerilen Bölüm 3.8.16 (Yeni) - Cihaz Kontrolleri (20.05.2020 tarihinde güncellendi)
3.8.16 Cihaz Kontrolleri
Android, geliştiricilerin kullanıcılar için hızlı durum ve eylem amacıyla cihaz kontrolleri yayınlamasına olanak tanıyan ControlsProviderService ve Control API'lerini içerir.
3.8.16.1 Cihaz Kontrolleri Kullanıcı Maliyeti
Cihazlar Cihaz Kontrollerini uyguluyorsa:
- [C-1-1] android.software.controls.feature bayrağının DOĞRU olduğunu bildirmesi GEREKİR
- [C-1-2] Kullanıcıya, android.service.controls aracılığıyla 3. taraf uygulamalar tarafından kaydedilen kontrollerden kullanıcının favorilerini ekleme, düzenleme, seçme ve çalıştırma olanağı sağlamalıdır ZORUNLU. ControlsProviderService ve android.service.controls. API'leri kontrol edin.
- [C-1-3] Başlatıcıdan üç etkileşim içerisinde bu kullanıcıya erişim sağlamalıdır ZORUNLU
- [C-1-4] android.service.controls aracılığıyla kontroller sağlayan her bir 3. taraf uygulamasının adını ve simgesini bu kullanıcı olanağında doğru şekilde VERMELİDİR. ControlsProviderService API'nin yanı sıra android.service.controls tarafından sağlanan herhangi bir simge, durum metni, cihaz türü, ad, yapı, bölge, özel renk ve altyazı. Kontrol API'si
Tersine, eğer cihaz uygulamaları bu tür kontrolleri uygulamıyorsa, o zaman
- [C-2-1] ControlsProviderService ve Control API'leri için Null raporlanması ZORUNLUDUR.
devamını oku
Bildirimlerdeki Konuşmalar
Android'in iOS'a kıyasla en büyük avantajlarından biri, eskisinin bildirimleri nasıl ele aldığıdır. Kullanılabilirlikteki bu boşluk, Android 11'de "Konuşmalar" özelliğinin kullanıma sunulmasıyla daha da genişleyecek. Android 11'de bildirimler mesajlaşma uygulamalarından gelenler birlikte gruplandırılır ve bildirim panelinde diğer uygulamaların çoğunun üzerinde ayrı bir bölümde gösterilir bildirimler. Bu, diğer tüm bekleyen bildirimleriniz arasında gezinmenize gerek kalmadan mesajları hızlı bir şekilde görmenize ve yanıtlamanıza olanak tanır. Ne yazık ki, bildirimlerdeki bu şık değişiklik tüm cihazlarda kullanılamayabilir. Google, OEM'lere "konuşma bildirimlerini önceden gruplandırmak ve görüntülemek" isteyip istemediklerini seçme seçeneği sunuyor. konuşma dışı bildirimler." OEM'ler sıklıkla bildirim panelini özelleştirir ve bu nedenle Google'ın OEM'lere bildirim paneli sunması şaşırtıcı değildir. burada bir seçim var. Yine de Google'ın Android 11'de bildirimlerde daha fazla tutarlılık sağlamayı seçmemesi talihsiz bir durum.
Bölüm 3.8.3.1 - Bildirimlerin Sunumu (Güncelleme tarihi: 4/08/2020) için önerilen değişiklikler
Cihaz uygulamaları, üçüncü taraf uygulamaların kullanıcıları önemli olaylar hakkında bilgilendirmesine izin veriyorsa:
...
Android R, NotificationManager'ı kullanan bir bildirim olan konuşma bildirimi desteğini sunar. Mesaj Stili ve yayınlanmış bir Kişi Kısayol Kimliği sağlar.
Cihaz uygulamaları şunlardır:
- [H-SR] Konuşma yapılmadan önce konuşma bildirimlerinin gruplandırılması ve görüntülenmesi ŞİDDETLE ÖNERİR Devam eden ön plan hizmet bildirimleri ve önemi hariç olmak üzere bildirimler: yüksek bildirimler.
Konuşma bildirimleri ayrı bir bölümde gruplandırılırsa cihaz uygulamaları
- [H-1-8] Devam eden ön plan hizmet bildirimleri ve önemi: yüksek bildirimler haricinde, konuşma bildirimlerinin, konuşma dışı bildirimlerden önce görüntülenmesi ZORUNLUDUR.
Cihaz uygulamaları şunlardır:
- [H-SR] Konuşma bildirimlerinden aşağıdaki işlemlere erişim sağlanması KESİNLİKLE ÖNERİLEN: uygulama baloncuklar için gerekli verileri sağlıyorsa bu konuşmayı bir baloncuk olarak görüntüleyin
AOSP uygulaması bu gereksinimleri varsayılan Sistem Kullanıcı Arayüzü, Ayarlar ve Başlatıcı ile karşılar.
devamını oku
IdentityCredential - Mobil Sürücü Lisansları
Son olarak beni en çok heyecanlandıran özelliklerden biri de IdentityCredential API'dir. Geçen yıl ayrıntılı olarak açıkladığımız gibiIdentityCredential API, uygulamaların mobil sürücü ehliyetleri gibi kimlik belgelerini cihazda saklamasına olanak sağlamak üzere tasarlanmıştır. Dünya çapında birçok ülke (ve bazı ABD eyaletleri) halihazırda vatandaşlarının ehliyetlerini bir mobil uygulamada saklamasına izin veriyor. Ancak Google, verilerin çevrimdışı olarak güvenli bir ortamda saklanmasını sağlayarak bunu daha güvenli hale getirmek için çalışıyor.
Android 11'in kaynak kodu, IdentityCredential API'sini (geliştiricilerin kimlik belgelerini telefonun hafızasında saklamak için arayacakları) içerir. güvenli ortam) ve IdentityCredential HAL'yi (telefonun güvenli ortamıyla arayüz oluşturan) destekler, ancak OEM'lerin bunları uygulayın. Google, 10 Ocak 2020'de IdentityCredential'ın CDD'ye dahil edilmesini ilk önerdiğinde bunu bir gereklilik olarak listeledi. Ancak 18 Mart 2020'de bu gereksinimi gevşettiler ve artık yalnızca OEM'lerin bu özelliği desteklemesini şiddetle tavsiye ediyorlar. Google'ın bu gereksinimi gevşetmesine şaşırmadık; güvenilir yürütme ortamını etkileyen bir değişiklik eklemek, OEM'lerin uygulama çabasını gerektirecektir. OEM'lerin bu değişime hazırlanmak için daha fazla zamana ihtiyacı olması mümkündür. Ancak kullanıcılar için bu, Android 11 akıllı telefonunuzun, mobil sürücü ehliyetini telefonun güvenli ortamında güvenli bir şekilde saklamayı destekleyeceğinin garantisinin olmadığı anlamına gelir.
IdentityCredential sisteminin Android 11 cihazları arasında yaygın olarak benimsenmesini engelleyen herhangi bir teknik sınırlama olmadığını belirtmeliyiz. IdentityCredential sistemini uygulamanın gereksinimlerinden biri, cihazın Güvenilir Yürütme özelliğine sahip olmasıdır. Ortam (TEE) veya "güvenilir bir uygulamanın" depolanan kimlikle etkileşime girdiği özel bir güvenli işlemci belgeler. Android 7.0 Nougat'tan bu yana Google, tüm modern Android cihazlarının "yalıtılmış bir yürütme ortamını" desteklemesini zorunlu kılmıştır (her biri Bölüm 2.2.5 - CDD'deki Güvenlik Modeli). ARM işlemcili cihazlarda genellikle ARM'ler bulunur Güven Bölgesi TEE ve Google şunları sağlar: Güvenilir İşletim Sistemi TrustZone'da çalışır. Bir TEE'nin varlığı IdentityCredential sistemini desteklemek için yeterlidir, ancak kimlik bilgilerinin gömülü güvenli bir CPU'da (örneğin, Bazı Qualcomm Snapdragon işlemcilerin Güvenli İşlem Birimi) veya ayrı bir güvenli CPU (örneğin, Google'ın Titan M'si veya Samsung'un yeni güvenlik çipleri). Özellikle ayrı güvenli CPU'lara sahip cihazlar aynı zamanda IdentityCredential sisteminin "Doğrudan Erişim modu" özelliğini de destekleyebilir. bu, cihazda ana işletim sistemini başlatmak için yeterli güç kalmadığında bile kullanıcının kimlik belgesini almasına olanak tanır.
Önerilen Bölüm 9.11.3 (Yeni) - Kimlik Bilgileri (18.03.2020'de güncellendi)
Kimlik Kimlik Bilgisi Sistemi, uygulama geliştiricilerinin kullanıcı kimlik belgelerini saklamasına ve almasına olanak tanır.
Cihaz uygulamaları:
- [C-SR]'nin Kimlik Bilgisi Sistemini uygulaması ŞİDDETLE TAVSİYE EDİLİR.
Cihaz uygulamaları Kimlik Bilgisi Sistemini uyguluyorsa:
- [C-0-1] null olmayan bir değer döndürmeli ZORUNLU IdentityCredentialStore#getInstance() yöntem.
- [C-0-2] `android.security.identity.*` API'lerini güvenilir bir ağ ile iletişim kuran kodla UYGULAMALIDIR Güvenilir Yürütme Ortamında (TEE) veya özel bir güvenli ortamda çalışan uygulama işlemci. Güvenilir uygulama öyle bir şekilde uygulanmalıdır ki Güvenilir Bilgi İşlem Tabanı Kimlik Kimlik Bilgisi Sistemi Android İşletim Sistemini içermez.
devamını oku
Google ayrıca geliştiricilerin kimliği güvenli bir şekilde depolamak için destek eklemesini kolaylaştırmak amacıyla bir IdentityCredential Jetpack kitaplığı üzerinde çalışıyor ancak asıl zorluk, hükümetlerin, devlet kimliklerini güvenli bir şekilde saklamak için bu API'yi kullanan uygulamalara yetki vermesini sağlamak olacaktır. Buna göre Gadget'ı etkinleştirin, Güney Kore, sürücü ehliyetlerinin bir mobil uygulamada saklanmasına yönelik desteği kısa süre önce kullanıma sundu, bu nedenle bu teknolojinin kabulünde bir artış görmeye başlıyoruz. Öncelikle bunun nereye varacağını görmek beni heyecanlandırıyor çünkü bu, dışarı çıktığımda yanımda taşıyacağım bir şeyin daha azalması anlamına gelecek.
Aldığımız belgede CDD'de yapılan değişiklikler, bu değişikliklerin yapıldığı tarihe göre listeleniyordu. En son değişiklikler 10 Haziran 2020'de yapıldı, bu da elimizdeki belgenin oldukça güncel olduğu anlamına geliyor. Google'ın bu değişikliklerden vazgeçip, Android 11'in kamuya açıklanmasından önce tüm bunları yeniden zorunlu hale getirmesi mümkündür, ancak Google'ın birdenbire CDD'yi yapacağından şüpheliyiz. Daha sıkı. Bu değişiklikler, eğer halihazırda bunu yapmayı planlamamışlarsa, geri dönüp bu özellikleri uygulamak zorunda kalacak olan OEM'lerden gelen geri bildirimler nedeniyle muhtemelen gevşetilmiştir. Bu zaman, çaba ve para gerektirir; bu da Android 11'in Google dışı cihazlar için piyasaya sürülmesini daha da geciktirir. Yine de Google bu özellikleri bir kez daha zorunlu hale getirirse XDA Portalında bir güncelleme yayınlayacağız.