Ürün Haberleri

Android 17'nin ikinci beta sürümü

Okuma süresi 6 dakika
Matthew McCullough
Vice President, Product Management, Android Developer

Bugün, gizliliğe, güvenliğe ve gelişmiş performansa öncelik veren bir platform oluşturma çalışmalarımıza devam ederek Android 17'nin ikinci beta sürümünü yayınlıyoruz.Bu güncelleme, EyeDropper API ve gizliliği korumaya yönelik Kişi Seçici gibi bir dizi yeni özellik sunar. Ayrıca gelişmiş mesafe ölçümü, cihazlar arası aktarım API'leri ve daha fazlasını ekliyoruz.

Bu sürüm, 2. çeyrekteki yıllık ana SDK sürümünün ardından küçük bir SDK güncellemesiyle yayınlanma sıklığımızdaki değişimi sürdürüyor.

Kullanıcı Deneyimi ve Sistem Arayüzü

Baloncuklar

Bubbles, mesajlaşma baloncukları API'sinden ayrı yeni bir kayan kullanıcı arayüzü deneyimi sunan bir pencere modu özelliğidir. Kullanıcılar, başlatıcıda bir uygulama simgesine uzun basarak telefonlarında, katlanabilir cihazlarında veya tabletlerinde uygulama balonu oluşturabilir. Büyük ekranlarda, görev çubuğunun bir parçası olarak bir balon çubuğu bulunur. Kullanıcılar bu çubukta balonları düzenleyebilir, aralarında geçiş yapabilir ve balonları ekrandaki sabitleme noktalarına taşıyabilir.

Bubbles.gif

Uygulamalarınızın baloncuk olarak doğru şekilde çalışması için çoklu pencere modunu destekleme yönergelerine uymanız gerekir.

Baloncuklar, Beta 2'de henüz tam olarak etkinleştirilmemiştir. Bu özellikleri Android 17'nin gelecekteki bir sürümünde bulabilirsiniz.

EyeDropper API

Yeni bir sistem düzeyinde EyeDropper API, uygulamanızın hassas ekran görüntüsü izinleri gerektirmeden ekrandaki herhangi bir pikselden renk istemesine olanak tanır.

Eyedropper_Tester.webp
  val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
  result -> if (result.resultCode == Activity.RESULT_OK) {
    val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
    // Use the picked color in your app
  }
}

fun launchColorPicker() {
  val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
  eyeDropperLauncher.launch(intent)
}

Kişi Seçici

ACTION_PICK_CONTACTS aracılığıyla yeni bir sistem düzeyinde Kişi Seçici, yalnızca kullanıcının istediği belirli veri alanlarına geçici ve oturum tabanlı okuma erişimi vererek geniş kapsamlı READ_CONTACTS izinlerine olan ihtiyacı azaltır. Cihazın kişisel veya iş profillerinden seçim yapılmasına da olanak tanır.

android-17-contact-picker.gif
  val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
    if (it.resultCode == RESULT_OK) {
        val uri = it.data?.data ?: return@rememberLauncherForActivityResult
        // Handle result logic
        processContactPickerResults(uri)
    }
}

val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
    putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
    putExtra(EXTRA_ALLOW_MULTIPLE, true)
    putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}

contactPicker.launch(intent)

Dokunmatik yüzeylerle daha kolay işaretçi yakalama uyumluluğu

Daha önce, bir uygulama işaretçiyi yakaladığında dokunmatik yüzeyler, olayları farelerden çok farklı bir şekilde bildiriyordu. Fare tarafından bildirilen göreli hareketler yerine, parmakların yüzeydeki konumlarını bildiriyordu. Bu durum, birinci şahıs oyunlarında dokunmatik yüzeylerin düzgün şekilde desteklenmesini oldukça zorlaştırdı. Artık sistem, dokunma paneli yakalandığında işaretçi hareketini ve kaydırma hareketlerini varsayılan olarak tanıyacak ve bunları fare etkinlikleri gibi bildirecek. Yeni "mutlak" modda yakalama isteğinde bulunarak eski ve ayrıntılı parmak konumu verilerini istemeye devam edebilirsiniz. 

  // To request the new default relative mode (mouse-like events)
