Das in Android 12 eingeführte Begleitgeräteprofil ist eine Funktion, die es Begleit-Apps ermöglicht, eine Reihe von Berechtigungen anzufordern, die für den Typ des Begleitgeräts, beispielsweise einer Smartwatch, spezifisch sind. Die Verwendung eines Begleitgeräteprofils vereinfacht den Registrierungsprozess, indem Apps den Benutzern auf ihren Mobilgeräten eine einzige Aufforderung anzeigen können, um einen definierten Satz von Berechtigungen anzufordern, anstatt mehrere Aufforderungen, bei denen Berechtigungen einzeln angefordert werden. Dies kann eine effizientere Einrichtung und bessere Opt-in-Raten für Begleit-Apps ermöglichen.
Die Verwendung von Begleitgeräteprofilen steht nur Geräteherstellern zur Verfügung, die über Begleitgeräte verfügen. Damit Begleitgeräte Zugriff auf die Funktion erhalten, müssen sie die Anforderungen erfüllen und genehmigt sein.
Die folgenden Profiltypen für Begleitgeräte sind in Android 12 verfügbar: COMPANION_DEVICE_WATCH
.
Weitere Informationen zu Begleitgeräten finden Sie unter Kopplung von Begleitgeräten .
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten beschrieben, wenn Begleitgeräteprofile verwendet werden.
Wenn ein Benutzer die Anfrage einer App zum Erstellen einer Zuordnung mit einem Begleitgerät akzeptiert, wartet der CompanionDeviceManager
(CDM)-Dienst darauf, dass das Begleitgerät eine Verbindung herstellt, und wenn eine Verbindung hergestellt wird, weist der CDM dem Gerät die Geräteprofilrolle (z. B. Beobachten) zu Begleit-App, die alle für die angegebene Profilrolle definierten Berechtigungen gewährt. Abbildung 1 zeigt ein Beispiel einer App, die Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH
anfordert.
Abbildung 1. Dialogfeld zum Anfordern von Berechtigungen für das Watch-Geräteprofil.
Wenn die Zuordnung zwischen einer App und dem Begleitgerät entfernt wird, beispielsweise wenn die Daten für ein Paket gelöscht werden oder wenn 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 zur Erteilung von Berechtigungen für ein bestimmtes Geräteprofil akzeptiert hat, kann der Benutzer einzelne gewährte Berechtigungen widerrufen. Wenn ein Benutzer eine Berechtigung widerruft, bleibt die App mit dem Begleitgerät verknüpft, bestimmte Funktionen sind jedoch 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.
Anforderungen
Damit eine Begleit-App Zugriff auf die Begleitgeräteprofil-API erhält, muss die App die folgenden Anforderungen erfüllen:
- Besitzen Sie ein Begleitgerät (zum Beispiel eine Smartwatch).
- Es gibt einen legitimen Grund dafür, dass die für das Begleitgeräteprofil definierten Berechtigungen erforderlich sind.
Anforderungen an das Begleitgeräteprofil ansehen
In der folgenden Tabelle werden die definierten Berechtigungen für die Geräteprofilrolle COMPANION_DEVICE_WATCH
und die Anforderungen für deren Verwendung beschrieben.
Berechtigungen | Anforderungen an Begleit-App und Geräte |
---|---|
BenachrichtigungenBIND_NOTIFICATION_LISTENER_SERVICE |
|
Telefonphone |
|
SMSsms |
|
Kontaktecontacts |
|
Kalendercalendar |
|
Geräte in der Nähenearby_devices |
|
eSIM-BereitstellungUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Verwalten laufender AnrufeMANAGE_ONGOING_CALLS |
|
Zugriff erhalten
Damit Apps Zugriff auf Begleitgeräteprofile 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
Für Gerätehersteller, die eine Begleit-App mit einem bestimmten Gerät implementieren, verwenden Sie 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 Zuordnungsanfrage an ein einzelnes Begleitgerät zu stellen.
Für Drittentwickler, die eine Begleit-App implementieren, die das Profil DEVICE_PROFILE_WATCH
anfordert, gehen Sie wie folgt vor:
- Rufen Sie die
setDeviceProfile
-Methode auf. - Übergeben Sie beim Erstellen
AssociationRequest
dasDEVICE_PROFILE_WATCH
Profil.
Validierung
Um das Verhalten der Profilfunktion des Begleitgeräts zu testen, verwenden Sie die CTS-Tests in cts/tests/tests/companion/
.
Das in Android 12 eingeführte Begleitgeräteprofil ist eine Funktion, die es Begleit-Apps ermöglicht, eine Reihe von Berechtigungen anzufordern, die für den Typ des Begleitgeräts, beispielsweise einer Smartwatch, spezifisch sind. Die Verwendung eines Begleitgeräteprofils vereinfacht den Registrierungsprozess, indem Apps den Benutzern auf ihren Mobilgeräten eine einzige Aufforderung anzeigen können, um einen definierten Satz von Berechtigungen anzufordern, anstatt mehrere Aufforderungen, bei denen Berechtigungen einzeln angefordert werden. Dies kann eine effizientere Einrichtung und bessere Opt-in-Raten für Begleit-Apps ermöglichen.
Die Verwendung von Begleitgeräteprofilen steht nur Geräteherstellern zur Verfügung, die über Begleitgeräte verfügen. Damit Begleitgeräte Zugriff auf die Funktion erhalten, müssen sie die Anforderungen erfüllen und genehmigt sein.
Die folgenden Profiltypen für Begleitgeräte sind in Android 12 verfügbar: COMPANION_DEVICE_WATCH
.
Weitere Informationen zu Begleitgeräten finden Sie unter Kopplung von Begleitgeräten .
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten beschrieben, wenn Begleitgeräteprofile verwendet werden.
Wenn ein Benutzer die Anfrage einer App zum Erstellen einer Zuordnung mit einem Begleitgerät akzeptiert, wartet der CompanionDeviceManager
(CDM)-Dienst darauf, dass das Begleitgerät eine Verbindung herstellt, und wenn eine Verbindung hergestellt wird, weist der CDM dem Gerät die Geräteprofilrolle (z. B. Beobachten) zu Begleit-App, die alle für die angegebene Profilrolle definierten Berechtigungen gewährt. Abbildung 1 zeigt ein Beispiel einer App, die Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH
anfordert.
Abbildung 1. Dialogfeld zum Anfordern von Berechtigungen für das Watch-Geräteprofil.
Wenn die Zuordnung zwischen einer App und dem Begleitgerät entfernt wird, beispielsweise wenn die Daten für ein Paket gelöscht werden oder wenn 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 zur Erteilung von Berechtigungen für ein bestimmtes Geräteprofil akzeptiert hat, kann der Benutzer einzelne gewährte Berechtigungen widerrufen. Wenn ein Benutzer eine Berechtigung widerruft, bleibt die App mit dem Begleitgerät verknüpft, bestimmte Funktionen sind jedoch 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.
Anforderungen
Damit eine Begleit-App Zugriff auf die Begleitgeräteprofil-API erhält, muss die App die folgenden Anforderungen erfüllen:
- Besitzen Sie ein Begleitgerät (zum Beispiel eine Smartwatch).
- Es gibt einen legitimen Grund dafür, dass die für das Begleitgeräteprofil definierten Berechtigungen erforderlich sind.
Anforderungen an das Begleitgeräteprofil ansehen
In der folgenden Tabelle werden die definierten Berechtigungen für die Geräteprofilrolle COMPANION_DEVICE_WATCH
und die Anforderungen für deren Verwendung beschrieben.
Berechtigungen | Anforderungen an Begleit-App und Geräte |
---|---|
BenachrichtigungenBIND_NOTIFICATION_LISTENER_SERVICE |
|
Telefonphone |
|
SMSsms |
|
Kontaktecontacts |
|
Kalendercalendar |
|
Geräte in der Nähenearby_devices |
|
eSIM-BereitstellungUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Verwalten laufender AnrufeMANAGE_ONGOING_CALLS |
|
Zugriff erhalten
Damit Apps Zugriff auf Begleitgeräteprofile 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
Für Gerätehersteller, die eine Begleit-App mit einem bestimmten Gerät implementieren, verwenden Sie 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 Zuordnungsanfrage an ein einzelnes Begleitgerät zu stellen.
Für Drittentwickler, die eine Begleit-App implementieren, die das Profil DEVICE_PROFILE_WATCH
anfordert, gehen Sie wie folgt vor:
- Rufen Sie die
setDeviceProfile
-Methode auf. - Übergeben Sie beim Erstellen
AssociationRequest
dasDEVICE_PROFILE_WATCH
Profil.
Validierung
Um das Verhalten der Profilfunktion des Begleitgeräts zu testen, verwenden Sie die CTS-Tests in cts/tests/tests/companion/
.