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 intent'lere (BIIs) genişletmesine olanak tanıyarak kullanıcıların sözlü komutları kullanarak bu özellikleri etkinleştirmesine ve kontrol etmesine olanak tanır. Bir özellik, işlemin adından ve uygulamanızdaki hedefi hedefleyen ve kullanıcı amacını çözen bir intent öğesinden oluşur.

shortcuts.xml dosyasında özellikleri tanımlama

Android uygulama geliştirme projenizdeki 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 sesli komutları, özellik adları için BII Action ID BII referansında bulabileceğiniz BII'yi kullanır. Örneğin, GET_THING BII, Action ID değerini actions.intent.GET_THING olarak listeler.

    • 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, intent'in 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, kullanıcıların bir fitness uygulamasında antrenmana başlamak için Asistan ile sözlü komutlar kullanmasına olanak tanıyan bir BII olan actions.intent.START_EXERCISE için shortcuts.xml'te 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>

Ö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 intent için hedef uygulama paketini belirler.
  • 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.