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 spezifisch sind, z. B. eine Smartwatch. Die Verwendung eines Begleitgeräteprofils vereinfacht den Registrierungsprozess, indem es Apps ermöglicht, Benutzern auf ihren Mobilgeräten eine einzige Aufforderung anzuzeigen, um einen definierten Satz von Berechtigungen anzufordern, anstatt mehrere Aufforderungen, die Berechtigungen einzeln anfordern. Dies kann eine optimierte Einrichtungserfahrung und bessere Opt-in-Raten für Begleit-Apps ermöglichen.
Die Verwendung von Profilen für Begleitgeräte ist nur für Gerätehersteller verfügbar, die über Begleitgeräte verfügen. Damit Begleitgeräte Zugriff auf die Funktion erhalten, müssen sie die Anforderungen erfüllen und genehmigt werden.
Die folgenden Profiltypen für Begleitgeräte sind in Android 12 verfügbar: COMPANION_DEVICE_WATCH
.
Weitere Informationen zu Begleitgeräten finden Sie unter Begleitgeräte koppeln .
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten beschrieben, wenn Begleitgeräteprofile verwendet werden.
Wenn ein Benutzer die Anforderung einer App akzeptiert, eine Zuordnung mit einem Begleitgerät zu erstellen, wartet der CompanionDeviceManager
(CDM)-Dienst darauf, dass das Begleitgerät eine Verbindung herstellt, und wenn es eine Verbindung herstellt, weist der CDM die Geräteprofilrolle (z. B. Uhr) dem zu Companion-App, die alle Berechtigungen gewährt, die für diese angegebene Profilrolle definiert sind. Abbildung 1 zeigt ein Beispiel einer App, die Berechtigungen für das COMPANION_DEVICE_WATCH
anfordert.
Abbildung 1. Dialog, der Berechtigungen für das Watch-Geräteprofil anfordert.
Wenn die Zuordnung zwischen einer App und dem Begleitgerät entfernt wird, beispielsweise wenn die Daten für ein Paket gelöscht oder ein Gerät vergessen wird, widerruft CDM die Geräteprofilrolle für die App, wodurch alle definierten Berechtigungen für die Profilrolle entfernt werden aus der App.
Nachdem ein Benutzer die Anfrage einer App akzeptiert hat, Berechtigungen für ein bestimmtes Geräteprofil zu erteilen, kann der Benutzer einzelne erteilte Berechtigungen widerrufen. Wenn eine Berechtigung von einem Benutzer widerrufen wird, bleibt die App mit dem Begleitgerät verbunden, aber bestimmte Funktionen sind möglicherweise nicht mehr verfügbar. Wenn die Berechtigung erforderlich ist, damit die App funktioniert, muss die App die Berechtigung über eine normale Berechtigungsanforderung anfordern .
Anforderungen
Damit eine Begleit-App Zugriff auf die Profil-API des Begleitgeräts erhält, muss die App die folgenden Anforderungen erfüllen:
- Besitzen Sie ein Begleitgerät (z. B. eine Smartwatch).
- Sie haben einen berechtigten Grund, die für das Profil des Begleitgeräts definierten Berechtigungen anzufordern.
Profilanforderungen für Begleitgeräte ansehen
Die folgende Tabelle beschreibt die definierten Berechtigungen für die COMPANION_DEVICE_WATCH
und die Anforderungen für deren Verwendung.
Berechtigungen | Companion-App und Geräteanforderungen |
---|---|
BenachrichtigungenBIND_NOTIFICATION_LISTENER_SERVICE |
|
Telefonphone |
|
SMSsms |
|
Kontaktecontacts |
|
Kalendercalendar |
|
Geräte in der Nähenearby_devices |
|
eSIM-BereitstellungUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Laufende Anrufe verwaltenMANAGE_ONGOING_CALLS |
|
Zugriff bekommen
Damit Apps Zugriff auf Profile von Begleitgeräten erhalten, müssen sie genehmigt und einer Zulassungsliste hinzugefügt werden. Wenn eine Anfrage zum Hinzufügen zur Zulassungsliste eingeht, überprüft das Android-Team die App, um sicherzustellen, dass sie die Anforderungen für das entsprechende Begleitgeräteprofil erfüllt.
Implementierung
Verwenden Sie für Gerätehersteller, die eine Begleit-App mit einem bestimmten Gerät implementieren, die folgenden erforderlichen Android-Systemkonfigurationen, um die Begleit-App zu zertifizieren, wodurch die App die Anzeige der CDM-Eingabeaufforderung für Benutzer überspringen kann.
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 Beispieleingabe in der Konfigurationsdatei gezeigt:
<!-- 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 Zuordnungsanforderung an ein einzelnes Begleitgerät zu stellen.
Gehen Sie für Drittanbieterentwickler, die eine Begleit-App implementieren, die das DEVICE_PROFILE_WATCH
-Profil anfordert, wie folgt vor:
- Rufen Sie die
setDeviceProfile
Methode auf. - Übergeben Sie das Profil
DEVICE_PROFILE_WATCH
beim Erstellen vonAssociationRequest
.
Validierung
Verwenden Sie die folgenden CTS-Tests, um das Verhalten der Profilfunktion des Begleitgeräts zu testen: