Wear OS 6 wprowadza nowy interfejs API, Watch Face Push, który stwarza możliwości bardziej zaawansowanych przypadków użycia publikowania tarcz zegarka.
Kiedy warto używać powiadomień push na tarczy zegarka
Watch Face Push to interfejs API na Wear OS, który umożliwia programistom bezpośrednie dodawanie, aktualizowanie i usuwanie tarcz zegarka. Nie jest ona potrzebna do tworzenia standardowych tarcz zegarka.
Tarcze zegarka używane z powiadomieniami push na tarczy zegarka muszą być napisane w Formacie tarczy zegarka. Mogą to być tarcze zegarka zaprojektowane za pomocą narzędzia Watch Face Designer, Watch Face Studio lub innego narzędzia, które tworzy tarcze zegarka w formacie tarczy zegarka.
Interfejs Watch Face Push API może być używany na wiele sposobów, ale w tabeli poniżej znajdziesz główne przypadki użycia:
| Przypadek użycia | Zalecane rozwiązanie | Złożoność |
|---|---|---|
| Chcę tworzyć i publikować poszczególne tarcze zegarka. | Używaj formatu tarczy zegarka bezpośrednio lub za pomocą narzędzia takiego jak Watch Face Designer lub Watch Face Studio i publikuj je w Google Play. | Niska |
| Chcę utworzyć aplikację na telefon, która umożliwi użytkownikom wybieranie tarcz zegarka z wyselekcjonowanej kolekcji lub projektowanie i dostosowywanie tarcz zegarka do instalacji 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
Typowym przypadkiem użycia interfejsu Watch Face Push API jest tworzenie aplikacji na platformę handlową. Użytkownicy mogą w niej wybierać tarcze zegarka z wyselekcjonowanej kolekcji na telefonie i bezpośrednio kontrolować instalację tych tarcz na połączonym zegarku.
co należy wziąć pod uwagę
Szczegółowe informacje o tworzeniu tarcz zegarka znajdziesz w wytycznych dotyczących formatu tarczy zegarka. Tarcze zegarka wdrażane za pomocą powiadomień push na tarczy zegarka to zwykłe tarcze zegarka w formacie tarczy zegarka.
Tworząc tarczę zegarka, pamiętaj o tych kwestiach.
Nazwy pakietów
Tarcze zegarka zainstalowane za pomocą powiadomień push na tarczy zegarka 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, które mogą być akceptowane przez Google Play, ale nie przechodzą weryfikacji przesyłania tarcz zegarka (patrz poniżej).
Każdy plik APK tarczy zegarka musi zawierać tylko te pliki lub ścieżki:
/AndroidManifest.xml/resources.arsc/res/**/META-INF/**
Dodatkowo 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 tag <application> musi określać atrybut android:hasCode="false".
Weryfikacja
W odróżnieniu od zwykłych tarcz zegarka rozpowszechnianych w Google Play aplikacja Marketplace odpowiada za weryfikację, czy każda tarcza zegarka Watch Face Push jest prawidłowo sformatowana i wydajna.
Funkcja przesyłania tarcz zegarka korzysta z tych testów weryfikacyjnych, aby sprawdzić jakość każdej tarczy:
- 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żytku z interfejsem API używaj tylko oficjalnego narzędzia do weryfikacji.
- Podczas przeprowadzania weryfikacji narzędzie musi być aktualne.
Nie musisz ponownie weryfikować pakietu APK, który nie został zmieniony. Tokeny nie wygasają, nawet jeśli używana wersja narzędzia do weryfikacji zostanie zastąpiona nowszą.
Jednocześnie zalecamy okresowe ponowne uruchamianie weryfikacji, ponieważ weryfikator jest okresowo aktualizowany.
Uruchamianie walidatora
Weryfikator jest dostępny w 3 formach:
- Narzędzie CLI
- Biblioteka do użytku z JVM
- Biblioteka do użytku na Androidzie
Korzystanie z walidatora wiersza poleceń
- Pobierz walidator z repozytorium Maven Google.
Uruchom narzędzie w ten sposób:
java -jar validator-push-cli-1.0.0-alpha07.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>Jeśli weryfikacja zakończy się powodzeniem, w danych wyjściowych pojawi się token weryfikacyjny, który musisz podać w interfejsie Watch Face Push API podczas dodawania lub aktualizowania tarczy zegarka.
Jeśli wystąpi błąd, w wyniku pojawią się szczegółowe informacje o tym, które konkretne sprawdzenie się nie powiodło.
Korzystanie z walidatora biblioteki
Uwzględnij repozytoria Google i Jitpack. Oba są wymagane do korzystania z biblioteki weryfikatora.
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }Dodaj do projektu zależność walidatora:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha07") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha07")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żytku z walidatorem opartym na Androidzie.
Rozmiar pliku APK
Zwróć szczególną uwagę na tarcze zegarka typu Watch Face Push, aby zminimalizować rozmiar pliku APK: plik APK tarczy zegarka jest prawdopodobnie przesyłany z aplikacji na telefon na aplikację 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 wrażenia użytkowników i wyczerpuje baterię.
- Używaj odpowiednich bibliotek, np.
pngquant, aby zminimalizować rozmiar plików graficznych.- Uwzględnij to w procesie tworzenia kolekcji tarcz zegarka.
- Sprawdź, czy wymiary obrazu są odpowiednie do skali, w jakiej go używasz.
- Przytnij obrazy, aby usunąć tło.
- Zmniejszanie rozmiaru plików czcionek
- Jeśli na przykład używasz konkretnej czcionki tylko do wyświetlania czasu w formacie
HH:MM, możesz użyć narzędzia takiego jakpyftsubset, aby ograniczyć plik czcionki tylko 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 znajdziesz w tym poście na blogu.
- Jeśli na przykład używasz konkretnej czcionki tylko do wyświetlania czasu w formacie
Więcej sugestii dotyczących minimalizowania rozmiaru pliku APK znajdziesz w wskazówkach dotyczących optymalizacji wykorzystania pamięci.
Podpisywanie plików APK
Wszystkie tarcze zegarka musisz podpisać 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.
Architektura
Weź pod uwagę 4 główne komponenty systemu:
- Miejsce w chmurze: w kanonicznej aplikacji na platformie Marketplace tworzysz i przechowujesz tarcze zegara w chmurze, aby użytkownicy mogli z nich korzystać. Tarcze zegarka mają te właściwości:
- Są one wstępnie utworzone jako zwykłe pakiety APK w formacie tarczy zegarka.
- Każdy pakiet APK zawiera tylko jedną tarczę zegarka opartą na Formacie tarczy zegarka.
- Są one weryfikowane w procesie weryfikacji przesyłania tarcz zegarka i przechowywane z powiązanym tokenem weryfikacyjnym.
- Aplikacja Telefon może w razie potrzeby je pobrać.
- Aplikacja Telefon: aplikacja Telefon to główny sposób, w jaki użytkownicy wchodzą w interakcję z Twoim systemem. Umożliwi im to:
- Przeglądanie i wyszukiwanie katalogu tarcz zegarka
- Instalowanie lub zmienianie tarczy zegarka
- Aplikacja na zegarek: aplikacja na zegarek zwykle nie ma rozbudowanego interfejsu użytkownika. Jest to przede wszystkim pomost między aplikacją na telefon a interfejsami API Push tarczy zegarka. Oferuje te funkcje:
- Używanie interfejsu Watch Face Push API do instalowania, aktualizowania lub zastępowania tarcz zegarka
- Wyświetlanie prośby o przyznanie niezbędnych uprawnień i zachęcanie użytkownika do działania
- Dostarczanie domyślnej tarczy zegarka
- zapewniać minimalną pamięć podręczną tarcz zegarka;
- Komunikacja między telefonem a zegarkiem: komunikacja między aplikacją na telefonie a aplikacją na zegarku ma kluczowe znaczenie dla ogólnego komfortu użytkowania. Korzystaj z interfejsów API warstwy danych Wear OS, które umożliwiają:
- Wykrywanie instalacji: za pomocą funkcji i
CapabilityClientaplikacja Telefon może wykrywać brak aplikacji na zegarku i odwrotnie. Następnie możesz uruchomić intencję w Sklepie Play, aby zainstalować brakujący format. - Zarządzanie stanem: za pomocą
DataClientlubMessageClientmożesz synchronizować stan telefonu ze stanem zegarka, np. synchronizować stan aktywnej tarczy zegarka. - Przesyłanie plików APK: za pomocą
ChannelClientlubMessageClientprzesyłaj pliki APK z telefonu na zegarek. - Zdalne wywoływanie: za pomocą
Messageclienttelefon może wydać zegarkowi polecenie wywołania interfejsu Watch Face Push API, np. w celu zainstalowania tarczy zegarka.
- Wykrywanie instalacji: za pomocą funkcji i
Więcej informacji znajdziesz w wytycznych dotyczących interfejsu Data Layer API.