Android 12'de kullanıma sunulan tamamlayıcı cihaz profili, tamamlayıcı uygulamaların tamamlayıcı cihazın türüne (ör. akıllı saat) özel bir dizi izin istemesine olanak tanıyan bir özelliktir. Arkadaş cihaz profilinin kullanılması, uygulamaların mobil cihazlarındaki kullanıcılara tek bir istem göstererek izinleri tek tek isteyen birden fazla istem yerine belirli bir izin grubunu istemelerine olanak tanıyarak kayıt sürecini basitleştirir. Bu sayede daha kolay bir kurulum deneyimi sunabilir ve tamamlayıcı uygulamalar için daha iyi etkinleştirme oranları elde edebilirsiniz.
Tamamlayıcı cihaz profillerini kullanmak için tamamlayıcı uygulamaların aşağıdaki koşulları karşılaması gerekir:
- Tamamlayıcı cihazları (ör. akıllı saatler) yönetme
- Arkadaş cihaz profili için tanımlanan tüm izinleri gerektiren uygulama özelliklerine sahip olma veya Android API'lerini çağırma
Her tamamlayıcı 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 tamamlayıcı cihaz profilleri başlıklı makaleyi inceleyin.
Tamamlayıcı cihazlar hakkında daha fazla bilgi için Tamamlayıcı cihaz eşleme bölümüne bakın.
Cihaz davranışı
Bu bölümde, tamamlayıcı cihaz profilleri kullanıldığında cihazın davranışı açıklanmaktadır.
Kullanıcı, bir uygulamanın tamamlayıcı cihazla ilişkilendirme oluşturma isteğini kabul ettiğinde CompanionDeviceManager
(CDM) hizmeti, cihaz profili rolünü (ör. saat) tamamlayıcı 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 uygulama örneği gösterilmektedir.
Şekil 1. Saat cihazı profili için izin isteyen iletişim kutusu.
Kullanıcı Ayarlar'da paket verilerini temizlediğinde veya tamamlayıcı uygulamadaki tüm cihazları kaldırdığında, CDM, uygulama ön planda çalışmıyorken ya da bir ön plan hizmeti çalışırken profili iptal eder. Profilin iptal edilmesi, profil için tanımlanmış tüm izinlerin de iptal edilmesine neden olur.
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 izin kullanıcı tarafından iptal edildiğinde uygulama, tamamlayıcı cihazla ilişkili olmaya devam eder ancak belirli özellikler kullanılamayabilir. İzin, uygulamanın çalışması için gerekliyse uygulama, normal bir izin isteği üzerinden izin istemelidir.
Üçüncü taraf uygulamaları için tamamlayıcı cihaz profilleri
Profil izleme
İzleme 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ılmasıyla ilgili 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
Glasses 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ıyla ilgili gereksinimler 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 tamamlayıcı uygulama uygulayan üçüncü taraf geliştiriciler aşağıdakileri yapmalıdır:
setDeviceProfile
yöntemini çağırın.AssociationRequest
oluştururken bir profil (ör.DEVICE_PROFILE_WATCH
) gönderin.
Kullanıcı rızası iletişim kutusunu atlayacak cihaz üreticileri
Belirli bir cihaza tamamlayıcı uygulama uygulayan cihaz üreticileri, tamamlayıcı uygulamayı onaylamak için aşağıdaki zorunlu Android sistem yapılandırmalarını kullanmalıdır. Bu yapılandırma, uygulamanın kullanıcılar için kullanıcı izni iletişim kutusunu görüntülemesini atlamasına olanak tanır.
Aşağıdaki komutu kullanarak sertifikayı alın:
keytool -printcert -jarfile PATH/TO/APK
Yapılandırma dosyasında aşağıdaki örnek girişte gösterildiği gibi paket adını ve sertifikayı 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ı cihazla ilişkilendirme isteği göndermek için
AssociationRequest
değerini 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.