// This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE
view.requestPointerCapture()

// To request the legacy absolute mode (raw touch coordinates)
view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)

Etkileşimli seçicinin dinlenme sınırları

Android'in ChooserSession'ında getInitialRestingBounds'u çağırarak uygulamanız, animasyonlar ve veri yükleme tamamlandıktan sonra Seçici'nin bulunduğu hedef konumu belirleyebilir. Bu sayede kullanıcı arayüzünde daha iyi ayarlamalar yapılabilir.

Bağlantı ve Cihazlar Arası

Cihazlar arası uygulama aktarımı

Yeni Handoff API, başka bir cihazda (ör. Android tablet) devam ettirilecek uygulama durumunu belirtmenize olanak tanır. Bu özellik etkinleştirildiğinde sistem, durumu CompanionDeviceManager aracılığıyla senkronize eder ve kullanıcının yakındaki cihazlarının başlatıcısında aktarım önerisi gösterir. Bu özellik, sorunsuz görev devamlılığı sunmak için tasarlanmıştır. Kullanıcılar, Android ekosistemlerinde iş akışlarına tam olarak kaldıkları yerden devam edebilir. Handoff, hem yerel uygulamadan uygulamaya geçişleri hem de uygulamadan web'e geri dönüşü destekleyerek maksimum esneklik sağlar ve yerel uygulama alıcı cihaza yüklenmemiş olsa bile eksiksiz bir deneyim sunar.

Gelişmiş mesafe ölçme API'leri

2 yeni mesafe ölçme teknolojisi için destek ekliyoruz: 

  1. Uygulamaların iç mekan navigasyonu için UWB kullanmasına olanak tanıyan UWB DL-TDOA. Bu API yüzeyi, FIRA (Fine Ranging Consortium) 4.0 DL-TDOA spesifikasyonuna uygundur ve gizliliği korumaya yönelik iç mekan navigasyonunu  (cihazın sabitleme noktası tarafından izlenmesini önleme) etkinleştirir.
  2. Yakınlık Algılama: Uygulamaların, WFA (WiFi Alliance) tarafından benimsenen yeni mesafe belirleme spesifikasyonunu kullanmasını sağlar. Bu teknoloji, mevcut Wi-Fi Aware tabanlı mesafe belirleme spesifikasyonuna kıyasla daha iyi güvenilirlik ve doğruluk sağlar.

Veri planı geliştirmeleri

Uygulamanız, medya kalitesini optimize etmek için artık getStreamingAppMaxDownlinkKbps ve getStreamingAppMaxUplinkKbps kullanarak akış uygulamaları için operatör tarafından ayrılan maksimum veri hızlarını alabilir.

Temel İşlevler, Gizlilik ve Performans

Yerel Ağ Erişimi

Android 17, kullanıcıları yetkisiz yerel ağ erişimine karşı korumak için ACCESS_LOCAL_NETWORK çalışma zamanında istenen izni kullanıma sunar. Bu izin, mevcut NEARBY_DEVICES izin grubu kapsamında olduğundan diğer NEARBY_DEVICES izinlerini daha önce vermiş olan kullanıcılardan tekrar izin istenmez. Bu izni bildirip isteyerek uygulamanız, yerel ağdaki (LAN) cihazları (ör. akıllı ev cihazları veya yayın alıcılar) keşfedip bunlara bağlanabilir. Bu, kötü amaçlı uygulamaların gizli kullanıcı takibi ve dijital parmak izi oluşturma için sınırsız yerel ağ erişiminden yararlanmasını engeller. Android 17 veya sonraki sürümleri hedefleyen uygulamalar artık LAN cihazlarıyla iletişimi sürdürmek için iki yola sahip olacak: İzin istemini atlamak için sistem aracılı, gizliliği korumaya yönelik cihaz seçicileri kullanmak veya yerel ağ iletişimini sürdürmek için bu yeni izni çalışma zamanında açıkça istemek.

