Asystent Google na Wear OS

Asystenci głosowi na zegarku umożliwiają sprawne i szybkie działanie, gdziekolwiek jesteś. Rozmowa głosowa interakcje na urządzeniach do noszenia mają charakter dynamiczny, co oznacza, że użytkownik może rozmawiać nadgarstek bez konieczności patrzenia na urządzenie w oczekiwaniu na odpowiedź.

Dzięki akcjom w aplikacji Asystent deweloperzy aplikacji na Androida mogą korzystać z aplikacji na Wear OS na: Asystenta Google, szybkiego przekierowywania użytkowników do aplikacji za pomocą poleceń głosowych, takich jak „OK Google, rozpocznij uruchomienie w aplikacji PrzykładowaAplikacja”

Ograniczenia

Asystent na Wear obsługuje multimedia i monitorowanie aktywności podczas treningu. Dla: wskazówek na temat integracji aplikacji do multimediów z Asystentem znajdziesz na stronie Asystent Google. i multimedialne. Następujące wskaźniki BII dotyczące zdrowia i fitnessu są obsługiwane w przypadku Aplikacje na Wear OS:

Jak to działa

Akcje w aplikacji rozszerzają funkcje aplikacji o Asystenta, umożliwiając użytkownikom korzystanie z aplikacji funkcje za pomocą głosu. Gdy użytkownik poinformuje Asystenta, że chce korzystać z Twojej aplikacji, Asystent szuka akcji w aplikacji zarejestrowanych na w zasobie shortcuts.xml aplikacji.

Akcje w aplikacji zostały opisane w sekcji shortcuts.xml za pomocą elementów capability na Androida. Elementy możliwości tworzą pary intencji wbudowanych (BII), które są semantyczne opisy funkcji aplikacji z instrukcjami realizacji, np. szablon linku. Gdy prześlesz aplikację przy użyciu Konsoli Google Play, Google rejestruje możliwości zadeklarowane w shortcuts.xml, udostępniając je które użytkownicy mają uruchamiać za pomocą Asystenta.

Przebieg akcji w aplikacji

Poprzedni diagram pokazuje, jak użytkownik wstrzymuje ćwiczenie w ramach samodzielnej . Do wykonania tych czynności:

  1. Użytkownik wysyła do Asystenta żądanie głosowe dotyczące konkretnej aplikacji do noszenia.
  2. Asystent dopasowuje żądanie do wytrenowanego modelu (BII) i wyodrębnia parametry znalezione w zapytaniu, które są obsługiwane przez BII.
  3. W tym przykładzie Asystent dopasowuje zapytanie do zapytania PAUSE_EXERCISE BII, i wyodrębnia parametr nazwy ćwiczenia „hike”.
  4. Aplikacja jest aktywowana w ramach realizacji funkcji shortcuts.xml dla tego dokumentu BII.
  5. Aplikacja przetwarza realizację, wstrzymując ćwiczenie.

Łączność

Sposób opracowywania akcji w aplikacji zależy od jej funkcjonalności w ekosystemie urządzeń z Androidem.

  • W tetheringu: gdy aplikacja na urządzenia do noszenia w pełni zależy od aplikacji mobilnej. zapytania użytkowników wysyłane do Asystenta na zegarku są realizowane na urządzeniu mobilnym. Logika realizacji akcji w aplikacji musi być wbudowana do prawidłowego funkcjonowania w tym scenariuszu.

  • Bez tetheringu: gdy aplikacja do noszenia jest niezależna od aplikacji mobilnej przez Asystent odpowiada na pytania użytkowników lokalnie na zegarku. Promująca aplikację Żeby te żądania można było wykonywać w aplikacji do noszenia, muszą być w niej wbudowane funkcje dotyczące działań prawidłowo zrealizować.

.

Dodaj funkcje głosowe do Wear

