Działania w aplikacji – samochody

Sterowanie głosem umożliwia kierowcom wykonywanie zadań bez zdejmowania rąk od kół samochodu czy oderwania wzroku od drogi. Dzięki akcjom w aplikacjach samochodowych kierowcy mogą używać Asystenta Google do sterowania aplikacjami na Androida w systemie multimedialnym na przykład „OK Google, znajdź parking przy ulicy w aplikacji ExampleApp”.

Akcje w aplikacji działają z aplikacjami samochodowymi zawierającymi ciekawe miejsca. W tym przewodniku omawiamy: konkretne wymagania i ograniczenia dotyczące integrowania akcji w aplikacji z ważnym miejscem; .

Jak to działa

Akcje w aplikacji rozszerzają funkcje aplikacji o Asystenta, dzięki czemu użytkownicy mogą: uzyskiwać dostęp do funkcji aplikacji za pomocą głosu. Gdy użytkownik wywoła działanie w aplikacji, Asystent dopasowuje zapytanie do intencji wbudowanej (BII) zadeklarowanego w shortcuts.xml i uruchomi aplikację na żądanym ekranie.

Deklarujesz obsługę BII w aplikacji za pomocą elementów Androida capability. Gdy przesyłasz aplikację przy użyciu Konsoli Google Play, Google rejestruje funkcje zadeklarowane w aplikacji i udostępniane użytkownikom od Asystenta.

Wykres przedstawiający realizację transakcji sprzedaży samochodu.

  1. Użytkownik uruchamia Asystenta i pyta o głos konkretnej aplikacji.
  2. Asystent dopasowuje żądanie do wytrenowanego modelu (BII) i wyodrębnia wszystkie parametry obsługiwane przez BII.
  3. W tym przykładzie Asystent dopasowuje zapytanie do zapytania GET_CHARGING_STATION BII, wyodrębnia parametr lokalizacji „SFO” i tłumaczy lokalizację na jego współrzędnych geograficznych.
  4. Aplikacja jest aktywowana przez definicję realizacji tego zamówienia BII.
  5. Aplikacja przetwarza realizację zamówienia, wyświetlając opcje stacji ładowania w system multimedialny kierowcy.

Ograniczenia

Implementacje działań w aplikacji w samochodzie mają te ograniczenia:

Wymagania

Aby przygotować aplikację samochodu do działania w aplikacji, wykonaj te czynności:

  • spełniać ogólne wymagania dotyczące aplikacji na Androida dla akcji w aplikacji;
  • Uwzględnij zależność biblioteki aplikacji samochodu. Więcej informacji: Deklarowanie zależności.

Określenie zamiaru i realizacji

Aby za pomocą komend głosowych włączyć aplikację w samochodzie, określ polecenia głosowe lub zamiary użytkowników obsługiwane przez aplikację. Następnie definiujesz dla każdej intencji, która pozwala określić, w jaki sposób aplikacja powinna spełnić to żądanie.

  • Jakie intencje obsługuje Twoja aplikacja w samochodzie?

    Akcje w aplikacji udostępniają wytrenowane modele głosu, nazywane intencjami wbudowanymi (BII) która rozumie i interpretuje polecenia głosowe, „OK Google” Żeby odpowiadać na prośby głosowe, po prostu zadeklaruj, co ma zrobić Asystent BII obsługiwane przez aplikację. Jeśli na przykład chcesz, aby aplikacja pomagała przy wyszukiwaniu parkingu, implementujesz GET_PARKING_FACILITY BII. Możesz też wdrożyćGET_CHARGING_STATION BII, aby ułatwić użytkownikom stacji ładowania samochodów.

  • W jaki sposób aplikacja powinna spełniać poszczególne intencje?

    Aplikacja wykonuje żądanie głosowe, uruchamiając się na odpowiednim ekranu. Akcje w aplikacji udostępniają realizację przy użyciu parametrów wyodrębnionych z: aby dostosować swoją odpowiedź do potrzeb użytkownika.

Integrowanie akcji w aplikacji