Saat dilimi farkı değişikliği yayını

Android artık sistemin saat dilimi farkı değiştiğinde (ör. yaz saati geçişlerinde) tetiklenen güvenilir bir yayın intent'i olan ACTION_TIMEZONE_OFFSET_CHANGED'i sunuyor. Bu, sırasıyla Unix zaman damgası değiştiğinde ve saat dilimi kimliği değiştiğinde tetiklenen mevcut yayın amaçları ACTION_TIME_CHANGED ve ACTION_TIMEZONE_CHANGED'ı tamamlar.

NPU Yönetimi ve Önceliklendirme

Android 17'yi hedefleyen ve NPU'ya doğrudan erişmesi gereken uygulamaların, NPU'ya erişimlerinin engellenmemesi için manifestlerinde FEATURE_NEURAL_PROCESSING_UNIT'i bildirmesi gerekir. LiteRT NPU temsilcisini, tedarikçiye özel SDK'ları ve desteği sonlandırılan NNAPI'yi kullanan uygulamalar buna dahildir.

ICU 78 ve Unicode 17 desteği

Temel uluslararasılaştırma kitaplıkları ICU 78'e güncellendi. Böylece yeni komut dosyaları, karakterler ve emoji blokları için destek genişletildi ve saat nesnelerinin doğrudan biçimlendirilmesi sağlandı.

SMS OTP koruması

Android, tek kullanımlık şifre içeren SMS mesajlarına erişimi otomatik olarak geciktirerek SMS OTP korumasını genişletiyor. Daha önce koruma, öncelikle SMS Retriever biçimine odaklanıyordu. Bu biçimde, SMS Retriever karması içeren mesajların teslimi çoğu uygulama için üç saat geciktiriliyordu. Ancak varsayılan SMS uygulaması gibi belirli uygulamalar ve hash ile eşleşen uygulama bu gecikmeden muaftır. Bu güncelleme, korumayı OTP içeren tüm SMS mesajlarını kapsayacak şekilde genişletir. Çoğu uygulamada, OTP içeren SMS mesajlarına OTP ele geçirilmesini önlemek için üç saatlik bir gecikmeyle erişilebilir. SMS_RECEIVED_ACTION yayını engellenir ve SMS sağlayıcı veritabanı sorguları filtrelenir. SMS mesajı, gecikmenin ardından bu uygulamalarda kullanılabilir. 

WebOTP biçimli SMS mesajlarına erişimin gecikmesi

Uygulamanın SMS mesajlarını okuma izni varsa ancak alan adı doğrulamasıyla belirlendiği üzere OTP'nin amaçlanan alıcısı değilse WebOTP biçimli SMS mesajına yalnızca üç saat geçtikten sonra erişilebilir. Bu değişiklik, yalnızca iletide belirtilen alanla ilişkili uygulamaların doğrulama kodunu programatik olarak okuyabilmesini sağlayarak kullanıcı güvenliğini artırmak için tasarlanmıştır. Bu değişiklik, hedef API düzeyinden bağımsız olarak tüm uygulamalar için geçerlidir.

OTP içeren standart SMS mesajlarına erişimde gecikme

WebOTP veya SMS Retriever biçimlerini kullanmayan OTP içeren SMS mesajlarında, OTP SMS'ine çoğu uygulamada yalnızca üç saat sonra erişilebilir. Bu değişiklik yalnızca Android 17 (API düzeyi 37) veya sonraki sürümleri hedefleyen uygulamalar için geçerlidir.

Varsayılan SMS, asistan uygulaması ve bağlı cihaz yardımcı uygulamaları gibi belirli uygulamalar bu gecikmeden muaf tutulur.

OTP çıkarma için SMS mesajlarının okunmasına dayanan tüm uygulamalar, işlevselliğin devamlılığını sağlamak için SMS Retriever veya SMS User Consent API'lerini kullanmaya geçmelidir.

