Tamamlayıcı Cihaz Profilleri

Android 12'de tanıtılan tamamlayıcı cihaz profili, tamamlayıcı uygulamaların, örneğin bir akıllı saat gibi tamamlayıcı cihazın türüne özel bir dizi izin istemesine olanak tanıyan bir özelliktir. Eşlik eden bir cihaz profili kullanmak, uygulamaların, tek tek izin isteyen birden fazla bilgi istemi yerine, tanımlanmış bir izin kümesini istemek için mobil cihazlarındaki kullanıcılara tek bir istem görüntülemesine izin vererek kayıt sürecini basitleştirir. Bu, daha akıcı bir kurulum deneyimine ve tamamlayıcı uygulamalar için daha iyi katılım oranlarına izin verebilir.

Tamamlayıcı aygıt profillerinin kullanımı, yalnızca yardımcı aygıtları olan aygıt üreticileri tarafından kullanılabilir. Refakatçi cihazları özelliğine erişmek için, onlar yerine getirmesi gereken şartları ve onaylanmalıdır.

Aşağıdaki arkadaşı cihaz profilleri tipleri Android 12 mevcuttur: COMPANION_DEVICE_WATCH .

Refakatçi cihazlar hakkında daha fazla bilgi için bkz Companion cihaz eşleştirme .

Cihaz davranışı

Bu bölüm, yardımcı cihaz profilleri kullanıldığında cihaz davranışını açıklar.

Bir kullanıcı, bir arkadaşı cihazı ile bir ilişki oluşturmak için bir uygulamanın isteğini kabul ettiğinde, CompanionDeviceManager bağlandığı zaman (CDM) refakatçi cihaz bağlamak için hizmet bekler ve, CDM (örneğin, saat) cihazı profili rolünü atar tamamlayıcı uygulama, belirtilen profil rolü için tanımlanan tüm izinleri verir. 1 gösterir izinlerini isteyen bir uygulama örneği Şekil COMPANION_DEVICE_WATCH cihaz profiline.

Cihaz profili iletişim istemini izle

Şekil 1. Diyalog izle cihazı profiline ilişkin izinleri talep eden.

Bir uygulama ile yardımcı cihaz arasındaki ilişki kaldırıldığında, örneğin bir paketin verileri temizlendiğinde veya bir cihaz unutulduğunda, CDM, profil rolü için tanımlanmış tüm izinleri kaldıran uygulama için cihaz profili rolünü iptal eder. uygulamadan.

Bir kullanıcı, bir uygulamanın belirli bir cihaz profili için izin verme isteğini kabul ettikten sonra, verilen izinleri tek tek iptal edebilir. Bir kullanıcı tarafından bir izin iptal edildiğinde, uygulama yardımcı cihazla ilişkili kalır ancak bazı özellikler kullanılamayabilir. İzin işlevine uygulama için gerekiyorsa, uygulama normal aracılığıyla izin istemesi gerekir izin isteği .

Gereksinimler

Bir tamamlayıcı uygulamanın tamamlayıcı cihaz profili API'sine erişmesi için, uygulamanın aşağıdaki gereksinimleri karşılaması gerekir:

  • Eşlik eden bir cihaza sahip olun (örneğin, bir akıllı saat).
  • Eşlik eden cihaz profili için tanımlanan izinleri zorunlu kılmak için meşru bir nedeniniz olmalıdır.

Tamamlayıcı cihaz profili gereksinimlerini izleyin

Aşağıdaki tablo için tanımlanmış izinleri açıklar COMPANION_DEVICE_WATCH cihaz profili rolü ve bunları kullanarak gereksinimlerini.

izinler Tamamlayıcı uygulama ve cihaz gereksinimleri
Bildirimler

BIND_NOTIFICATION_LISTENER_SERVICE
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Bildirimleri görüntüleyebilen bir ekrana sahiptir (ekran yerine haptik kullanan cihazlar hariçtir)
  • Örneğin, yardımcı cihaz ekranında telefon bildirimlerinin görüntülenmesi gibi, kullanıcıya yönelik bir bildirim deneyimi sağlar
Telefon

phone
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Sesli konuşmayı sağlayan yerleşik bir mikrofon ve hoparlöre sahiptir
  • Arayan bilgilerini gösteren bir ekrana sahiptir
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sağlar (yardımcı uygulama telefon görüşmeleri arasında köprü kurar)
SMS

sms
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • SMS mesajlarını gösteren bir ekrana sahiptir
  • Kullanıcıya yönelik bir SMS deneyimi sağlayın
Kişiler

contacts
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Ekranı var
  • Arama veya mesajlaşma deneyiminin bir parçası olarak iletişim bilgilerini kullanır
Takvim

calendar
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Ekranı var
  • Saatte kullanıcıya dönük bir takvim deneyimi sağlayın
Yakındaki cihazlar

nearby_devices
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Ekranı var
  • Saatte kullanıcıya dönük bir eşleştirme/bağlanma deneyimi sağlayın
eSIM sağlama

USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Ekranı var
  • Abonenin hizmetlerini saatteki operatörden yöneten, kullanıcıya dönük bir deneyim sağlayın
Devam eden aramaları yönetme

MANAGE_ONGOING_CALLS
  • Bluetooth ve/veya Wi-Fi kullanarak bağlı bir cihaz olun
  • Sesli konuşmayı sağlayan yerleşik bir mikrofon ve hoparlöre sahiptir
  • Arayan bilgilerini gösteren bir ekrana sahiptir
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sağlar (yardımcı uygulama telefon görüşmeleri arasında köprü kurar)

Erişim elde etme

Uygulamaların yardımcı cihaz profillerine erişmesi için onaylanmaları ve izin verilenler listesine eklenmesi gerekir. Bir istek AllowList eklenecek zaman Android ekibi uygulaması emin karşıladığını olmak için inceler, alındığı gereksinimlerini gelen arkadaşı cihaz profili için.

uygulama

Belirli bir cihazla tamamlayıcı bir uygulama uygulayan cihaz üreticileri için, tamamlayıcı uygulamayı onaylamak için aşağıdaki gerekli Android sistem yapılandırmalarını kullanın; bu, uygulamanın kullanıcılar için CDM istemini görüntülemeyi atlamasına olanak tanır.

  1. Aşağıdaki komutu kullanarak sertifikayı alın:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Paket adını ve sertifikayı yapılandırma dosyasında aşağıdaki örnek girişte gösterildiği gibi değiştirin:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
        <string-array name="config_companionDevicePackages" translatable="false">
            <item>YOUR_COMAPNION_APP_PACKAGE_NAME</item>
        </string-array>
    
        <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
        main device. It will fall back to showing a prompt if the association has been called multiple
        times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
        are parallel arrays.
        Example: "1A:2B:3C:4D" -->
    
        <string-array name="config_companionDeviceCerts" translatable="false">
            <item>YOUR_COMPANION_APP_CERTIFICATE</item>
        </string-array>
    
  3. Kullanım AssociationRequest tek arkadaşı cihazına bir ilişkilendirme isteği yapmak.

İsteyen bir tamamlayıcı uygulamasını uygulayan üçüncü taraf geliştiriciler için DEVICE_PROFILE_WATCH profili aşağıdakileri yapın:

  1. Çağrı setDeviceProfile yöntemi.
  2. Aktarın DEVICE_PROFILE_WATCH oluştururken profili AssociationRequest .

doğrulama

Yardımcı cihaz profili özelliğinin davranışını test etmek için aşağıdaki CTS testlerini kullanın: