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ń związanych z typem urządzenia towarzyszącego, np. zegarkiem. Korzystanie z profilu urządzenia towarzyszącego upraszcza proces rejestracji, ponieważ aplikacje mogą wyświetlać użytkownikom na urządzeniach mobilnych tylko jedno powiadomienie z prośbą o określony zestaw uprawnień zamiast wielu powiadomień z prośbami o poszczególne uprawnienia. Dzięki temu możesz uprościć proces konfiguracji i zwiększyć liczbę użytkowników aplikacji towarzyszących, którzy zdecydują się na subskrypcję.

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

  • Zarządzanie urządzeniem towarzyszącym (np. zegarkiem).
  • Mieć funkcje aplikacji lub wywoływać interfejsy API Androida, które wymagają wszystkich uprawnień zdefiniowanych dla 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 dla poszczególnych profili znajdziesz w artykule Profile urządzeń towarzyszących dla aplikacji innych firm.

Więcej informacji o urządzeniach towarzyszących znajdziesz w artykule Parowanie urządzeń towarzyszących.

Działanie urządzenia

W tej sekcji opisano działanie urządzenia, gdy używane są profile urządzeń towarzyszących.

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

Okno dialogowe profilu urządzenia

Rysunek 1. Okno z prośbą o przyznanie uprawnień do profilu urządzenia zegarka.

Gdy użytkownik usunie dane pakietu w Ustawieniach lub usunie wszystkie urządzenia w aplikacji towarzyszącej, CDM anuluje profil, gdy aplikacja nie działa na pierwszym planie ani nie ma uruchomionego żadnego serwisu na pierwszym planie. Odwołanie profilu powoduje również cofnięcie wszystkich zdefiniowanych dla niego uprawnień.

Gdy użytkownik zaakceptuje prośbę aplikacji o przyznanie uprawnień konkretnemu profilowi urządzenia, może cofnąć poszczególne przyznane uprawnienia. Gdy użytkownik odbierze uprawnienia, aplikacja pozostanie powiązana z urządzeniem towarzyszącym, ale niektóre funkcje mogą stać się niedostępne. Jeśli aplikacja potrzebuje uprawnień do działania, musi o niego poprosić w ramach zwykłego prośby o zgodę.

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

Profil oglądania

Profil zegarka został wprowadzony w Androidzie 12.

W tabeli poniżej opisano uprawnienia zdefiniowane dla profilu urządzenia COMPANION_DEVICE_WATCH oraz wymagania dotyczące ich używania.

Uprawnienia Wymagania dotyczące aplikacji towarzyszących i urządzeń
Powiadomienia

POST_NOTIFICATIONS (added in Android 15)
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • mają ekran, na którym można wyświetlać powiadomienia (wykluczone są urządzenia, które zamiast ekranu używają haptyki);
  • Pozwala wyświetlać powiadomienia widoczne dla użytkownika, np. wyświetlając powiadomienia z telefonu na ekranie urządzenia towarzyszącego.
  • publikowanie powiadomień z telefonu na potrzeby zarządzania urządzeniami. Na przykład gdy zegarek jest połączony lub gdy włączona jest konkretna funkcja.
Phone
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowy głosowe;
  • Ma ekran, na którym wyświetlane są informacje o dzwoniącym.
  • Możliwość prowadzenia rozmów telefonicznych z punktu widzenia użytkownika (aplikacja towarzysząca skraca rozmowy telefoniczne)
SMS
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma ekran, na którym wyświetlają się SMS-y;
  • Zapewnianie obsługi SMS-ów dla użytkownika
Contacts
  • być połączonym urządzeniem przez Bluetooth lub Wi-Fi,
  • Ma ekran
  • Korzystanie z informacji kontaktowych w ramach funkcji dzwonienia lub wysyłania wiadomości
Calendar
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • Ma ekran
  • Umożliwianie użytkownikom korzystania z kalendarza na zegarku
Nearby devices
  • być połączonym urządzeniem przez Bluetooth lub Wi-Fi,
  • Ma ekran
  • Zapewnij użytkownikom możliwość parowania i łączenia na zegarku
eSIM provisioning
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • Ma wyświetlacz
  • udostępnianie użytkownikom możliwości zarządzania usługami operatora na zegarku,
Managing ongoing calls
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowy głosowe;
  • Ma ekran, na którym wyświetlane są informacje o dzwoniącym.
  • Umożliwia użytkownikom wykonywanie połączeń telefonicznych (aplikacja towarzysząca umożliwia nawiązywanie połączeń telefonicznych)

Profil okularów

Profil okularów został wprowadzony w Androidzie 14.

W tabeli poniżej opisano uprawnienia zdefiniowane dla profilu urządzenia COMPANION_DEVICE_GLASSES oraz wymagania dotyczące ich używania.

Uprawnienia Wymagania dotyczące aplikacji towarzyszącej i urządzeń
Powiadomienia

POST_NOTIFICATIONS
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • mają ekran, na którym można wyświetlać powiadomienia (wykluczone są urządzenia, które zamiast ekranu używają haptyki);
  • Pozwala wyświetlać powiadomienia widoczne dla użytkownika, np. wyświetlając powiadomienia z telefonu na ekranie urządzenia towarzyszącego.
  • publikuje powiadomienia z telefonu dotyczące zarządzania urządzeniem, na przykład gdy urządzenie Glass jest połączone lub gdy włączona jest konkretna funkcja.
Phone
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowy głosowe;
  • Ma ekran, na którym wyświetlane są informacje o dzwoniącym.
  • Możliwość prowadzenia rozmów telefonicznych z punktu widzenia użytkownika (aplikacja towarzysząca skraca rozmowy telefoniczne)
SMS
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma ekran, na którym wyświetlają się SMS-y;
  • Zapewnianie obsługi SMS-ów dla użytkownika
Contacts
  • być połączonym urządzeniem przez Bluetooth lub Wi-Fi,
  • Ma ekran
  • Korzystanie z informacji kontaktowych w ramach funkcji dzwonienia lub wysyłania wiadomości
Microphone
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • Ma ekran
  • Możliwość korzystania z mikrofonu w okularach.
Nearby devices
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • Ma wyświetlacz
  • Umożliwia parowanie i łączenie na goglach.
Managing ongoing calls
  • być urządzeniem połączonym przez Bluetooth lub Wi-Fi;
  • ma wbudowany mikrofon i głośnik, które umożliwiają rozmowy głosowe;
  • Ma ekran, na którym wyświetlane są informacje o dzwoniącym.
  • Umożliwia użytkownikom wykonywanie połączeń telefonicznych (aplikacja towarzysząca umożliwia nawiązywanie połączeń telefonicznych)

Implementacja

Zewnętrzni deweloperzy, którzy implementują aplikację towarzyszącą, która wymaga dostępu do profilu DEVICE_PROFILE_WATCH:

  1. Wywołaj metodę setDeviceProfile.

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

Producenci urządzeń, którzy implementują aplikację towarzyszącą na konkretnym urządzeniu, mogą użyć tych wymaganych konfiguracji systemu Android do certyfikacji aplikacji towarzyszącej. Pozwala to aplikacji pominąć wyświetlanie 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 zgodnie z tymi przykładowymi danymi wejściowymi w pliku konfiguracji:

    <!-- 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 aplikacji AssociationRequest, aby wysłać prośbę o powiązanie z jednym urządzeniem towarzyszącym.

Weryfikacja

Aby przetestować działanie funkcji profilu urządzenia towarzyszącego, przeprowadź testy CTS w zadaniu cts/tests/tests/companion/.