Arabalar İçin Uygulama İşlemleri

Sesli kontrol, sürücülerin ellerini kullanmadan görevleri tamamlamalarına olanak tanır dikkatlerini yoldan ayırmasına neden olabilir. Araba uygulamaları için Uygulama İşlemleri sayesinde sürücüler Google Asistan'ı kullanarak bilgi-eğlence sistemindeki Android uygulamalarını kontrol ederek "Ok Google, ExampleApp'te cadde üzerinde park yeri bul" gibi bir şey söylediğinizde.

Uygulama İşlemleri, önemli yer (ÖY) araba uygulamalarıyla çalışır. Bu kılavuzda ele alınan konular: Uygulama İşlemleri'ni ÖY'nize entegre etmeye yönelik belirli koşullar ve sınırlamalar uygulamasını indirin.

İşleyiş şekli

Uygulama İşlemleri, uygulama içi işlevlerinizi Asistan'a genişleterek kullanıcıların şunları yapmasına olanak tanır: seslerini kullanarak uygulama özelliklerine erişebilir. Kullanıcı bir Uygulama İşlemini çağırdığında Asistan, sorguyu uygulamanızın shortcuts.xml kaynak ve istenen ekranda uygulamanızı başlatır.

Android capability öğelerini kullanarak uygulamanızda BBI'leri desteklediğini beyan etmeniz gerekir. Uygulamanızı Google Play Console'u kullanarak yüklediğinizde Google, uygulamanızda beyan edilen ve kullanıcıların bunlara erişebilmesini sağlayan özellikler Google Asistan'dan.

Araba teminini gösteren grafik.

  1. Kullanıcı Asistan'ı tetikler ve belirli bir uygulama için sesli istekte bulunur.
  2. Asistan, isteği önceden eğitilmiş bir modelle (BII) eşleştirir ve BII tarafından desteklenen parametreler.
  3. Bu örnekte Asistan, sorguyu GET_CHARGING_STATION ile eşleştirir. BII, "SFO" konum parametresini çıkarır ve konumu coğrafi koordinatlarını öğrenebilirsiniz.
  4. Uygulama, bu BII'deki yerine getirme tanımı aracılığıyla tetiklenir.
  5. Uygulama, sipariş karşılama işlemini gerçekleştirir ve şurada şarj istasyonu seçeneklerini gösterir: sürücünün bilgi-eğlence sistemi.

Sınırlamalar

Uygulama İşlemleri'nin araba uygulamaları için aşağıdaki sınırlamalar geçerlidir:

Gereksinimler

Araba uygulamanızı Uygulama İşlemleri'ne hazırlamak için aşağıdaki adımları uygulayın:

Niyetinizi ve hedeflerinizi belirleyin

Uygulama İşlemleri ile bir araba uygulamasını sesli olarak etkinleştirmenin ilk adımı, Uygulamanızın hangi kullanıcı sesli komutlarını veya amaçlarını desteklediğini gösterir. Daha sonra uygulamanızın isteği nasıl karşılayacağını belirtmek için her bir amacın yerine getirilmesini sağlar.

  • Araba uygulamanız hangi amaçları destekliyor?

    Uygulama İşlemleri, yerleşik intentler (BII) adı verilen önceden eğitilmiş ses modelleri sunar. Kullanıcı şunu dediğinde sesli komutlarını anlayabilir ve yorumlayabilir: "Ok Google". Sesli isteklere yanıt vermek için Asistan'a beyan etmeniz yeterlidir uygulamanızın desteklediği BBI'leri gösterir. Örneğin, uygulamanızın bir park yeri bulma konusunda, GET_PARKING_FACILITY BBI. Alternatif olarak, kullanıcıların elektrikli elektrik tesisatı bulmasına yardımcı olmak için GET_CHARGING_STATION BII'yi uygulayabilirsiniz. araç şarj istasyonları.

  • Uygulamanız her bir amacı nasıl yerine getirmeli?

    Uygulamanız, kendisini uygun tıklayın. Uygulama İşlemleri, karşılamanız için Böylece, yanıtınızı kullanıcının ihtiyaçlarına göre özelleştirebilirsiniz.

Uygulama İşlemleri'ni entegre etme

Sipariş karşılama stratejinizi belirledikten sonra, sesli etkinleştirme için aşağıdaki adımları uygulayın araba uygulamanız:

  1. AndroidManifest.xml ana etkinliğinizi açıp Android için destek beyan edin kısayollar. Asistan'a bildirmek için capability kısayol öğelerini kullanıyorsunuz uygulamanızın desteklediği BBI'leri gösterir. Daha fazla bilgi için bkz. Özellikler ekleyin.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. Daha sonra, AndroidManifest.xml içine bir <intent-filter> öğesi ekleyin. Bu Asistan'ın, uygulamanızın içeriğine bağlanmak için derin bağlantılar kullanabilmesini sağlar.

    • Android Auto sipariş karşılama için <intent-filter> değeri mobil uygulama.

    • Android Automotive OS için uygulamanızın CarAppService oturumu tetikleyicileri Asistan Bir oturumun derin bağlantınızı tetiklemesine izin vermek için AndroidManifest.xml öğesinin <activity> öğesinde <intent-filter>.

    <!-- 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. Henüz bir shortcuts.xml dosyanız yoksa uygulamanızın res/xml yeni bir dizin oluşturun. Uygulama İşlemleri'nin Android kısayolları için Kısayollar.xml oluşturma bölümüne bakın.

    shortcuts.xml içinde, seçtiğiniz BII için bir capability uygulayın. Sonra, Uygulama istek karşılamayı tanımlamak için iç içe yerleştirilmiş bir <intent> ekleyin.

    <!-- 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. Son olarak, gelen uygulamayı işleyebilmek için araba uygulamanızın Session() mantığını güncelleyin İşlemlerin karşılanması. Aşağıdaki örnekler, Session.onCreateScreen() ve 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
     ...
    }
    }

Uygulamanızı önizleme, test etme ve yayınlama

Uygulama İşlemleri, uygulamanızı önizlemek ve test etmek için araçlar sağlar. Şurayı ziyaret edin: Uygulama İşlemlerine genel bakış, bu araç hakkında bilgi ve sesle etkinleştirilen araç uygulamanızı Play Store'da nasıl yayınlayacağınızı öğrenin.