Zalecamy, aby aplikacje na Wear OS działały niezależnie od telefonu, wykonywać zadania na zegarku bez dostępu do telefonu z Androidem lub iOS. Jeśli aplikacja na zegarek wymaga interakcji z telefonem, musisz oznaczyć aplikację na Wear OS jako niesamodzielną i upewnić się, że użytkownik ma dostęp do tej aplikacji.
Zaplanuj aplikację
Możesz użyć pakietu Android App Bundle aby automatycznie generować zoptymalizowane pakiety Android Package Kit (APK) dla poszczególnych konfiguracji urządzeń użytkowników w ramach tego samego aplikacji. Dzięki temu użytkownicy mogą pobrać tylko kod i zasoby, których potrzebują uruchom aplikację.
Aby uzyskać informacje o konfigurowaniu aplikacji do rozpowszechniania przez Sklepu Google Play, zobacz Pakowanie i rozpowszechnianie aplikacji na Wear OS oraz przewodnik dla początkujących Pakiety aplikacji na Androida.
W przypadku nowych aplikacji docelowy poziom interfejsu API musi wynosić 30 lub wyższy. Więcej informacji:
Osiągnij docelowy interfejs API Google Play
wymaganym poziomie. Ustaw parametr
targetSdkVersion
do poziomu interfejsu API 30 (Wear OS 3), aby zapewnić prawidłowe działanie aplikacji
na najnowszej wersji platformy.
Aby uzyskać informacje o żądaniach sieciowych i dostępie do sieci o dużej przepustowości, patrz Dostęp do sieci i synchronizacja na Wear OS.
Definiowanie aplikacji jako aplikacji na Wear OS
Musisz zdefiniować tag
<uses-feature>
w pliku manifestu aplikacji na Androida.
Aby wskazać, że aplikacja jest przeznaczona na zegarek, dodaj taki wpis:
<manifest> ... <uses-feature android:name="android.hardware.type.watch" /> ... </manifest>
Określanie aplikacji jako samodzielnej lub niesamodzielnej
Aplikacja na zegarek jest uważana za samodzielną lub niesamodzielną:
- Samodzielne: całkowicie niezależna aplikacja, która nie wymaga aplikacji na telefon funkcje zabezpieczeń. Mimo że opcja „Otwórz na telefonie” prompty są dopuszczalne, aplikacja musi udostępniać umożliwiają użytkownikom wykonanie funkcji aplikacji – np. przy użyciu krótkiego linku lub kodu QR – bez względu na to, na telefonie z włączonym tetheringiem.
- Niesamodzielna aplikacja: aplikacja zależna, która wymaga zainstalowania aplikacji na telefonie lub innym urządzeniu i najważniejszych funkcji. Ta opcja jest najlepsza w przypadku aplikacji, które nie mogą łatwo udostępniać alternatywne sposoby, takie jak kod QR lub krótki link, do wykonywania głównych funkcji aplikacji, takich jak uwierzytelnianie.
Uwaga: nawet w przypadku niesamodzielnej aplikacji użytkownicy mogą zainstalować aplikację Wear OS przed aplikacją mobilną. Jeśli więc aplikacja Wear OS wykryje, że urządzenie przenośne w pobliżu nie ma niezbędnej aplikacji towarzyszącej, prośba do użytkownika aby zainstalować aplikację towarzyszącą.
Google sprawdza poprawność stanu samodzielnej aplikacji w trakcie jej trwania wyświetlania reklam. Ta wartość wpływa na widoczność aplikacji w Sklepie Play na urządzeń niepołączonych z siecią (np. urządzeń z Wear OS, które nie są sparowane z urządzeniami mobilnymi); urządzenia. aplikacje inne niż samodzielne – oraz aplikacje nieprawidłowo opracowane przez deweloperów; określone jako „samodzielne” – są niedostępne dla użytkowników korzystających z urządzenia.
W aplikacji na Wear OS ustaw wartość com.google.android.wearable.standalone
elementu
meta-data
w pliku manifestu Androida, aby określić, czy aplikacja jest samodzielna czy nie.
Jeśli aplikacja na zegarek jest w pełni niezależna, samodzielna, podaj
do Sklepu Google Play, ustawiając
wartość z com.google.android.wearable.standalone
do true
:
<application> ... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" /> ... </application>
Jeśli aplikacja na zegarek nie jest samodzielna i korzysta z podstawowych funkcji innej aplikacji,
ustaw wartość com.google.android.wearable.standalone
na
false
Oznacza to, że aplikacja na zegarek wymaga innego urządzenia, ale nie
mają wpływ na promocję Twojej aplikacji w Sklepie Google Play.
Uwaga:
Nawet jeśli wartość com.google.android.wearable.standalone
wynosi
false
, zegarek
aplikację można zainstalować przed zainstalowaniem aplikacji na telefon.
Dlatego, jeśli aplikacja na zegarek
wykrywa, że powiązany telefon
nie ma wymaganej aplikacji telefonicznej, jak opisano na tej stronie,
wyświetlić komunikat z prośbą o zainstalowanie tej aplikacji.
Wspólny kod i przechowywanie danych
Kod może być udostępniany przez aplikację na Wear OS i aplikację na telefon. Na przykład wspólny kod do obsługi sieci może znajdować się w zasobach wspólnych.
Opcjonalnie kod dotyczącą konkretnego formatu, można umieścić w osobnym module.
Możesz użyć standardowych interfejsów API do przechowywania danych w Androidzie, aby przechowywać dane lokalnie. na telefonie. Na przykład możesz użyć atrybutu Ustawienia udostępnione interfejsów API lub Pokoju, z biblioteki trwałości.
Wykryj aplikację na innym urządzeniu
aplikacja na zegarek i powiązana aplikacja na telefon, mogą wykryć, czy druga aplikacja jest dostępna.
Aplikacje na telefonie i zegarku mogą używać
CapabilityClient
, aby reklamować swoją obecność
do sparowanego urządzenia. Mogą to być statycznie lub dynamicznie.
Gdy aplikacja
znajduje się w węźle w sieci Wear OS użytkownika, np. na telefonie, sparowanym zegarku lub
w chmurze, CapabilityClient
umożliwia innym
aplikacje ją wykrywają. Więcej informacji:
Możliwości związane z reklamami.
Jeśli jedna z aplikacji nie może wykryć drugiej, możesz o to poprosić otworzyć stronę aplikacji w Sklepie Play na urządzeniu, którego dotyczy problem. To rozwiązanie dla aplikacji na zegarek, które wymagają aplikacji towarzyszącej na telefon, aby działać prawidłowo.
Musisz sprawdzić, czy Sklep Play jest dostępny na ponieważ nie wszystkie telefony – na przykład iPhone'y – obsługują Sklep Play.
W sekcjach poniżej opisujemy sprawdzone metody postępowania w 2 scenariuszach:
- Samodzielna aplikacja na zegarek wymaga aplikacji na telefon.
- Aplikacja na telefon wymaga samodzielnej aplikacji na zegarek.
Możesz też zapoznać się z
Przykład dla pomocników warstwy danych, który pokazuje, jak korzystać z biblioteki danych
Biblioteki pomocnicze Datalayer, część
Horolog. Te pomocnicze umożliwiają monitorowanie połączenia między
urządzenia i urządzenia z Wear OS.
Więcej informacji na temat konfiguracji
dotyczące klas opisanych w kolejnej sekcji,
Dokumentacja interfejsu API Wear OS.
Zawiera ono również informacje o
PhoneTypeHelper
, która zawiera
.
getPhoneDeviceType()
, która pozwala
Aplikacja na Wear OS sprawdza, czy powiązany telefon to urządzenie z Androidem czy z iOS.
Podaj nazwy możliwości wykrywania aplikacji
W przypadku aplikacji odpowiadającej każdemu typowi urządzenia (zegarkowi lub telefonowi), określ
niepowtarzalny ciąg nazwy funkcji w polu
res/values/wear.xml
.
Na przykład w module mobilnym plik wear.xml
mogą obejmować takie elementy:
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@array/android_wear_capabilities"> <string-array name="android_wear_capabilities"> <item>verify_remote_example_phone_app</item> </string-array> </resources>
W module Wear OS plik wear.xml
zawiera
mają różne wartości w nazwie możliwości,
na przykład:
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@array/android_wear_capabilities"> <string-array name="android_wear_capabilities"> <item>verify_remote_example_wear_app</item> </string-array> </resources>
Więcej informacji można znaleźć w sekcji Możliwości związane z reklamami.
Wykrywanie aplikacji i otwieranie adresu URL na zegarku
Aplikacja na zegarek może wykryć, czy powiązany telefon użytkownika ma Telefon. Aby to zrobić:
-
Użyj
CapabilityClient
, aby sprawdzić, czy aplikacja na telefon jest zainstalowana na sparowanym telefonie. Więcej informacji: Przykład z pomocy Asystenta Datalayer w GitHubie. -
Jeśli na telefonie nie masz zainstalowanej aplikacji, użyj
PhoneDeviceType.getPhoneDeviceType()
do sprawdzić typ telefonu. Więcej informacji znajdziesz w następnej sekcji. -
Jeśli
PhoneDeviceType.DEVICE_TYPE_ANDROID
jest telefon z Androidem. Zadzwoń do nasRemoteActivityHelper.startRemoteActivity()
na urządzeniu z Wear OS, aby otwórz Sklep Play na telefonie. Użyj identyfikatora URI telefonu na rynku który może być inny niż identyfikator URI aplikacji na Wear. Na przykład użyj atrybutu identyfikator URI rynku, na przykład:market://details?id=com.example.android.wearable.wear.finddevices
-
Jeśli
PhoneDeviceType.DEVICE_TYPE_IOS
oznacza to, że telefon jest telefonem z iOS i nie ma aplikacji Play. Sklep dostępny. Otwórz App Store na iPhonie dzwoniąc pod numerRemoteActivityHelper.startRemoteActivity()
na urządzeniu Wear Urządzenie z systemem operacyjnym. Możesz podać URL swojej aplikacji w iTunes, na przykładhttps://itunes.apple.com/us/app/yourappname
W Wear OS nie można automatycznie określić, aplikacja Telefon jest zainstalowana na urządzeniu z iOS. Zalecamy przesłanie formularza do ręcznego aktywowania tagu otwórz App Store.
Uwaga: użyj interfejsu API RemoteActivityHelper
opisanego wcześniej w
określić, że każdy URL otwierany na telefonie z zegarka,
i że nie jest potrzebna aplikacja do obsługi telefonu.
Szczegóły dotyczące wykrywania typu sparowanego telefonu
Oto fragment kodu, który używa metody getPhoneDeviceType()
do:
Sprawdź typ telefonu, z którym zegarek jest sparowany:
Kotlin
var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)
Java
int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);
Wartość zwrócona przez funkcję getPhoneDeviceType()
jest jedną z tych wartości:
Zwracana wartość | Opis |
---|---|
DEVICE_TYPE_ANDROID
|
Dodatkowy telefon to urządzenie z Androidem. |
DEVICE_TYPE_IOS
|
Dodatkowy telefon to urządzenie z iOS. |
DEVICE_TYPE_UNKNOWN
|
Dodatkowy telefon to nieznane urządzenie. |
DEVICE_TYPE_ERROR
|
Wystąpił błąd podczas określania typu sparowanego telefonu. jeszcze jedna kontrola należy podjąć się później. |
Wykrywanie aplikacji na telefonie z Androidem
Telefon z Androidem może wykryć, czy urządzenia z Wear OS użytkownika mają w aplikacji na zegarek. Aby to zrobić:
-
Korzystanie z
NodeClient
, znajdź wszystkie zegarki połączone z kontem użytkownika telefonu. Więcej informacji: Przykład z pomocy Asystenta Datalayer w GitHubie. -
Korzystanie z
CapabilityClient
, sprawdź, który z zegarków użytkownika zainstalowanej aplikacji. -
Jeśli Twoja aplikacja nie jest zainstalowana na wszystkich zegarkach użytkownika, zezwól mu
otwórz Sklep Play na pozostałych urządzeniach z Wear OS za pomocą telefonu,
metodę
RemoteActivityHelper.startRemoteActivity()
. Użyj identyfikatora URI rynkowego aplikacji na Wear OS. Może to być różni się od identyfikatora URI aplikacji na telefon. Możesz na przykład użyć identyfikatora URI rynku Na przykład:market://details?id=com.example.android.wearable.wear.finddevices
Dane o lokalizacji zegarków sparowanych z iPhone'ami
W przypadku zegarków sparowanych z iPhone'ami użyj Fused Location Provider (FLP) – dane o lokalizacji na zegarku. Więcej informacji: Wykrywanie lokalizacji na Wear OS.
Jeśli dodatkowy telefon jest dostępny, FLP używa tego telefonu do dane o lokalizacji.
Uzyskiwanie tylko niezbędnych danych
Ogólnie rzecz biorąc, przy pobieraniu danych z internetu pobierz tylko niezbędne dane. W przeciwnym razie mogą pojawić się niepotrzebne opóźnienia, i użycie baterii.
Przy połączeniu zegarka przez Bluetooth LE aplikacja może mają dostęp do przepustowości wynoszącej zaledwie 4 kilobajty na sekundę, w zależności na zegarku. Dlatego zalecamy wykonanie tych czynności:
- Skontroluj żądania i odpowiedzi sieciowe pod kątem dodatkowych danych, które są dostępne tylko potrzebne w aplikacji na telefon.
- Zmniejszaj duże obrazy, zanim prześlesz je przez sieć do zegarka.
Jeśli potrzebujesz sieci o dużej przepustowości, zapoznaj się z artykułem Dostęp do sieci o dużej przepustowości.
Dodatkowe przykłady kodu
Przykładowa etykieta Asystenta Datalayer dodatkowo prezentuje wykorzystanie interfejsów API omówionych na tej stronie.