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:
- Statik kısayollar oluşturma başlıklı makaledeki talimatları uygulayarak bir
shortcuts.xml
kaynağı oluşturun. 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'sindeAction 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ınextra
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 parametresiexercise.name
için destek ve kullanıcıdan toplanan parametre değerininintent
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.