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:
- Statik kısayollar oluşturma bölümündeki talimatları uygulayarak
shortcuts.xml
kaynağı oluşturun. 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
öğesiniactions.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 parametresininexercise.name
desteklendiğini ve kullanıcıdan toplanan parametre değerininintent
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.