Po określeniu strategii realizacji zamówień wykonaj te czynności, aby włączyć głosowe aplikacja do Twojego samochodu:

  1. Otwórz główne działanie AndroidManifest.xml i zadeklaruj, że obsługujesz Androida. skrótów. Aby zadeklarować Asystenta, używasz capability elementów skrótów BII obsługiwane przez aplikację. Więcej informacji: Dodaj uprawnienia.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. Następnie dodaj element <intent-filter> do AndroidManifest.xml. Ten umożliwia Asystentowi używanie precyzyjnych linków do łączenia się z treściami aplikacji.

    • W przypadku realizacji transakcji dotyczącej Androida Auto <intent-filter> jest taki sam jak aplikacji mobilnej.

    • W przypadku systemu operacyjnego Android Automotive uruchamia się sesja CarAppService aplikacji Asystent. Aby umożliwić sesji wywoływanie precyzyjnego linku, podaj w nim element <intent-filter> w elemencie <activity> elementu AndroidManifest.xml.

    <!-- AndroidManifest.xml -->
    <activity
      ...
      android:name="androidx.car.app.activity.CarAppActivity">
      ...
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data
            android:scheme="YOUR_SCHEME"
            android:host="YOUR_HOST" />
      </intent-filter>
    </activity>
    
  3. Jeśli nie masz jeszcze pliku shortcuts.xml, res/xml aplikacji utwórz nowy katalog. Informacje o sposobie korzystania z akcji w aplikacji Skróty na Androida znajdziesz w sekcji Tworzenie skrótów.xml.

    W narzędziu shortcuts.xml zaimplementuj capability dla wybranego typu BII. Następnie dodaj zagnieżdżoną właściwość <intent>, aby określić realizację aplikacji.

    <!-- shortcuts.xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    
      <capability android:name="actions.intent.GET_PARKING_FACILITY">
        <intent>
          <url-template
          android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}">
    
          <!-- Facility name, e.g. "Googleplex" -->
          <parameter
            android:name="parkingFacility.name"
            android:key="name"/>
          <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" -->
          <parameter
            android:name="parkingFacility.address"
            android:key="address"/>
          <!-- Disambiguate the type of service, e.g. "valet" -->
          <parameter
            android:name="parkingFacility.disambiguatingDescription"
            android:key="disambiguatingDescription"/>
          <!-- Latitude, e.g. "37.3861" -->
          <parameter
            android:name="parkingFacility.geo.latitude"
            android:key="latitude"/>
          <!-- Longitude, e.g. "-122.084" -->
          <parameter
            android:name="parkingFacility.geo.longitude"
            android:key="longitude"/>
        </intent>
      </capability>
    </shortcuts>
    
  4. Na koniec zaktualizuj funkcje logiczne Session() aplikacji samochodu, aby obsługiwała przychodzącą aplikację Realizacja działań. Poniższe przykłady pokazują obsługę intencji Session.onCreateScreen() i Session.onNewIntent().

    onCreateScreen(),

    Kotlin

    @Override
    fun onCreateScreen(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
      ...
     }
    }

    Java

    @Override
    public Screen onCreateScreen(@NonNull Intent intent) {
    if (intent.getData() != null) {
      Uri uri = intent.getData();
      // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
      // Build your Templates with parsed uri parameters
    ...
    }
    }

    onNewIntent()

    Kotlin

    @Override
    fun onNewIntent(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
          ...
      }
    }

    Java

    @Override
    public void onNewIntent(@NonNull Intent intent) {
    if (intent.getData() != null) {
     Uri uri = intent.getData();
     // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
     // Build your Templates with parsed uri parameters
     ...
    }
    }

Wyświetlanie podglądu, testowanie i publikowanie aplikacji

Akcje w aplikacji udostępniają narzędzia do podglądu i testowania aplikacji. Odwiedź Działania w aplikacji z omówieniem, gdzie znajdziesz informacje o tym narzędziu, a także szczegóły Jak opublikować aplikację samochodu z obsługą głosu w Sklepie Play.