Profile urządzeń towarzyszących

Profil urządzenia towarzyszącego, wprowadzony w Androidzie 12, to funkcja, która umożliwia aplikacjom towarzyszącym żądanie zestawu uprawnień specyficznych dla typu urządzenia towarzyszącego, np. zegarka. Korzystanie z profilu urządzenia towarzyszącego upraszcza proces rejestracji, ponieważ umożliwia aplikacjom wyświetlanie użytkownikom na urządzeniach mobilnych jednego prompta z prośbą o określony zestaw uprawnień zamiast wielu promptów z prośbą o poszczególne uprawnienia. Może to usprawnić proces konfiguracji i zwiększyć współczynniki rezygnacji z aplikacji towarzyszących.

Aby korzystać z profili urządzeń towarzyszących, aplikacje towarzyszące muszą spełniać te wymagania:

  • zarządzać urządzeniem towarzyszącym (np. zegarkiem);
  • korzystać z funkcji aplikacji lub wywoływać interfejsy API Androida, które wymagają wszystkich uprawnień zdefiniowanych w profilu urządzenia towarzyszącego;

Każdy profil urządzenia towarzyszącego odpowiada roli Androida. Więcej informacji o uprawnieniach i odpowiednich rolach na Androidzie w przypadku poszczególnych profili znajdziesz w artykule Profile urządzeń towarzyszących w aplikacjach innych firm.

Więcej informacji o urządzeniach towarzyszących znajdziesz w artykule Parowanie urządzenia towarzyszącego.

Działanie urządzenia

W tej sekcji opisujemy zachowanie urządzenia, gdy używane są profile urządzenia towarzyszącego.

Gdy użytkownik zaakceptuje prośbę aplikacji o utworzenie powiązania z urządzeniem towarzyszącym, usługa CompanionDeviceManager (CDM) przypisze do aplikacji towarzyszącej rolę profilu urządzenia (np. zegarka), przyznając jej wszystkie uprawnienia zdefiniowane dla tej roli. Ilustracja 1 przedstawia przykład aplikacji, która prosi o uprawnienia do COMPANION_DEVICE_WATCH profilu urządzenia.

Okno z prośbą o wyświetlenie profilu urządzenia

Rysunek 1. Okno z prośbą o uprawnienia do profilu urządzenia zegarka.

Gdy użytkownik wyczyści dane pakietu w Ustawieniach lub usunie wszystkie urządzenia w aplikacji towarzyszącej, CDM wycofa profil, gdy aplikacja nie będzie działać na pierwszym planie ani nie będzie mieć uruchomionej usługi na pierwszym planie. Odwołanie profilu powoduje też odwołanie wszystkich zdefiniowanych uprawnień do tego profilu.

Gdy użytkownik zaakceptuje prośbę aplikacji o przyznanie uprawnień do określonego profilu urządzenia, może cofnąć poszczególne przyznane uprawnienia. Gdy użytkownik cofnie uprawnienia, aplikacja pozostanie powiązana z urządzeniem towarzyszącym, ale niektóre funkcje mogą stać się niedostępne. Jeśli uprawnienia są wymagane do działania aplikacji, musi ona o nie poprosić w ramach standardowego żądania uprawnień.

Profile urządzeń towarzyszących w przypadku aplikacji innych firm

Obejrzyj profil

Profil zegarka został wprowadzony w Androidzie 12.

W tabeli poniżej znajdziesz opis zdefiniowanych uprawnień profilu urządzeniaCOMPANION_DEVICE_WATCH i wymagania dotyczące ich używania.

Uprawnienia Wymagania dotyczące aplikacji towarzyszącej i urządzenia
Powiadomienia

POST_NOTIFICATIONS (added in Android 15)
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma ekran, na którym można wyświetlać powiadomienia (nie dotyczy urządzeń, które zamiast ekranu wykorzystują haptykę);
  • Umożliwia wyświetlanie powiadomień dla użytkownika, np. powiadomień z telefonu na ekranie urządzenia towarzyszącego.
  • Wysyła powiadomienia na telefon na potrzeby zarządzania urządzeniem. Na przykład, gdy zegarek jest połączony lub gdy włączona jest określona funkcja.
