Android 12'de kullanıma sunulan tamamlayıcı cihaz profili, tamamlayıcı uygulamaların tamamlayıcı cihaz türüne (ör. akıllı saat) özgü bir dizi izin istemesine olanak tanıyan bir özelliktir. Yardımcı cihaz profili kullanmak, uygulamaların mobil cihazlardaki kullanıcılara izinleri tek tek isteyen birden fazla istem yerine, tanımlanmış bir izin grubu istemek için tek bir istem göstermesine olanak tanıyarak kayıt sürecini basitleştirir. Bu sayede daha kolay bir kurulum deneyimi ve yardımcı uygulamalar için daha iyi etkinleştirme oranları elde edilebilir.
Tamamlayıcı cihaz profillerini kullanmak için tamamlayıcı uygulamaların aşağıdaki koşulları karşılaması gerekir:
- Tamamlayıcı bir cihazı (ör. akıllı saat) yönetebilirsiniz.
- Uygulama özelliklerine sahip olmak veya eşlik eden cihaz profili için tanımlanan tüm izinleri gerektiren Android API'lerini çağırmak
Her yardımcı cihaz profili bir Android rolüne karşılık gelir. Her profilin izinleri ve ilgili Android rolü hakkında daha fazla bilgi için üçüncü taraf uygulamaları için yardımcı cihaz profilleri başlıklı makaleyi inceleyin.
Yardımcı cihazlar hakkında daha fazla bilgi için Yardımcı cihaz eşleme başlıklı makaleyi inceleyin.
Cihaz davranışı
Bu bölümde, yardımcı cihaz profilleri kullanıldığında cihazın davranışı açıklanmaktadır.
Kullanıcı, bir uygulamanın yardımcı cihazla ilişkilendirme oluşturma isteğini kabul ettiğinde CompanionDeviceManager
(CDM) hizmeti, cihaz profili rolünü (ör. kol saati) yardımcı uygulamaya atar ve belirtilen profil rolü için tanımlanan tüm izinleri verir.
Şekil 1'de, COMPANION_DEVICE_WATCH
cihaz profili için izin isteyen bir uygulamanın örneği gösterilmektedir.
1. şekil. Kol saati cihazı profili için izin isteyen iletişim kutusu.
Kullanıcı, Ayarlar'da paket verilerini temizlediğinde veya yardımcı uygulamada tüm cihazları kaldırdığında CDM, uygulama ön planda çalışmıyorken ya da ön plan hizmeti çalışmıyorken profili iptal eder. Profilin iptal edilmesi, profille ilgili tanımlanmış tüm izinleri de iptal eder.
Bir kullanıcı, uygulamanın belirli bir cihaz profili için izin verme isteğini kabul ettikten sonra verilen izinleri tek tek iptal edebilir. Bir izin kullanıcı tarafından iptal edildiğinde uygulama, eşlik eden cihazla ilişkilendirilmeye devam eder ancak belirli özellikler kullanılamayabilir. İzin, uygulamanın çalışması için gerekliyse uygulama, izni normal bir izin isteği aracılığıyla istemelidir.
Üçüncü taraf uygulamaları için yardımcı cihaz profilleri
İzleme profili
Saat profili, Android 12'de kullanıma sunulmuştur.
Aşağıdaki tabloda, COMPANION_DEVICE_WATCH
cihaz profili için tanımlanan izinler ve bunların kullanım koşulları açıklanmaktadır.
İzinler | Tamamlayıcı uygulama ve cihaz gereksinimleri |
---|---|
Bildirimler
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Gözlük profili
Gözlük profili, Android 14'te kullanıma sunulmuştur.
Aşağıdaki tabloda, COMPANION_DEVICE_GLASSES
cihaz profili için tanımlanan izinler ve bunların kullanım koşulları açıklanmaktadır.
İzinler | Tamamlayıcı uygulama ve cihaz gereksinimleri |
---|---|
BildirimlerPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Uygulama
DEVICE_PROFILE_WATCH
profilini isteyen bir yardımcı uygulama uygulayan üçüncü taraf geliştiriciler için aşağıdakileri yapın:
setDeviceProfile
yöntemini çağırın.Bir profil iletme (örneğin,
DEVICE_PROFILE_WATCH
AssociationRequest
oluştururken).
Cihaz üreticilerinin kullanıcı izni iletişim kutusunu göstermeyi atlaması
Belirli bir cihazla tamamlayıcı uygulama uygulayan cihaz üreticileri, tamamlayıcı uygulamayı sertifikalandırmak için aşağıdaki zorunlu Android sistem yapılandırmalarını kullanır. Bu yapılandırmalar, uygulamanın kullanıcı izni iletişim kutusunu kullanıcılar için atlamasına olanak tanır.
Aşağıdaki komutu kullanarak sertifikayı alın:
keytool -printcert -jarfile PATH/TO/APK
Paket adını ve sertifikayı, yapılandırma dosyasındaki 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_COMPANION_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>
Tek bir tamamlayıcı cihaza ilişkilendirme isteği göndermek için
AssociationRequest
kullanın.
Doğrulama
Tamamlayıcı cihaz profili özelliğinin davranışını test etmek için cts/tests/tests/companion/
içindeki CTS testlerini kullanın.