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. Mit einem Geräteprofil für Begleitgeräte wird der Registrierungsprozess vereinfacht, da Apps Nutzern auf ihren Mobilgeräten nur eine Aufforderung zur Beantragung einer bestimmten Gruppe von Berechtigungen anzeigen können, anstatt mehrere Aufforderungen, in denen Berechtigungen einzeln angefordert werden. Dies ermöglicht eine einfachere Einrichtung und bessere Opt-in-Raten für Companion-Apps.
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 Companion-Geräten finden Sie 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 zur Verknüpfung mit einem Companion-Gerät akzeptiert, weist der CompanionDeviceManager
-Dienst (CDM) der Companion-App die Rolle „Device Profile“ (z. B. „Smartwatch“) zu und gewährt ihr alle für diese 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 Dienst im Vordergrund aktiv ist. 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 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.
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
BIND_NOTIFICATION_LISTENER_SERVICE
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Brillenprofil
Das Datenbrillenprofil wird mit 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 |
---|---|
BenachrichtigungenBIND_NOTIFICATION_LISTENER_SERVICE POST_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.
Gerätehersteller können 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 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>
Verwende
AssociationRequest
, um eine Verknüpfungsanfrage für ein einzelnes Companion-Gerät zu stellen.
Zertifizierungsstufe
Mit den CTS-Tests in cts/tests/tests/companion/
kannst du das Verhalten der Funktion für Companion-Geräteprofile testen.