Phone
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowę głosową;
  • ma ekran, na którym wyświetlają się informacje o osobie dzwoniącej;
  • Umożliwia użytkownikowi korzystanie z połączeń telefonicznych (aplikacja towarzysząca umożliwia połączenia telefoniczne).
SMS
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma ekran, na którym wyświetlane są SMS-y;
  • Udostępnianie użytkownikom SMS-ów
Contacts
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • Korzysta z informacji kontaktowych w ramach funkcji dzwonienia lub wysyłania wiadomości
Calendar
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • zapewniać użytkownikowi dostęp do kalendarza na zegarku;
Nearby devices
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • Zapewnij użytkownikowi możliwość parowania i łączenia się z zegarkiem.
eSIM provisioning
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • zapewniać użytkownikowi możliwość zarządzania usługami subskrybenta od operatora na zegarku;
Managing ongoing calls
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowę głosową;
  • ma ekran, na którym wyświetlają się informacje o osobie dzwoniącej;
  • Umożliwia użytkownikowi korzystanie z połączeń telefonicznych (aplikacja towarzysząca umożliwia połączenia telefoniczne).

Profil okularów

Profil okularów został wprowadzony w Androidzie 14.

W tabeli poniżej znajdziesz opis zdefiniowanych uprawnień profilu urządzeniaCOMPANION_DEVICE_GLASSES i wymagania dotyczące ich używania.

Uprawnienia Wymagania dotyczące aplikacji towarzyszącej i urządzenia
Powiadomienia

POST_NOTIFICATIONS
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma ekran, na którym można wyświetlać powiadomienia (nie dotyczy urządzeń, które zamiast ekranu wykorzystują haptykę);
  • Umożliwia wyświetlanie powiadomień dla użytkownika, np. powiadomień z telefonu na ekranie urządzenia towarzyszącego.
  • Wysyła powiadomienia na telefon dotyczące zarządzania urządzeniem, np. gdy okulary są połączone lub gdy włączona jest określona funkcja.
Phone
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowę głosową;
  • ma ekran, na którym wyświetlają się informacje o osobie dzwoniącej;
  • Umożliwia użytkownikowi korzystanie z połączeń telefonicznych (aplikacja towarzysząca umożliwia połączenia telefoniczne).
SMS
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma ekran, na którym wyświetlane są SMS-y;
  • Udostępnianie użytkownikom SMS-ów
Contacts
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • Korzysta z informacji kontaktowych w ramach funkcji dzwonienia lub wysyłania wiadomości
Microphone
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • Umożliwia korzystanie z mikrofonu w okularach.
Nearby devices
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wyświetlacz,
  • Umożliwia użytkownikowi sparowanie lub połączenie okularów.
Managing ongoing calls
  • być urządzeniem połączonym za pomocą Bluetootha lub Wi-Fi,
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowę głosową;
  • ma ekran, na którym wyświetlają się informacje o osobie dzwoniącej;
  • Umożliwia użytkownikowi korzystanie z połączeń telefonicznych (aplikacja towarzysząca umożliwia połączenia telefoniczne).

Implementacja

Deweloperzy zewnętrzni, którzy wdrażają aplikację towarzyszącą, która wysyła żądanie profilu DEVICE_PROFILE_WATCH, powinni wykonać te czynności:

  1. Wywołaj metodę setDeviceProfile.

  2. Przekaż profil (np. DEVICE_PROFILE_WATCH podczas tworzenia AssociationRequest).

Producenci urządzeń, którzy wdrażają aplikację towarzyszącą na określonym urządzeniu, muszą użyć tych wymaganych konfiguracji systemu Android, aby uzyskać certyfikat aplikacji towarzyszącej. Dzięki temu aplikacja nie będzie wyświetlać użytkownikom okna z prośbą o zgodę.

  1. Pobierz certyfikat za pomocą tego polecenia:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Zastąp nazwę pakietu i certyfikat, jak pokazano w tym przykładowym pliku konfiguracyjnym:

    <!-- 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>
    
  3. Użyj AssociationRequest do wysłania prośby o powiązanie z pojedynczym urządzeniem towarzyszącym.

Weryfikacja

Aby przetestować działanie funkcji profilu urządzenia towarzyszącego, użyj testów CTS w cts/tests/tests/companion/.