Kısayollara özellik ekleme

shortcuts.xml'teki özellikler, kullanıcıların uygulamanızı başlatmak ve doğrudan belirli bir görevi gerçekleştirmek için yapabileceği işlem türlerini belirtmenize olanak tanır.

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

kısayol.xml dosyasında özellikleri tanımlayın

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

  1. Statik kısayollar oluşturma başlıklı makaledeki talimatları uygulayarak bir shortcuts.xml kaynağı oluşturun.
  2. Yeteneğinize aşağıdaki gerekli bilgileri ekleyin:

    • Yetenek adı: Uygulamanızın desteklemesini istediğiniz işlem. Özellik tanımları gerektiren özelliğin bileşen dokümanlarına bakın. Uygulama İşlemleri'nde sesle etkinleştirilen komutlar, özellik adları için BII Action ID'yi kullanır. Bunu BII referansında bulabilirsiniz. Örneğin, GET_THING BII'sinde Action ID, actions.intent.GET_THING olarak listelenir.

    • Uygulama hedefi: Kullanıcı isteğini yerine getirmek için işlemin başlattığı uygulamadaki hedef. capability içine yerleştirilmiş intent öğelerini kullanarak uygulama hedeflerini tanımlayın.

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

Aşağıdaki örnekte actions.intent.START_EXERCISE için shortcuts.xml dilindeki bir özellik tanımı gösterilmektedir. Bu BII, kullanıcıların fitness uygulamasında antrenmana başlamak için Asistan'la sesli komutları kullanmasına izin verir:

<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>

Önceki örnekte <capability> android:name özelliği START_EXERCISE BII'yi ifade etmektedir. Bir kullanıcı, Asistan'a "Hey Google, ExampleApp'te bir koşu 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ımlar:

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

Kısayolların bir özellikle ilişkilendirilmesi

Bir özelliği tanımladıktan sonra statik veya dinamik kısayollar bağlayarak işlevini genişletebilirsiniz. Kısayolların capability ile bağlantısı, uygulanan özelliğe ve kullanıcının isteğinde yer alan gerçek kelimelere bağlıdır. Örneğin, bir kullanıcı fitness izleme uygulamanızda koşu yapmaya Asistan'a "Ok Google, ExampleApp'te koşu başlat" diyerek başlar. Asistan, exercise.name parametresi için "run" değerine sahip geçerli bir egzersiz öğesi tanımlayan bir capability örneğini başlatmak üzere kısayol kullanabilir.

Kısayolları Uygulama İşlemleri ile ilişkilendirme hakkında daha fazla bilgi için Uygulama İşlemleri'ne genel bakış başlıklı makaleyi inceleyin.