Asystenci głosowi na zegarku to szybkie i skuteczne scenariusze, gdziekolwiek jesteś. Interakcje głosowe z urządzeniami do noszenia są dynamiczne, co oznacza, że podczas oczekiwania na odpowiedź użytkownik może mówić do nadgarstka bez konieczności patrzenia na urządzenie.
Dzięki akcji Asystenta w aplikacji deweloperzy na Androida mogą rozszerzyć aplikacje na Wear OS o Asystenta Google i szybko przekierowywać użytkowników do ich aplikacji za pomocą poleceń głosowych, np. „OK Google, rozpocznij bieg w aplikacji ExampleApp”.
Ograniczenia
Asystent na Wear obsługuje interakcje z multimediami i śledzeniem aktywności podczas treningu. Wskazówki dotyczące integracji aplikacji do multimediów z Asystentem znajdziesz w artykule Asystent Google i aplikacje do multimediów. Aplikacje na Wear OS obsługują te identyfikatory BII dotyczące zdrowia i aktywności fizycznej:
Jak to działa
Działania w aplikacji rozszerzają funkcje aplikacji o Asystenta, umożliwiając użytkownikom szybki dostęp do funkcji aplikacji za pomocą głosu. Gdy użytkownik wskaże Asystentowi, że chce korzystać z Twojej aplikacji, Asystent szuka w jej zasobie shortcuts.xml
akcji w aplikacji zarejestrowanych w niej.
Działania w aplikacji są opisane w sekcji shortcuts.xml
z elementami funkcji Androida.
Elementy Capability łączą intencje wbudowane (BII), czyli semantyczne opisy funkcji aplikacji, z instrukcjami realizacji, takimi jak szablon precyzyjnych linków. Gdy przesyłasz aplikację za pomocą Konsoli Google Play, Google rejestruje możliwości zadeklarowane w shortcuts.xml
, aby użytkownicy mogli je aktywować za pomocą Asystenta.
Poprzedni diagram przedstawia użytkownik wstrzymujący ćwiczenie w samodzielnej aplikacji. Dostępne są takie kroki:
- Użytkownik wysyła do Asystenta prośbę głosową związaną z konkretną aplikacją na urządzenie do noszenia.
- Asystent dopasowuje żądanie do wytrenowanego modelu (BII) i wyodrębnia wszystkie parametry znalezione w zapytaniu, które są obsługiwane przez BII.
- W tym przykładzie Asystent dopasowuje zapytanie do parametru
PAUSE_EXERCISE
BII i wyodrębnia parametr nazwy ćwiczenia „wędrówka”. - Aplikacja jest wyzwalana przez definicję realizacji możliwości
shortcuts.xml
na potrzeby tego BII. - Aplikacja przetwarza realizację, wstrzymując ćwiczenie.
Połączenia
Programowanie akcji w aplikacji różni się w zależności od funkcji aplikacji w ekosystemie urządzeń z Androidem.
Powiązanie: gdy działanie aplikacji na urządzeniu do noszenia zależy od jej aplikacji mobilnej, zapytania użytkownika wysyłane do Asystenta za pomocą zegarka są realizowane na urządzeniu mobilnym. Aby ten scenariusz działał prawidłowo, logika realizacji akcji w aplikacji musi być wbudowana w aplikację mobilną.
Bez tetheringu: gdy aplikacja do noszenia jest niezależna od aplikacji mobilnej, Asystent odpowiada na zapytania użytkownika lokalnie na zegarku. Aplikacje na urządzenia do noszenia muszą mieć wbudowane funkcje akcji w aplikacji, aby żądania te były prawidłowo wypełniane.
Dodaj funkcje głosowe do Wear
Zintegruj akcje w aplikacji z aplikacją na Wear OS, wykonując te czynności:
- Dopasuj funkcje w aplikacji, które chcesz włączyć głosowo, z odpowiednim pakietem BII.
Zadeklaruj, że skróty na Androida są obsługiwane w zasobie
AndroidManifest.xml
aktywności głównej.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Dodaj element
<intent-filter>
do pliku AndroidManifest.xml. Umożliwi to Asystentowi korzystanie z precyzyjnych linków do łączenia się z treściami aplikacji.Utwórz shortcuts.xml, aby podać szczegóły realizacji analityki biznesowej. Za pomocą elementów skrótów
capability
możesz zadeklarować Asystentowi, jakie interfejsy BIIs obsługuje Twoja aplikacja. Więcej informacji znajdziesz w sekcji Dodawanie uprawnień.W narzędziu
shortcuts.xml
wdróż możliwość na potrzeby wybranego wskaźnika BII. Ten przykład ilustruje, w jaki sposóbSTART_EXERCISE
BII:<?xml version="1.0" encoding="utf-8"?> <!-- This is a sample shortcuts.xml --> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.START_EXERCISE"> <intent android:action="android.intent.action.VIEW" android:targetPackage="YOUR_UNIQUE_APPLICATION_ID" android:targetClass="YOUR_TARGET_CLASS"> <!-- Eg. name = "Running" --> <parameter android:name="exercise.name" android:key="name"/> <!-- Eg. duration = "PT1H" --> <parameter android:name="exercise.duration" android:key="duration"/> </intent> </capability> </shortcuts>
W razie potrzeby rozszerz obsługę wariantów mowy użytkownika, korzystając z wbudowanych zasobów reklamowych, które reprezentują funkcje i treść Twojej aplikacji.
<capability android:name="actions.intent.START_EXERCISE"> <intent android:targetPackage="com.example.myapp" android:targetClass="com.example.myapp.ExerciseActivity"> <parameter android:name="exercise.name" android:key="exercise" /> </intent> </capability> <shortcut android:shortcutId="CARDIO_RUN"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/run_names" /> </capability-bindig> </shortcut>
Zaktualizuj logikę aplikacji, aby obsługiwać przychodzącą realizację akcji w aplikacji.
//FitMainActivity.kt private fun handleIntent(data: Uri?) { var actionHandled = true val startExercise = intent?.extras?.getString(START_EXERCISE) if (startExercise != null){ val type = FitActivity.Type.find(startExercise) val arguments = Bundle().apply { putSerializable(FitTrackingFragment.PARAM_TYPE, type) } updateView(FitTrackingFragment::class.java, arguments) } else{ showDefaultView() actionHandled = false } notifyActionSuccess(actionHandled) }
Wyświetlanie podglądu, testowanie i publikowanie aplikacji
Akcje w aplikacji udostępniają narzędzia do sprawdzania i testowania aplikacji. Szczegółowe informacje znajdziesz w artykule o wtyczce Asystenta Google dla Androida Studio. Po przetestowaniu aplikacji i utworzeniu wersji testowej możesz poprosić o sprawdzenie działań w aplikacji i je wdrożyć. Zapoznaj się z poniższymi sprawdzonymi metodami, aby dowiedzieć się, jak postępować w przypadku typowych błędów.
Sprawdzone metody
Stosuj te sprawdzone metody, aby zadbać o komfort użytkowników podczas integrowania aplikacji z Asystentem.
Wyświetlaj odpowiedni ekran potwierdzenia wraz z komunikatami haptycznymi i dźwiękowymi, by odpowiedzieć na prośbę użytkownika – przy pomyślnym spełnieniu żądania lub o powiadomieniu o błędzie.
Podstawowa jakość | Lepsza jakość | Najlepsza jakość |
---|---|---|
|
|
|
Typowe błędy i sposoby ich poprawiania
W podanych niżej przypadkach błędów użyj zalecanego komunikatu ConfirmationActivity
w aplikacji.
Przypadek błędu | Przykładowa interakcja użytkownika | Odpowiedź aplikacji |
---|---|---|
Aktywność już trwa |
"Rozpocznij moje ćwiczenie Ćwiczenie" "Wznów moje Ćwiczenie" |
Błąd wyświetlania: aktywność już trwa”. |
Nie rozpoczęto żadnej aktywności | "Wstrzymaj/Zatrzymaj moją NazwaĆwiczenia" | Błąd wyświetlania: „Nie rozpoczęto żadnej aktywności”. |
Niezgodność typów aktywności | „Wstrzymaj/Zatrzymaj moją NazwaĆwiczenia”, czyli inny rodzaj ćwiczenia niż bieżące. | Błąd wyświetlania: „Niezgodność typu aktywności”. |
Błąd logowania | „Uruchom moje ćwiczenie Ćwiczenie”, gdy użytkownik nie jest zalogowany w aplikacji. | Używaj reakcji haptycznej, aby ostrzegać użytkownika i przekierowywać do ekranu logowania. |
Błąd uprawnień | Użytkownik nie ma uprawnień do rozpoczęcia żądanej aktywności. | Używaj reakcji haptycznej, aby ostrzegać użytkownika i przekierowywać na ekran z prośbą o uprawnienia. |
Problem z czujnikiem | Użytkownik ma wyłączone usługi lokalizacyjne w ustawieniach urządzenia. |
Używaj reakcji haptycznej, aby ostrzegać użytkowników i wyświetlać ekran błędu czujnika. Opcjonalne dalsze kroki:
|