Android 17 programı

Bu beta sürümünden Mart ayında kullanıma sunmayı hedeflediğimiz Platform Kararlılığı aşamasına hızlı bir şekilde geçeceğiz. Bu dönüm noktasında nihai SDK/NDK API'lerini sunacağız. Bu tarihten itibaren, uygulamanız SDK 37'yi hedefleyebilir ve Android 17'nin genel kullanıma sunulma tarihinden önceki birkaç ay içinde testinizi tamamlamanıza ve kullanıcı geri bildirimi toplamanıza yardımcı olmak için Google Play'de yayınlanabilir.

Android Release Timeline.png

Yayınlarla dolu bir yıl

Android 17'nin üç aylık sürümlerle güncellenmeye devam etmesini planlıyoruz. 2. çeyrekteki yaklaşan sürüm, planlanan ve uygulamalarda sorunlara yol açabilecek davranış değişikliklerini tanıttığımız tek sürümdür. 4. çeyrekte ek API'ler ve özellikler içeren küçük bir SDK sürümü yayınlamayı planlıyoruz.

Android Release Timeline_2.png

Android 17'yi kullanmaya başlama

Bu ve gelecekteki Android Beta güncellemelerini kablosuz olarak almak için desteklenen herhangi bir Pixel cihazını kaydedebilirsiniz. Pixel cihazınız yoksa Android Studio'da Android Emulator ile 64 bit sistem görüntülerini kullanabilirsiniz.

Şu anda Android Beta Programı'na kayıtlıysanız Beta 2'ye kablosuz güncelleme teklifi alırsınız.

Android 26Q1 Beta sürümünü kullanıyorsanız ve 26Q1'in son kararlı sürümünü yükleyip Beta'dan çıkmak istiyorsanız 26Q2 Beta 2'ye yönelik kablosuz güncellemeyi yoksaymanız ve 26Q1'in yayınlanmasını beklemeniz gerekir.

Geri bildirimlerinizi bekliyoruz. Lütfen Geri bildirim sayfasında sorunları bildirin ve özellik isteklerinizi gönderin. Geri bildiriminizi ne kadar erken alırsak son sürümdeki çalışmalarımıza o kadar fazla şey ekleyebiliriz.

Android 17 ile en iyi geliştirme deneyimi için Android Studio (Panda)'nun en son önizleme sürümünü kullanmanızı öneririz. Kurulumu tamamladıktan sonra yapmanız gereken bazı işlemler:

  • Yeni SDK'ya göre derleyin, CI ortamlarında test edin ve geri bildirim sayfasındaki izleyicimizde sorunları bildirin.
  • Mevcut uygulamanızın uyumluluğunu test edin, uygulamanızın Android 17'deki değişikliklerden etkilenip etkilenmediğini öğrenin ve uygulamanızı Android 17 çalıştıran bir cihaza veya emülatöre yükleyip kapsamlı bir şekilde test edin.

Android 17 sürüm döngüsü boyunca önizleme/beta sistem görüntülerini ve SDK'yı düzenli olarak güncelleyeceğiz. Beta sürümünü yükledikten sonra gelecekteki güncellemeleri otomatik olarak alırsınız.

Tüm sonraki önizlemeler ve beta sürümleri için kablosuz olarak.

Eksiksiz bilgi için Android 17 geliştirici sitesini ziyaret edin.

Sohbete katılın

Yılın ilerleyen dönemlerinde Platform Kararlılığı ve Android 17'nin genel kullanıma sunulma tarihi için çalışmalarımızı sürdürürken geri bildirimleriniz bizim için en değerli kaynak olmaya devam ediyor. Canary kanalında erken erişim kullanıcısı veya Beta 2'de test yapan bir uygulama geliştirici olmanız fark etmeksizin topluluklarımıza katılabilir ve geri bildirim gönderebilirsiniz. Görüşlerinizi dikkate alıyoruz.

Yazan:

Okumaya devam edin