Kısayollara özellik ekleme

shortcuts.xml içindeki özellikler, kullanıcıların uygulamanızı başlatmak ve belirli bir görevi doğrudan gerçekleştirmek için gerçekleştirebilecekleri işlem türlerini bildirmenizi sağlar.

Örneğin, Google Asistan Uygulama İşlemleri, geliştiricilerin uygulama içi özellikleri yerleşik amaçlara (BII'ler) genişletmesine olanak tanır. Böylece kullanıcılar, sesli komutları kullanarak bu özellikleri etkinleştirip kontrol edebilir. Özellik, işlemin adı ve uygulamanızdaki kullanıcı amacını çözümleyen hedefi hedefleyen bir intent değerinden oluşur.

shortcuts.xml dosyasında özellikleri tanımlayın

capability öğelerini Android uygulama geliştirme projenizdeki bir shortcuts.xml kaynak dosyasında tanımlarsınız. Bir capability öğesi tanımlamak için aşağıdakileri yapın:

  1. Statik kısayollar oluşturma bölümündeki talimatları uygulayarak bir shortcuts.xml kaynağı oluşturun.
  2. Aşağıdaki gerekli bilgileri kendi kapasitenize dahil edin:

    • Yetenek adı: Uygulamanızın desteklemesini istediğiniz işlem. Yetenek tanımlarını gerektiren özellik için bileşen belgelerine bakın. Uygulama İşlemleri sesli komutlarında, özellik adları için BII Action ID kullanılır. Bunları BII referansında bulabilirsiniz. Örneğin, GET_THING BII'de Action ID değeri actions.intent.GET_THING olarak listelenir.

    • Uygulama hedefi: Kullanıcı isteğini karşılamak için işlemin uygulamanızda başlatıldığı hedef. capability içine yerleştirilmiş intent öğelerini kullanarak uygulama hedeflerini tanımlayın.

    • Parametre eşlemeleri: Her intent, amacın extra verisi olarak iletilecek parametreler içerebilir. Örneğin, her bir Uygulama İşlemi BII'de, kullanıcıların BII'yi tetikleyen sorgularda sıklıkla sağladığı bilgileri temsil eden alanlar bulunur.

Aşağıdaki örnekte, kullanıcıların fitness uygulamasında antrenmana başlamak için Asistan ile sesli komutları kullanmalarına olanak tanıyan actions.intent.START_EXERCISE adlı BII için shortcuts.xml dilinde bir özellik tanımı gösterilmektedir:

<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="com.example.sampleApp"
      android:targetClass="com.example.sampleApp.ExerciseActivity">
      <parameter
        android:name="exercise.name"
        android:key="exerciseType"/>
    </intent>
  </capability>
</shortcuts>

Yukarıdaki örnekte <capability> android:name özelliği, START_EXERCISE BII'yi belirtir. Bir kullanıcı Asistan'a "Ok Google, ExampleApp'te çalıştırma başlat" diyerek bu BII'yi çağırırsa Asistan, iç içe yerleştirilmiş intent öğesinde sağlanan bilgileri kullanarak kullanıcı isteğini yerine getirir. Bu örnekteki intent aşağıdaki ayrıntıları tanımlamaktadır:

  • android:targetPackage, bu amaç için hedef uygulama paketini ayarlar.
  • android:targetClass alanı, hedef etkinliği belirtir: com.example.sampleApp.ExerciseActivity.
  • parameter amacı, exercise.name BII parametresini desteklediğini ve kullanıcıdan toplanan parametre değerinin intent içinde ekstra veri olarak nasıl iletileceğini açıklar.

Kısayolları bir özellikle ilişkilendirme

Bir özelliği tanımladıktan sonra, statik veya dinamik kısayolları ilişkilendirerek işlevselliğini genişletebilirsiniz. Kısayolların bir capability öğesine bağlanma şekli, uygulanmakta olan özelliğe ve kullanıcının isteğindeki gerçek kelimelere bağlıdır. Örneğin, bir kullanıcı fitness takip uygulamanızda Asistan'a "Ok Google, ExampleApp'te koşu başlat" diyerek koşuya başladığında. Asistan, kısayol kullanarak exercise.name parametresi için "run" geçerli bir egzersiz varlığını tanımlayan capability örneğini başlatabilir.

Kısayolları Uygulama İşlemleri ile ilişkilendirme hakkında daha fazla bilgi için Uygulama İşlemlerine genel bakış konusuna bakın.