Zintegruj akcje w aplikacji z aplikacją na Wear OS, wykonując te czynności:

  1. Dopasuj funkcje aplikacji, których chcesz włączyć głosowo odpowiedni BII.
  2. Zadeklaruj w głównej aktywności obsługę skrótów na Androidzie AndroidManifest.xml zasób.

    <!-- AndroidManifest.xml -->
    <meta-data
        android:name="android.app.shortcuts"
        android:resource="@xml/shortcuts" />
    
  3. Dodaj element <intent-filter> do pliku AndroidManifest.xml. Dzięki temu Asystenta do korzystania z precyzyjnych linków, aby łączyć się z treściami aplikacji.

  4. Utwórz plik skrótów.xml, aby udostępnić szczegóły realizacji Twoich identyfikatorów BII. Używasz capability elementu skrótu do zadeklarowania w Asystencie identyfikatorów BII Twojej aplikacji. obsługuje. Więcej informacji znajdziesz w artykule Dodawanie funkcji.

  5. W narzędziu shortcuts.xml zaimplementuj możliwość dla wybranego typu BII. ten przykład ilustruje, jak można wykorzystać START_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>
    
  6. W razie potrzeby rozszerz obsługę odmian mowy użytkowników za pomocą atrybutu wbudowane zasoby reklamowe, które reprezentują funkcje i treści w 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>
    
  7. Zaktualizuj logikę aplikacji, aby zapewnić obsługę przychodzących działań 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 zapewniają narzędzia do sprawdzania i testowania aplikacji. Więcej szczegółów więcej informacji znajdziesz w artykule o wtyczce Asystenta Google do Android Studio. Po przetestujesz aplikację i utworzysz wersję testową, możesz poprosić o Sprawdzanie i wdrażanie działań w aplikacji. Zapoznaj się ze sprawdzonymi metodami dotyczącymi wskazówki dotyczące postępowania z typowymi błędami.

Sprawdzone metody

Zadbaj o pozytywne wrażenia użytkowników podczas integracji aplikacji z Asystentem przez zgodnie z tymi zalecanymi sprawdzonymi metodami.

Pokaż odpowiedni lub odpowiedni ekran potwierdzenia oraz czujniki haptyczne i sprzężenie akustyczne, w celu zareagowania na żądanie użytkownika realizację żądania lub powiadomienie o błędzie.

Podstawowa jakość Lepsza jakość Najlepsza jakość
  • Utwórz intencję uruchamiania ConfirmationActivity od aktywności.
  • Utwórz intencję uruchamiania ConfirmationActivity od aktywności.
  • Włącz gong ORAZ reakcję haptyczną, aby wskazać obecny stan.
  • Utwórz intencję uruchamiania ConfirmationActivity od aktywności.
  • Zamiana tekstu na mowę (TTS) i reakcja haptyczna wskazująca na błąd lub powodzenie.

Typowe błędy i sposoby ich rozwiązywania

W przypadku tych błędów należy użyć zalecanej aplikacji ConfirmationActivity wiadomości.

Wielkość błędu Przykładowa interakcja użytkownika Odpowiedź aplikacji
Działanie już trwa "Uruchom moje ćwiczenie ActivityName"
"Wznów moją nazwę Ćwiczenia"
Błąd wyświetlania: Już trwa aktywność”.
Nie rozpoczęto żadnej aktywności "Wstrzymaj/Zatrzymaj ĆwiczenieName" Błąd wyświetlania: „Nie rozpoczęto żadnej aktywności”.
Niezgodność typów aktywności "Wstrzymaj/Zatrzymaj ĆwiczenieName," To inny rodzaj ćwiczenia niż trwający. Błąd wyświetlania: „Niezgodność typu aktywności”.
Błąd logowania "Uruchom moją nazwę Ćwiczenia," gdy użytkownik nie jest zalogowany w aplikacji. Reakcja haptyczna powiadamia użytkownika i przekierowuje na ekran logowania.
Błąd uprawnień Użytkownik nie ma uprawnień do rozpoczęcia żądanego działania. Reakcja haptyczna powiadamia o użytkowniku i przekierowuje na ekran z prośbą o uprawnienia.
Problem z czujnikiem Użytkownik ma wyłączone usługi lokalizacyjne w ustawieniach urządzenia. Odtwarzaj reakcję haptyczną, aby powiadamiać użytkowników i wyświetlać ekran błędu czujnika. Opcjonalne dalsze kroki:
  • Rozpocznij aktywność bez śledzenia czujnika i powiadom użytkownika.
  • Aby rozpocząć aktywność bez śledzenia czujnika, poproś użytkownika o potwierdzenie.