Das in Android 12 eingeführte Companion-Geräteprofil ist eine Funktion, mit der Companion-Apps eine Reihe von Berechtigungen anfordern können, die für den Typ des Companion-Geräts, z. B. eine Smartwatch, spezifisch sind. Durch die Verwendung eines Companion-Geräteprofils wird die Registrierung vereinfacht, da Apps Nutzern auf ihren Mobilgeräten nur eine Aufforderung zur Anforderung eines bestimmten Satzes von Berechtigungen anzeigen müssen, anstatt mehrere Aufforderungen, in denen Berechtigungen einzeln angefordert werden. Das kann die Einrichtung vereinfachen und die Opt-in-Raten für Companion-Apps verbessern.
Damit Companion-Apps Companion-Geräteprofile verwenden können, müssen sie die folgenden Anforderungen erfüllen:
- Companion-Geräte wie Smartwatches verwalten.
- App-Funktionen oder Android-APIs aufrufen, für die alle Berechtigungen erforderlich sind, die für das Profil des Begleitgeräts definiert sind.
Jedes Companion-Geräteprofil entspricht einer Android-Rolle. Weitere Informationen zu den Berechtigungen und der entsprechenden Android-Rolle der einzelnen Profile finden Sie unter Begleitgeräteprofile für Drittanbieter-Apps.
Weitere Informationen zu Companion-Geräten finden Sie unter Companion-Geräte koppeln.
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten bei Verwendung von Companion-Geräteprofilen beschrieben.
Wenn ein Nutzer die Anfrage einer App akzeptiert, eine Verknüpfung mit einem Begleitgerät herzustellen, weist der CompanionDeviceManager-Dienst (Companion Device Manager) der Begleit-App die Geräteprofilrolle (z. B. „Smartwatch“) zu und gewährt alle für diese angegebene Profilrolle definierten Berechtigungen.
Abbildung 1 zeigt ein Beispiel für eine App, die Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH anfordert.
Abbildung 1. Dialogfeld, in dem Berechtigungen für das Smartwatch-Geräteprofil angefordert werden.
Wenn ein Nutzer die Paketdaten in den Einstellungen löscht oder alle Geräte in der Companion-App entfernt, widerruft CDM das Profil, während die App nicht im Vordergrund ausgeführt wird und kein Vordergrunddienst ausgeführt wird. Wenn Sie das Profil widerrufen, werden auch alle für das Profil definierten Berechtigungen widerrufen.
Nachdem ein Nutzer der Anfrage einer App zugestimmt hat, Berechtigungen für ein bestimmtes Geräteprofil zu gewähren, kann er einzelne Berechtigungen widerrufen. Wenn ein Nutzer eine Berechtigung widerruft, bleibt die App mit dem Begleitgerät verknüpft, aber bestimmte Funktionen sind möglicherweise nicht mehr verfügbar. Wenn die Berechtigung für die Funktion der App erforderlich ist, muss die App die Berechtigung über eine normale Berechtigungsanfrage anfordern.
Begleitgeräteprofile für Drittanbieter-Apps
Uhrprofil
Das Uhrenprofil wurde in Android 12 eingeführt.
In der folgenden Tabelle werden die definierten Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH und die Anforderungen für die Verwendung beschrieben.
| Berechtigungen | Companion-App- und Geräteanforderungen |
|---|---|
Benachrichtigungen
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Brillenprofil
Das Brillenprofil wird in Android 14 eingeführt.
In der folgenden Tabelle werden die definierten Berechtigungen für das Geräteprofil COMPANION_DEVICE_GLASSES und die Anforderungen für die Verwendung beschrieben.
| Berechtigungen | Companion-App- und Geräteanforderungen |
|---|---|
BenachrichtigungenPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implementierung
Gehen Sie so vor, wenn Sie als Drittanbieterentwickler eine Companion-App implementieren, die das Profil DEVICE_PROFILE_WATCH anfordert:
Rufen Sie die Methode
setDeviceProfileauf.Übergeben Sie ein Profil (z. B.
DEVICE_PROFILE_WATCH) beim Erstellen vonAssociationRequest.
Gerätehersteller, die das Dialogfeld zur Nutzereinwilligung nicht anzeigen
Gerätehersteller, die eine Companion-App für ein bestimmtes Gerät implementieren, müssen die folgenden erforderlichen Android-Systemkonfigurationen verwenden, um die Companion-App zu zertifizieren. Dadurch kann die App die Anzeige des Dialogfelds zur Nutzereinwilligung für Nutzer überspringen.
Rufen Sie das Zertifikat mit dem folgenden Befehl ab:
keytool -printcert -jarfile PATH/TO/APKErsetzen Sie den Paketnamen und das Zertifikat wie in der folgenden Beispiel-Eingabe in der Konfigurationsdatei:
<!-- 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>Verwenden Sie
AssociationRequest, um eine Verknüpfungsanfrage an ein einzelnes Companion-Gerät zu senden.
Validierung
Um das Verhalten des Companion-Geräteprofils zu testen, verwenden Sie die CTS-Tests in cts/tests/tests/companion/.