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 anzeigen müssen, um eine bestimmte Gruppe von Berechtigungen anzufordern, anstatt mehrere Aufforderungen, in denen Berechtigungen einzeln angefordert werden. Dies 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ät verwalten, z. B. eine Smartwatch
- 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 | Anforderungen an Companion-App und Gerät |
---|---|
Benachrichtigungen
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Brillenprofil
Das Datenbrillenprofil 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 | Anforderungen an Companion-App und Gerät |
---|---|
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
setDeviceProfile
auf.Übergeben Sie ein Profil (z. B.
DEVICE_PROFILE_WATCH
) beim Erstellen vonAssociationRequest
.
Gerätehersteller, die das Dialogfeld zur Nutzereinwilligung überspringen
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 das Dialogfeld zur Einwilligung des Nutzers überspringen.
Rufen Sie das Zertifikat mit dem folgenden Befehl ab:
keytool -printcert -jarfile PATH/TO/APK
Ersetzen 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.
Zertifizierungsstufe
Um das Verhalten des Companion-Geräteprofils zu testen, verwenden Sie die CTS-Tests in cts/tests/tests/companion/
.