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 dapat menyederhanakan proses pendaftaran dengan memungkinkan aplikasi menampilkan satu perintah kepada pengguna di perangkat seluler mereka untuk meminta serangkaian izin yang ditentukan, bukan beberapa perintah yang meminta izin satu per satu. Hal ini dapat memungkinkan pengalaman penyiapan yang lebih lancar 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 untuk setiap profil, lihat profil perangkat pendamping untuk aplikasi pihak ketiga.

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

Perilaku perangkat

Bagian ini menjelaskan perilaku perangkat saat profil perangkat pendamping digunakan.

Saat pengguna menyetujui permintaan aplikasi untuk membuat asosiasi dengan perangkat pendamping, layanan CompanionDeviceManager (CDM) akan menetapkan peran profil perangkat (misalnya, smartwatch) ke aplikasi pendamping, sehingga 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.

Perintah dialog profil perangkat tonton

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 sedang berjalan. Mencabut profil juga akan mencabut semua izin yang ditentukan untuk profil tersebut.

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

Profil perangkat pendamping untuk aplikasi pihak ketiga

Tonton profil

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 pendamping dan perangkat
Notifikasi

POST_NOTIFICATIONS (added in Android 15)
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang dapat menampilkan notifikasi (perangkat yang menggunakan haptik, bukan layar, tidak disertakan)
  • Memberikan pengalaman notifikasi yang terlihat oleh 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
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info penelepon
  • Memberikan pengalaman panggilan telepon yang terlihat oleh pengguna (aplikasi pendamping menjembatani panggilan telepon)
SMS
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang menampilkan pesan SMS
  • Memberikan pengalaman SMS yang berfokus pada pengguna
Contacts
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Menggunakan informasi kontak sebagai bagian dari pengalaman panggilan atau pengiriman pesan
Calendar
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman kalender yang dapat dilihat pengguna di smartwatch
Nearby devices
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman penyambungan/koneksi yang terlihat oleh pengguna di smartwatch
eSIM provisioning
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Menyediakan pengalaman yang dapat dilihat pengguna yang mengelola layanan pelanggan dari operator di smartwatch
Managing ongoing calls
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info penelepon
  • Memberikan pengalaman panggilan telepon yang terlihat oleh pengguna (aplikasi pendamping menjembatani panggilan telepon)

Profil kacamata

Profil Kacamata Pintar diperkenalkan di Android 14.

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

Izin Persyaratan aplikasi pendamping dan perangkat
Notifikasi

POST_NOTIFICATIONS
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang dapat menampilkan notifikasi (perangkat yang menggunakan haptik, bukan layar, tidak disertakan)
  • Memberikan pengalaman notifikasi yang terlihat oleh 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
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info penelepon
  • Memberikan pengalaman panggilan telepon yang terlihat oleh pengguna (aplikasi pendamping menjembatani panggilan telepon)
SMS
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar yang menampilkan pesan SMS
  • Memberikan pengalaman SMS yang berfokus pada pengguna
Contacts
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Menggunakan informasi kontak sebagai bagian dari pengalaman panggilan atau pengiriman pesan
Microphone
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman mikrofon yang menghadap pengguna di kacamata
Nearby devices
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki layar tampilan
  • Memberikan pengalaman penyambungan/koneksi yang terlihat oleh pengguna di kacamata
Managing ongoing calls
  • Menjadi perangkat terhubung menggunakan Bluetooth dan/atau Wi-Fi
  • Memiliki mikrofon dan speaker bawaan yang memungkinkan percakapan suara
  • Memiliki layar yang menampilkan info penelepon
  • Memberikan pengalaman panggilan telepon yang terlihat oleh pengguna (aplikasi pendamping menjembatani 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 membangun AssociationRequest.

Untuk produsen perangkat yang menerapkan aplikasi pendamping dengan perangkat tertentu, gunakan konfigurasi sistem Android wajib berikut untuk mensertifikasi 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 di file config:

    <!-- 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/.