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 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 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, amaç extra verisi olarak iletilecek parametreler içerebilir. Örneğin, her Uygulama İşlemi BII'si, kullanıcıların BII'yi tetikleyen sorgularda sıkça sağladığı bilgileri temsil eden alanlar içerir.

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

<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 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 örneğini başlatmak için kısayol kullanabilir. Bu örnek, exercise.name parametresi için geçerli bir "koşu" egzersiz öğesini tanımlar.

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