Wear OS 6 wprowadza nowy interfejs API – Watch Face Push, który stwarza możliwości bardziej zaawansowanego publikowania tarcz zegarka.
Kiedy warto użyć Watch Face Push
Watch Face Push to interfejs API w Wear OS, który umożliwia deweloperowi bezpośrednie dodawanie, aktualizowanie i usuwanie tarcz zegarka. Nie jest on potrzebny do standardowego tworzenia tarcz zegarka.
Tarcze zegarka używane z Watch Face Push muszą być napisane w Formacie tarczy zegarka. Mogą to być tarcze zaprojektowane za pomocą narzędzia Watch Face Designer, Watch Face Studio lub innego narzędzia, które tworzy tarcze zegarka w Formacie tarczy zegarka.
Interfejsu Watch Face Push API można używać na wiele sposobów, ale w tej tabeli znajdziesz główne przypadki użycia:
| Przypadek użycia | Zalecane rozwiązanie | złożoność |
|---|---|---|
| Chcę tworzyć i publikować pojedyncze tarcze zegarka. | Użyj Formatu tarczy zegarka bezpośrednio lub za pomocą narzędzia takiego jak Watch Face Designer lub Watch Face Studio i opublikuj tarcze w Google Play. | Niski |
| Chcę utworzyć aplikację na telefon, która umożliwia użytkownikom wybieranie tarcz zegarka z wyselekcjonowanej kolekcji lub projektowanie i dostosowywanie tarcz do zainstalowania bezpośrednio na zegarku z Wear OS. | Utwórz aplikację na zegarek i telefon, korzystając z interfejsu Watch Face Push API na zegarku. | Wysoki |
Cel
Kanonowym przypadkiem użycia interfejsu Watch Face Push API jest tworzenie aplikacji marketplace. Dzięki niej użytkownicy mogą wybierać tarcze zegarka z wyselekcjonowanej kolekcji na telefonie i bezpośrednio kontrolować instalację tych tarcz na połączonym zegarku.
Uwagi
Szczegółowe informacje o tworzeniu tarcz zegarka znajdziesz w wytycznych dotyczących Formatu tarczy zegarka: tarcze wdrożone za pomocą Watch Face Push to zwykłe tarcze w Formacie tarczy zegarka.
Podczas tworzenia tarczy zegarka pamiętaj o tych kwestiach.
Nazwy pakietów
Tarcze zegarka instalowane za pomocą Watch Face Push muszą być zgodne z tą konwencją:
<app name>.watchfacepush.<watchface name>
… gdzie <app name> to nazwa pakietu aplikacji wywołującej interfejs Watch Face
Push API.
Na przykład w przypadku aplikacji o nazwie pakietu com.example.mymarketplace prawidłowe nazwy pakietów tarcz zegarka to:
com.example.mymarketplace.watchfacepush.watchface1com.example.mymarketplace.watchfacepush.watchface2com.example.mymarketplace.watchfacepush.another_watchface
Interfejs API odrzuca tarcze zegarka, które nie są zgodne z tą konwencją.
Zawartość pakietu
System ściśle egzekwuje zawartość pliku APK. Technicznie możliwe jest tworzenie plików APK w Formacie tarczy zegarka, które zawierają nieszkodliwe pliki metadanych i inne artefakty. Mogą one być akceptowane przez Google Play, ale nie przejdą weryfikacji Watch Face Push (patrz poniżej).
Każdy plik APK tarczy zegarka musi zawierać tylko te pliki lub ścieżki:
/AndroidManifest.xml/resources.arsc/res/**/META-INF/**
Ponadto plik AndroidManifest.xml musi zawierać tylko te tagi:
<manifest><uses-feature><uses-sdk><application><property><meta-data>
Na koniec pakiet musi określać minSdk o wartości co najmniej 33, a
<application> tag musi zawierać atrybut android:hasCode="false".
Weryfikacja
W przeciwieństwie do zwykłych tarcz zegarka rozpowszechnianych w Google Play aplikacja z Marketplace jest odpowiedzialna za sprawdzenie, czy każda tarcza Watch Face Push jest prawidłowo sformatowana i wydajna.
Watch Face Push używa tych kontroli weryfikacji, aby sprawdzić jakość każdej tarczy zegarka:
- Wszystkie tarcze zegarka zainstalowane lub zaktualizowane za pomocą interfejsu Watch Face Push API muszą przejść weryfikację za pomocą narzędzia do weryfikacji Watch Face Push.
- Do generowania tokenów weryfikacji do użycia z interfejsem API używaj tylko oficjalnego narzędzia do weryfikacji.
- Podczas przeprowadzania weryfikacji narzędzie do weryfikacji musi być aktualne.
Nie musisz ponownie weryfikować pliku APK, który się nie zmienił. Tokeny nie wygasają, nawet jeśli używana wersja narzędzia do weryfikacji zostanie zastąpiona.
Zalecamy jednak od czasu do czasu ponowne uruchamianie weryfikacji, ponieważ walidator jest okresowo aktualizowany.
Uruchamianie walidatora
Walidator jest dostępny w 3 postaciach:
- Narzędzie interfejsu wiersza poleceń
- Biblioteka do użycia z JVM
- Biblioteka do użycia na Androidzie
Używanie walidatora wiersza poleceń
- Pobierz walidator z repozytorium Maven Google's Maven repository.
Uruchom narzędzie w ten sposób:
java -jar validator-push-cli-1.0.0-alpha10.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>Jeśli operacja się powiedzie, dane wyjściowe będą zawierać token weryfikacji, który musisz podać w interfejsie Watch Face Push API podczas dodawania lub aktualizowania tarczy zegarka.
Jeśli wystąpi błąd, dane wyjściowe będą zawierać szczegółowe informacje o tym, która kontrola się nie powiodła.
Używanie walidatora biblioteki
Dołącz repozytoria Google i Jitpack. Oba są wymagane do korzystania z biblioteki walidatora.
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }Dołącz zależność walidatora do projektu:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha10") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha10")Uruchom walidator:
Przykład użycia tej biblioteki znajdziesz w przykładzie w GitHubie. Zapoznaj się też z biblioteką Portable Asset Compiler Kit (Pack), która jest przydatna do tworzenia plików APK na urządzeniu do użycia z walidatorem opartym na Androidzie.
Rozmiar pliku APK
W przypadku tarcz zegarka Watch Face Push szczególnie dbaj o minimalizowanie rozmiaru pliku APK. Plik APK tarczy zegarka jest prawdopodobnie przesyłany z aplikacji na telefon do aplikacji na zegarek przez Bluetooth, co może być powolne.
Zbyt duży plik APK może być przesyłany przez długi czas, co pogarsza komfort użytkowania i powoduje szybsze rozładowywanie się baterii.
- Aby zminimalizować rozmiar plików graficznych, używaj odpowiednich bibliotek, np.
pngquantaby zachować minimalny rozmiar plików graficznych- Uwzględnij to w procesie kompilacji kolekcji tarcz zegarka.
- Sprawdź, czy wymiary obrazu są odpowiednie do skali, w jakiej go używasz.
- Przytnij obrazy, aby usunąć otaczające tło.
- Zmniejsz rozmiar plików czcionek.
- Jeśli na przykład używasz określonej czcionki tylko do wyświetlania czasu w
formacie
HH:MM, możesz użyć narzędzia takiego jakpyftsubsetaby ograniczyć plik czcionki do niezbędnych znaków. Może to znacznie zmniejszyć rozmiar wynikowego pliku czcionki i pliku APK. Więcej informacji o minimalizowaniu rozmiaru pliku czcionki w innych przypadkach znajdziesz w tym poście na blogu.
- Jeśli na przykład używasz określonej czcionki tylko do wyświetlania czasu w
formacie
Więcej sugestii dotyczących minimalizowania rozmiaru pliku APK znajdziesz w wytycznych dotyczących optymalizacji wykorzystania pamięci.
Podpisywanie pliku APK
Podpisz wszystkie tarcze zegarka, tak jak zwykły plik APK. Utwórz inny klucz niż ten, którego używasz w głównej aplikacji, i używaj go do wszystkich tarcz zegarka.
Architektura
Weź pod uwagę 4 główne komponenty systemu:
- Miejsce na dane w chmurze: w kanonicznej aplikacji z Marketplace tworzysz i przechowujesz tarcze zegarka w chmurze, aby użytkownicy mogli z nich korzystać. Tarcze zegarka mają te właściwości:
- Są wstępnie utworzone jako zwykłe pliki APK w Formacie tarczy zegarka.
- Każdy plik APK zawiera tylko 1 tarczę zegarka w Formacie tarczy zegarka.
- Są weryfikowane za pomocą procesu weryfikacji Watch Face Push i przechowywane z powiązanym tokenem weryfikacji.
- Aplikacja na telefon może je pobierać w razie potrzeby.
- Aplikacja na telefon: aplikacja na telefon to główny sposób, w jaki użytkownicy wchodzą w interakcję
z Twoim systemem. Umożliwia ona:
- przeglądanie i wyszukiwanie w katalogu tarcz zegarka;
- instalowanie lub zastępowanie tarczy zegarka na zegarku.
- Aplikacja na zegarek: aplikacja na zegarek zwykle nie ma znaczącego interfejsu użytkownika. Jest to przede wszystkim pomost między aplikacją na telefon a interfejsami Watch Face Push API, który ma te funkcje:
- instalowanie, aktualizowanie lub zastępowanie tarcz zegarka za pomocą interfejsu Watch Face Push API;
- prośba o niezbędne uprawnienia i wyświetlanie prośby użytkownikowi;
- udostępnianie domyślnej tarczy zegarka;
- udostępnianie minimalnej pamięci podręcznej tarcz zegarka.
- Komunikacja między telefonem a zegarkiem: komunikacja między aplikacją na telefon a aplikacją na zegarek ma
kluczowe znaczenie dla sukcesu całego rozwiązania. Używaj interfejsów Wear OS Data Layer API, które umożliwiają:
- Wykrywanie instalacji: za pomocą interfejsów Capabilities i
CapabilityClientaplikacja na telefon może wykryć brak aplikacji na zegarek i odwrotnie. Możesz wtedy uruchomić intencję w Sklepie Play, aby zainstalować brakujący format. - Zarządzanie stanem: za pomocą interfejsu
DataClientlubMessageClientsynchronizujesz stan telefonu ze stanem zegarka, np. synchronizujesz stan aktywnej tarczy zegarka. - Przesyłanie pliku APK: za pomocą interfejsu
ChannelClientlubMessageClientwysyłaj pliki APK z telefonu na zegarek. - Zdalne wywoływanie: za pomocą
Messageclienttelefon może instruować zegarek, aby wywoływał interfejs Watch Face Push API, np. w celu zainstalowania tarczy zegarka.
- Wykrywanie instalacji: za pomocą interfejsów Capabilities i
Więcej informacji znajdziesz w wytycznych dotyczących interfejsu Data Layer API.