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 grubu istemesine olanak tanıyarak kayıt sürecini basitleştirir. Bu sayede, daha basit bir kurulum deneyimi 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.
Arkadaş cihazlar hakkında daha fazla bilgi için Arkadaş cihaz eşleme başlıklı makaleyi inceleyin.
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. kol saati) tamamlayıcı uygulamaya atar ve bu 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. Kol saati 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 veya ön planda çalışan bir hizmeti yoksa profili iptal eder. Profilin iptal edilmesi, profil için tanımlanan 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
Kol saati 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ılmasıyla ilgili 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 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 cihazda tamamlayıcı uygulama uygulayan cihaz üreticileri, tamamlayıcı uygulamayı onaylamak için aşağıdaki gerekli Android sistem yapılandırmalarını kullanır. Bu yapılandırmalar, uygulamanın kullanıcılara kullanıcı rızası iletişim kutusunu göstermesini 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/
'daki CTS testlerini kullanın.