Das in Android 12 eingeführte Profil für Companion-Geräte ist eine Funktion, mit der Companion-Apps eine Reihe von Berechtigungen anfordern können, die für den Typ des Companion-Geräts spezifisch sind, z. B. einer Smartwatch. Die Verwendung eines Companion-Geräteprofils vereinfacht den Registrierungsprozess, da Apps Nutzern auf ihren Mobilgeräten eine einzelne Aufforderung anzeigen können, einen festgelegten Satz von Berechtigungen anzufordern, anstatt mehrere Aufforderungen zur Anforderung einzelner Berechtigungen anzufordern. Dies kann die Einrichtung vereinfachen und die Aktivierungsraten für Companion-Apps verbessern.
Damit Sie Profile für Companion-Geräte verwenden können, müssen Companion-Apps die folgenden Anforderungen erfüllen:
- Begleitgerät verwalten, z. B. eine Smartwatch
- App-Funktionen haben oder Android APIs aufrufen, für die alle Berechtigungen erforderlich sind, die für das Profil des Companion-Geräts definiert sind.
Jedes Profil für ein Companion-Gerät entspricht einer Android-Rolle. Weitere Informationen zu den Berechtigungen und der entsprechenden Android-Rolle der einzelnen Profile finden Sie unter Profile für Companion-Geräte für Drittanbieter-Apps.
Weitere Informationen zu Begleitgeräten findest du unter Companion-Geräte koppeln.
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten beschrieben, wenn Profile für Companion-Geräte verwendet werden.
Wenn ein Nutzer die Anfrage einer App zum Erstellen einer Verknüpfung mit einem Begleitgerät annimmt, weist der CDM-Dienst (CompanionDeviceManager
) der Companion-App die Geräteprofilrolle (z. B. „Smartwatch“) zu und gewährt alle für diese Profilrolle definierten Berechtigungen.
Abbildung 1 zeigt ein Beispiel einer 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 aus der Companion-App entfernt, widerruft CDM das Profil, solange die App weder im Vordergrund ausgeführt wird noch ein Dienst im Vordergrund ausgeführt wird. Wenn Sie das Profil widerrufen, werden auch alle definierten Berechtigungen für das Profil widerrufen.
Nachdem ein Nutzer die Anfrage einer App zur Gewährung von Berechtigungen für ein bestimmtes Geräteprofil akzeptiert hat, kann er einzelne erteilte Berechtigungen widerrufen. Wenn eine Berechtigung von einem Nutzer widerrufen wird, bleibt die App mit dem Companion-Gerä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.
Profile für Companion-Geräte für Drittanbieter-Apps
Smartwatch-Profil
Das Smartwatch-Profil 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 an ihre Verwendung beschrieben.
Berechtigungen | Anforderungen an die Companion-App und das 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 an ihre Verwendung beschrieben.
Berechtigungen | Companion-App und Geräteanforderungen |
---|---|
BenachrichtigungenPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implementierung
Drittanbieterentwickler, die eine Companion-App implementieren, die das DEVICE_PROFILE_WATCH
-Profil anfordert, müssen Folgendes tun:
Rufen Sie die Methode
setDeviceProfile
auf.Geben Sie ein Profil ein (z. B.
DEVICE_PROFILE_WATCH
), wenn SieAssociationRequest
erstellen.
Das Gerät wird gefertigt, um die Anzeige des Dialogs zur Nutzereinwilligung zu ü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 den Dialog zur Nutzereinwilligung ü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 Beispieldatei 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>
Mit
AssociationRequest
kannst du eine Verknüpfungsanfrage für ein einzelnes Begleitgerät stellen.
Zertifizierungsstufe
Verwenden Sie die CTS-Tests in cts/tests/tests/companion/
, um das Verhalten der Funktion für das Profil des verbundenen Geräts zu testen.