Kısayollara özellik ekleme

shortcuts.xml'daki ö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 beyan etmenize olanak tanır.

Örneğin, Google Asistan Uygulama İşlemleri, geliştiricilerin uygulama içi özellikleri yerleşik amaçlara (BII) genişletmesine olanak tanıyan özellikler kullanır. Bu sayede kullanıcılar, söz konusu özellikleri sesli komutlarla etkinleştirebilir ve kontrol edebilir. Bir özellik, işlemin adından ve kullanıcı amacını karşılayan uygulamanızdaki hedefi intent hedefleyen bir öğeden oluşur.

shortcuts.xml dosyasında özellikleri tanımlama

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. Create static shortcuts (Statik kısayollar oluşturma) bölümündeki talimatları uygulayarak shortcuts.xml kaynağı oluşturun.
  2. Yeterliliğinize aşağıdaki zorunlu bilgileri ekleyin:

    • Özellik adı: Uygulamanızın desteklemesini istediğiniz işlem. Yeterlilik tanımları gerektiren özellik için bileşen belgelerine bakın. Uygulama İşlemleri'nin sesli komutlarında, BII referansında bulabileceğiniz BII Action ID kullanılır. Örneğin, GET_THING BII, Action ID öğesini actions.intent.GET_THING olarak listeler.

    • Uygulama hedefi: Kullanıcı isteğini karşılamak için işlemin başlatıldığı uygulamanızdaki hedef. capability içinde 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 İşlemi Bİİ'si, kullanıcıların Bİİ'yi tetikleyen sorgularda sık sık sağladığı bilgileri temsil eden alanlar içerir.

Aşağıdaki örnekte, shortcuts.xml içinde bir yetenek tanımı gösterilmektedir. Bu tanım, kullanıcıların fitness uygulamasında egzersiz başlatmak için Asistan ile sözlü komutlar kullanmasına olanak tanıyan bir BII olan actions.intent.START_EXERCISE içindir:

<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. Kullanıcı, Asistan'a "Hey Google, ExampleApp'te koşu başlat" diye sorarak 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.
  • Amaç parameter, bir BII parametresinin exercise.name desteklendiğini ve kullanıcıdan toplanan parametre değerinin intent içinde nasıl ek veri olarak iletileceğini belirtir.

Kısayolları bir özellikle ilişkilendirme

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

Kısayolları uygulama işlemleriyle ilişkilendirme hakkında daha fazla bilgi için Uygulama İşlemlerine genel bakış başlıklı makaleyi inceleyin.