Profil perangkat pendamping

Profil perangkat pendamping, yang diperkenalkan di Android 12, adalah fitur yang memungkinkan aplikasi pendamping meminta serangkaian izin khusus untuk jenis perangkat pendamping, misalnya, smartwatch. Menggunakan profil perangkat pendamping menyederhanakan proses pendaftaran dengan memungkinkan aplikasi menampilkan satu perintah kepada pengguna di perangkat seluler mereka untuk meminta kumpulan izin yang ditentukan, bukan beberapa perintah yang meminta izin satu per satu. Hal ini dapat memungkinkan pengalaman penyiapan yang lebih sederhana dan rasio keikutsertaan yang lebih baik untuk aplikasi pendamping.

Untuk menggunakan profil perangkat pendamping, aplikasi pendamping harus memenuhi persyaratan berikut:

  • Mengelola perangkat pendamping (misalnya, smartwatch).
  • Memiliki fitur aplikasi atau memanggil Android API yang memerlukan semua izin yang ditentukan untuk profil perangkat pendamping.

Setiap profil perangkat pendamping sesuai dengan peran Android. Untuk mengetahui informasi selengkapnya tentang izin dan peran Android yang sesuai dari setiap profil, lihat profil perangkat pendamping untuk aplikasi pihak ketiga.

Untuk informasi selengkapnya tentang perangkat pendamping, lihat Penyandingan perangkat pendamping.

Perilaku perangkat

Bagian ini menjelaskan perilaku perangkat saat profil perangkat pendamping digunakan.

Saat pengguna menerima permintaan aplikasi untuk membuat pengaitan dengan perangkat pendamping, layanan CompanionDeviceManager (CDM) akan menetapkan peran profil perangkat (misalnya, smartwatch) ke aplikasi pendamping, yang memberikan semua izin yang ditentukan untuk peran profil yang ditentukan tersebut. Gambar 1 menunjukkan contoh aplikasi yang meminta izin untuk profil perangkat COMPANION_DEVICE_WATCH.

Melihat perintah dialog profil perangkat

Gambar 1. Dialog yang meminta izin untuk profil perangkat smartwatch.

Saat pengguna menghapus data paket di Setelan atau menghapus semua perangkat di aplikasi pendamping, CDM akan mencabut profil saat aplikasi tidak berjalan di latar depan atau tidak memiliki layanan latar depan yang berjalan. Dengan mencabut profil, semua izin yang ditentukan untuk profil tersebut juga akan dicabut.

Setelah pengguna menerima permintaan aplikasi untuk memberikan izin untuk profil perangkat tertentu, pengguna dapat mencabut izin individual yang diberikan. Saat izin dicabut oleh pengguna, aplikasi tetap dikaitkan dengan perangkat pendamping tetapi fitur tertentu mungkin menjadi tidak tersedia. Jika izin diperlukan agar aplikasi berfungsi, aplikasi harus meminta izin melalui permintaan izin normal.

Profil perangkat pendamping untuk aplikasi pihak ketiga

Profil tontonan

Profil smartwatch diperkenalkan di Android 12.

Tabel berikut menjelaskan izin yang ditentukan untuk profil perangkat COMPANION_DEVICE_WATCH dan persyaratan untuk menggunakannya.

Izin Persyaratan aplikasi dan perangkat pendamping
Notifikasi

POST_NOTIFICATIONS (added in Android 15)
  • Memiliki perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang dapat menampilkan notifikasi (perangkat yang menggunakan haptik, bukan layar, dikecualikan)
  • Memberikan pengalaman notifikasi yang dilihat pengguna, misalnya, menampilkan notifikasi ponsel di layar perangkat pendamping.
  • Memposting notifikasi ponsel untuk pengelolaan perangkat. Misalnya, saat smartwatch terhubung atau saat fitur tertentu diaktifkan.
Phone
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info pemanggil
  • Memberikan pengalaman panggilan telepon yang ditampilkan kepada pengguna (aplikasi pendamping mengaitkan panggilan telepon)
SMS
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang menampilkan pesan SMS
  • Memberikan pengalaman SMS yang ditampilkan kepada pengguna
Contacts
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Menggunakan informasi kontak sebagai bagian dari pengalaman menelepon atau mengirim pesan
Calendar
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman kalender yang ditampilkan kepada pengguna di smartwatch
Nearby devices
  • Memiliki perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman penyambungan/penghubungan yang ditampilkan kepada pengguna di smartwatch
eSIM provisioning
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman yang ditampilkan kepada pengguna yang mengelola layanan pelanggan dari operator di smartwatch
Managing ongoing calls
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info pemanggil
  • Memberikan pengalaman panggilan telepon yang ditampilkan kepada pengguna (aplikasi pendamping mengaitkan panggilan telepon)

Profil kacamata

Profil Kacamata diperkenalkan di Android 14.

Tabel berikut menjelaskan izin yang ditentukan untuk profil perangkat COMPANION_DEVICE_GLASSES dan persyaratan untuk menggunakannya.

Izin Persyaratan aplikasi dan perangkat pendamping
Notifikasi

POST_NOTIFICATIONS
  • Memiliki perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang dapat menampilkan notifikasi (perangkat yang menggunakan haptik, bukan layar, dikecualikan)
  • Memberikan pengalaman notifikasi yang ditampilkan kepada pengguna, misalnya, menampilkan notifikasi ponsel di layar perangkat pendamping.
  • Memposting notifikasi ponsel untuk pengelolaan perangkat, misalnya, saat perangkat kacamata terhubung atau saat fitur tertentu diaktifkan.
Phone
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info pemanggil
  • Memberikan pengalaman panggilan telepon yang ditampilkan kepada pengguna (aplikasi pendamping mengaitkan panggilan telepon)
SMS
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang menampilkan pesan SMS
  • Memberikan pengalaman SMS yang ditampilkan kepada pengguna
Contacts
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Menggunakan informasi kontak sebagai bagian dari pengalaman menelepon atau mengirim pesan
Microphone
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman mikrofon yang menghadap pengguna pada kacamata
Nearby devices
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman penyambungan/penghubungan yang ditampilkan kepada pengguna di kacamata
Managing ongoing calls
  • Merupakan perangkat yang terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info pemanggil
  • Memberikan pengalaman panggilan telepon yang ditampilkan kepada pengguna (aplikasi pendamping mengaitkan panggilan telepon)

Implementasi

Untuk developer pihak ketiga yang menerapkan aplikasi pendamping yang meminta profil DEVICE_PROFILE_WATCH, lakukan hal berikut:

  1. Panggil metode setDeviceProfile.

  2. Teruskan profil (misalnya, DEVICE_PROFILE_WATCH saat mem-build AssociationRequest.

Untuk produsen perangkat yang mengimplementasikan aplikasi pendamping dengan perangkat tertentu, gunakan konfigurasi sistem Android yang diperlukan berikut ini untuk menyertifikasi aplikasi pendamping, yang memungkinkan aplikasi melewati tampilan dialog izin pengguna untuk pengguna.

  1. Ambil sertifikat menggunakan perintah berikut:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Ganti nama paket dan sertifikat seperti yang ditunjukkan dalam contoh input berikut dalam file konfigurasi:

    <!-- 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. Gunakan AssociationRequest untuk membuat permintaan atribusi ke satu perangkat pendamping.

Validasi

Untuk menguji perilaku fitur profil perangkat pendamping, gunakan pengujian CTS di cts/tests/tests/companion/.