Tamamlayıcı cihaz profilleri

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.

Cihaz profili iletişim kutusu istemini izleme

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)
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Bildirimleri gösterebilen bir ekrana sahip olmalıdır (ekran yerine dokunsal geri bildirim kullanan cihazlar hariçtir).
  • Kullanıcıya yönelik bir bildirim deneyimi sunar. Örneğin, telefon bildirimlerini eşlik eden cihazın ekranında gösterir.
  • Cihaz yönetimi için telefon bildirimleri yayınlar. Örneğin, kol saati bağlandığında veya belirli bir özellik etkinleştirildiğinde.
Phone
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Sesli sohbeti etkinleştiren yerleşik mikrofon ve hoparlör
  • Arayan bilgilerini gösteren bir ekrana sahipse
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sunar (yardımcı uygulama, telefon görüşmelerini köprüler).
SMS
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • SMS mesajlarını gösteren bir ekranı olmalıdır.
  • Kullanıcıya yönelik bir SMS deneyimi sunma
Contacts
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Arama veya mesajlaşma deneyiminin bir parçası olarak iletişim bilgilerini kullanır.
Calendar
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Kullanıcıya yönelik bir takvim deneyimi sunma
Nearby devices
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Kullanıcıya yönelik bir eşleme/bağlantı deneyimi sunma
eSIM provisioning
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Abonenin hizmetlerini kol saatinde operatörden yöneten, kullanıcıya yönelik bir deneyim sunma
Managing ongoing calls
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Sesli sohbeti etkinleştiren yerleşik mikrofon ve hoparlör
  • Arayan bilgilerini gösteren bir ekrana sahipse
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sunar (yardımcı uygulama, telefon görüşmelerini köprüler).

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
Bildirimler

POST_NOTIFICATIONS
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Bildirimleri gösterebilen bir ekrana sahip olmalıdır (ekran yerine dokunsal geri bildirim kullanan cihazlar hariçtir).
  • Kullanıcıya yönelik bir bildirim deneyimi sunar. Örneğin, telefon bildirimlerini eşlik eden cihazın ekranında gösterir.
  • Cihaz yönetimiyle ilgili telefon bildirimleri gönderir. Örneğin, bir gözlük cihazı bağlandığında veya belirli bir özellik etkinleştirildiğinde.
Phone
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Sesli sohbeti etkinleştiren yerleşik mikrofon ve hoparlör
  • Arayan bilgilerini gösteren bir ekrana sahipse
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sunar (yardımcı uygulama, telefon görüşmelerini köprüler).
SMS
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • SMS mesajlarını gösteren bir ekranı olmalıdır.
  • Kullanıcıya yönelik bir SMS deneyimi sunma
Contacts
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Arama veya mesajlaşma deneyiminin bir parçası olarak iletişim bilgilerini kullanır.
Microphone
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Gözlüklerde kullanıcıya yönelik bir mikrofon deneyimi sunar.
Nearby devices
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Ekranı olan
  • Gözlüklerde kullanıcıya yönelik bir eşleme/bağlantı deneyimi sunar.
Managing ongoing calls
  • Bluetooth ve/veya kablosuz bağlantı kullanarak bağlı bir cihaz olmalıdır.
  • Sesli sohbeti etkinleştiren yerleşik mikrofon ve hoparlör
  • Arayan bilgilerini gösteren bir ekrana sahipse
  • Kullanıcıya yönelik bir telefon görüşmesi deneyimi sunar (yardımcı uygulama, telefon görüşmelerini köprüler).

Uygulama

DEVICE_PROFILE_WATCH profilini isteyen bir yardımcı uygulama uygulayan üçüncü taraf geliştiriciler için aşağıdakileri yapın:

  1. setDeviceProfile yöntemini çağırın.

  2. Bir profil iletme (örneğin, DEVICE_PROFILE_WATCH AssociationRequest oluştururken).

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.

  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ı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>
    
  3. 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.