Uygulama içi işlevselliğinizi ve buna karşılık gelen yerleşik niyetinizi belirledikten sonra
(BII) tanımlayarak işlevlerinizin desteklediği BBI'ları beyan edin.
shortcuts.xml
kaynak dosyasında capability
öğesi. BII beyan etme
capability
, uygulamanızdaki bu anlamsal niyeti desteklediğini gösterir ve
Google Asistan kullanılarak amacın sesli sorguyla yerine getirilmesini sağlar.
Asistan, bir kullanıcıdan parametreleri ayıklamak için doğal dil işlemeyi kullanır
emin olun. Yerleşik intents referansı, her bir BII'nin etkinleştirildiği alanları listeler.
ilişkilendirilmiş bir kullanıcı sorgusundan çıkarma özelliğine sahip. Örneğin, bir kullanıcı
uygulamanızda actions.intent.ORDER_MENU_ITEM
özelliğini çağırarak
"Ok Google, OrnekApp'te ExampleCafe'den pizza sipariş et", Asistan
kullanıcı isteğinden aşağıdaki BII parametrelerini ayıklar:
menuItem.name
= "pizza"menuItem.inMenuSection.inMenu.forRestaurant.name
= "ExampleCafe"
Asistan, BII parametrelerini şurada tanımlanan sipariş karşılamaya intent
iletir:
capability
. Bir veya daha fazla intent
öğesi,
kullanıcının BII'yi çağırmak için kullanabileceği farklı yollara uyum sağlar. Örneğin,
intent
yukarıdaki örneğe bakın. Ardından, tek bir BII gerektiren ikinci bir amaç tanımlayabilirsiniz.
yakındaki restoran seçeneklerini gösteren menuItem.name
parametresi
"Ok Google, ExampleApp'te pizza sipariş edin" gibi daha basit bir istek yapar.
Genel Bakış
Uygulama İşlemleri'ni, uygulamanıza yerleştirilmiş bir shortcuts.xml
dosyası kullanarak yapılandırırsınız
projenin res/xml
dizinini tarayıp shortcuts.xml
için bir referans oluşturma
uygulama manifestinizde. Uygulama manifestinize shortcuts.xml
referansı ekleyin
şu adımları uygulayarak:
Uygulamanızın manifest dosyasında (
AndroidManifest.xml
), intent filtreleri,android.intent.action.MAIN
işlemine veandroid.intent.category.LAUNCHER
kategorisi.AndroidManifest.xml
dilindeshortcuts.xml
için referans ekleyin:Activity
içinde amacı olan<meta-data>
etiketiMAIN
veLAUNCHER
için filtreleri aşağıdaki gibi görürsünüz:<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Yukarıdaki örnekte xml/shortcuts.xml
dosyası için
APK'dır. Kısayolları yapılandırmayla ilgili daha fazla bilgi için bkz.
Android geliştirici dokümanlarında statik kısayollar oluşturun.
Jetpack kitaplığı androidx.core:core:1.6.0
Derleme hatalarını önlemek için Android projenizde (veya üzeri) gerekir
shortcuts.xml
ürününde Uygulama İşlemleri özellikleri tanımlanır. Ayrıntılar için bkz.
Android Jetpack'i kullanmaya başlama.
Statik kısayollar
capability
öğenizi tanımlarken, statik shortcut
öğelerinizi
Özelliğin işlevselliğini genişletmek için shortcuts.xml
. Statik kısayollar
Google Play Console'a bir sürüm yüklediğinizde Asistan tarafından beslenir.
Statik kısayollar yalnızca yeni sürümler oluşturarak oluşturulup güncellenebileceği için
en çok, uygulamanızdaki yaygın etkinlikleri ve içerikleri vurgulamak açısından yararlıdır.
Aşağıdaki Uygulama İşlemleri işlevlerini statik kısayollarla etkinleştirebilirsiniz:
Özellik kısayolları. Önceden tanımlanmış
intent
parametre değerleri içerencapability
. Örneğin, "Koşu başlat" gibi bir uygulama kısayolu tanımlayabilirsiniz. kodu çağıran Fitness uygulamanızdaSTART_EXERCISE
BII özelliği.Bu kısayollar
intent
,shortLabel
velongLabel
özelliklerini içeriyor. proaktif olarak chip olarak önerilmeye ve yerine getirilmeye uygun olmalarını sağlar. Asistan gibi yüzeylerde veya Android'de bir uygulama simgesine uzun basıldığında başlatıcılar. İşlem kısayolu aynı zamanda bir öğe kısayolu olarak da kullanılabilir ve kullanarak bircapability
ile ilişkilendirerek<capability-binding>
etiketi.Varlık kısayolları. Varlık kısayolları, desteklenen parametrelerin listesini sağlar
capability
işlevinin sesli sorgu yerine getirilmesiyle ilgili değerler. Örneğin,exercise.name
BII parametresiSTART_EXERCISE
olanağı sunar. Bir kullanıcının söyledikleri bir varlıkla eşleşirseshortcutId
kimliği ham kullanıcı sorgu değeri yerine amaca geçirilir.Entity
kısayollarıintent
,shortLabel
veyalongLabel
öğelerini tanımlamaz özellikleridir ve bu nedenle proaktif platformlarda önerilmez. Örneğin, Uygulama İşlemleri için satır içi envanter bölümünü inceleyin.
Özellik Şeması
Aşağıdaki tabloda capability
öğeleri için Uygulama İşlemleri şeması açıklanmaktadır
shortcuts.xml
içinde. Bir etiket eklenirken etiketin tüm özellikleri gereklidir
yalnızca "isteğe bağlı" olarak işaretlenmemiştir.
Kısayollar.xml etiketi | İçinde bulunduğu yer: | Özellikler |
---|---|---|
<capability> |
<shortcuts> |
|
<intent> |
<capability> |
|
<url-template> |
<intent> |
|
<extra> |
<intent> |
Yalnızca ön plan uygulama çağrısı için geçerlidir |
<parameter> |
<intent> |
|
<data> |
<parameter> |
android:pathPattern (yalnızca web envanteri için geçerlidir) |
<shortcut-fulfillment> |
<capability> |
Yalnızca satır içi envanter için geçerlidir |
<parameter> |
<shortcut-fulfillment> |
android:name |
<slice> |
<capability> |
Yalnızca Android Dilimleri için geçerlidir |
Özellik şeması açıklaması
Bu bölümde capability
şema öğeleri açıklanmaktadır.
<capability>
Uygulamanızın desteklediği uygulama işlemi amacını tanımlayan bir capability
. Her biri
shortcuts.xml
dosyanızdaki <capability>
öğesi en az bir öğe sağlamalıdır
İşlemin gerçekleştirilmesi için <intent>
.
Özellikler:
android:name
: Yerleşik intent İşlem kimliği (örneğin,actions.intent.CREATE_TAXI_RESERVATION
) ekleyebilirsiniz. Desteklenenler listesi için yerleşik amaçlar için yerleşik intent referansına bakın.app:queryPatterns
: belirleyecek olan kişidir. Bu özellik yalnızca özel amaçları için de kullanıcıların yapmaya çalıştıkları görevleri veya bilgileri yardımcı oluyor.
<niyet>
Kullanıcı sorgusunun nasıl olması gerektiğini tanımlayan Android intent
öğesi
yerine getirilir. Geliştiriciler birden fazla <intent>
sağlayabilir
bir capability
etiketidir. Asistan, kullanıcı sorgusunu
tüm gerekli parametrelerin capability
içinde yer aldığı ilk <intent>
sağlar.
Özellikler:
android:action
: amaçAction
türü. Varsayılan olarakACTION_VIEW
değerine ayarlanır.android:targetClass
: Hedef Etkinlik sınıfı, örneğin:"com.example.food.OrderActivity"
android:targetPackage
: Şunun için hedef Etkinlik sınıfını içeren paket: örnek:"com.example.food"
android:data
:<url-template>
, bu alanın üzerine yazıldı (bu etiketintent
içinde tanımlanmışsa).
<url-şablonu>
ile derin bağlantı URI'sı oluşturmak için şablon açılmış olmalıdır. Şablon, yerleşik amaçla genişletilebilir parametrelerini parametre olarak ayarlayın. Örneğin, örneklerini görmek için URL şablonları hakkındaki Wikipedia makalesi. İlgili içeriği oluşturmak için kullanılan şablon biçimi, RFC6570 URI şablon spesifikasyonuna uyar.
Aşağıda, URL şablonu değerlerine ilişkin bazı örnekler verilmiştir:
Şablon | Değerler | Genişletilmiş değer |
---|---|---|
https://example.com/test{?foo,bar} |
"foo": "123"
|
https://example.com/test?foo=123&bar=456 |
https://example.com/test?utm_campaign=appactions{&foo,bar} |
"foo": "123"
|
https://example.com/test?utm_campaign=appactions&foo=123&bar=456 |
https://example.com/test?utm_campaign=appactions{#foo} |
"foo": "123" |
https://example.com/test?utm_campaign=appactions#foo=123 |
myapp://example/{foo} |
"foo": "123" |
myapp://example/123 |
URL şablonlarını yapılandırma hakkında daha fazla bilgi için Sipariş karşılamadaki URL şablonları.
<ekstra>
intent
için ek verileri tanımlar. Uygulama İşlemleri için bu alan yalnızca şu amaçlarla kullanılır:
bir capability
için ön plan uygulama çağrısını etkinleştirin.
<parametre>
BII parametrelerini intent parametresi değerleriyle eşler. Daha fazla bilgi için bkz. Parametre verileri ve eşleştirme.
Özellikler:
android:name
: Buintent
ile ilişkilendirilecek BII parametresinin adı parametresinden sonra bir değer girin. Ad, BII parametresinin yaprak düzeyinde alanı olmalıdır ( örnek,foodObservation.aboutFood.name
).android:key
: BII parametre değerinin geliştirici tarafından tanımlanan anahtarı. Örneğin,message.recipient.name
BII içincontact_name
tanımlayabilirsiniz parametresinden sonra bir değer girin.android:mimeType
: Parametrenin mimeType'ı (ör.text/*
). Bu alanı yalnızca özel amaçların parametreleri için gereklidir.android:required
: Kullanıcı sorgusunun bunu içermesi gerekip gerekmediğini belirtir parametresini kullanın. Parametre kullanılabilir durumdaysa Asistan, kullanıcı sorgusunu sonrakicapability
içinintent
tanımlandı.
<veri>
Web envanterini bir parameter
ile ilişkilendirir.
Özellik:
android:pathPattern
: Aşağıdaki URL'ler kullanılarak döndürülecekentity
URL için URL kalıbı web envanteridir. Bu özellik iki joker karakteri destekler:*
: Yıldız işareti, karakteri ekleyin..*
: Ardından, yıldız işareti gelen nokta, sıfır veya daha fazla karakter.Kod dışına alma karakterleri yalnızca
*
ve\
için gereklidir. sırasıyla\\*
ve\\\\
olarak çıkış yapabilir.
<shortcut-fulfillment>
Bir için satır içi envanter kısayolunda tanımlanan bir intent
belirtilen parametre sipariş karşılama için kullanılır.
Ayrıntılı bilgi için Kısayol niyetlerini kullanarak karşılama başlıklı makaleyi inceleyin.
<parametre> (<shortcut-fulfillment>
için)
Tek bir BII parametresini satır içi envanterle eşleyen isteğe bağlı özellik kısayol yerine getirme. Ayrıntılı bilgi için Kısayol niyetlerini kullanarak karşılama başlıklı makaleyi inceleyin.
Özellik:
android:name
: Satır içi envanterle ilişkilendirilecek BII parametresinin adı kısayol yerine getirme. Bu ad, BII'nin yaprak düzeyinde bir alanı olmalıdır. parametresi (örneğin,menuItem.name
) ekleyebilirsiniz.
<dilim>
Asistan'ın bu capability
ile eşleşen sorgunun sonucunu şu şekilde yerleştirmesini sağlar:
bir Android Dilimi. Ayrıntılar için bkz.
Uygulama İşlemleri'ni Android Dilimleri ile entegre edin.
Kısayol şeması
Aşağıdaki tabloda, şunlar için kullanılan shortcut
öğelerinin özellikleri açıklanmaktadır:
Uygulama İşlemleri işlevini etkinleştirin. Bir etiketi eklerken etiketin tüm özellikleri
"isteğe bağlı" olarak işaretlenmediği sürece gereklidir.
Kısayollar.xml etiketi | İçinde bulunduğu yer: | Özellikler |
---|---|---|
<shortcut> |
<shortcuts> |
|
<intent> |
<shortcut> |
|
<capability-binding> |
|
|
<parameter-binding> |
<capability-binding> |
|
<extra> |
<shortcut> |
Yalnızca Enum parametresi eşleştirme için geçerlidir. |
Kısayol şeması açıklaması
Bu bölümde shortcut
şema öğeleri açıklanmaktadır.
<kısayol>
shortcuts.xml
içinde tanımlanmış, belirli özelliklere sahip bir Android <shortcut>
Google Trendler'i kullanabilirsiniz. shortcutShortLabel
için dize değerleri
ve shortcutLongLabel
alanlarına APK'nın
dize kaynakları.
Özellikler:
android:shortcutId
: Bu kısayolun tanımlayıcısı.android:shortcutShortLabel
: Kısa bir kısayolu temsil eden dize kaynağı kelime öbeğini ekleyin. Örneğin, "Çağrı" değerini temsil eden"@string/callDavidShort"
Davut.”android:shortcutLongLabel
: Uzun bir kısayolu temsil eden dize kaynağı kelime öbeğini ekleyin. Örneğin,"@string/callDavidLong"
" Davut'u ara."
<niyet>
Bu kısayolla ilişkili Android amacı. Bu intent
, bir
kullanıcı ses veya dokunma işlevini kullanarak bu kısayolu başlatır.
shortcut
intent özellikleri, capability
intent
ile aynı
özellikleri hakkında daha fazla bilgi edinin.
<capability-binding>
shortcut
öğesini bir Uygulama İşlemleri capability
ile ilişkilendirir. Bu öğe şuraya eklendiğinde:
shortcut
, Assistant
kullanarak sesli karşılama için bu işlevi etkinleştirir.
Özellikler:
android:key
: Bucapability
içinandroid:name
özelliğishortcut
bağlı. Örneğin,actions.intent.CREATE_TAXI_RESERVATION
<parametre-bağlama>
shortcut
öğesini bir uygulamanın tek bir parametresiyle ilişkilendiren isteğe bağlı özellik
İşlemler capability
. shortcut
için parameter-binding
tanımlanırsa
kısayolu, bir BII parametresine satır içi envanter varlığı sağlamak için kullanılabilir.
Daha fazla bilgi için Uygulama İşlemleri için satır içi envanter bölümüne bakın.
Özellikler:
android:key
: İlişkilendirilecekcapability
BII parametresinin adı için bu kısayolu kullanın. Örneğin,foodObservation.aboutFood.name
.android:value
:entity
değeri. Bu, tek birentity
veya bir kaynak listesidir.
<ekstra>
Kısayol için extra
grubu verileri. Yalnızca sameAs verisi bulunur
Uygulama İşlemleri shortcut
öğeleriyle ilgili. sameAs URL'si bir
varlığı açık bir şekilde tanımlayan bir referans web sayfası olmalıdır. Bir
intent parametresi türü şunun bir alt türüyse enum değeri:
schema.org/Enumeration adresine gidin. Parametre alanları için zorunludur.
türleri schema.org/Enumeration
alt türleri olan (örneğin:
MealTypeBreakfast
) ekleyebilirsiniz.
Özellikler:
android:key
: Uygulama İşlemleri için desteklenen değer:sameAs
android:value
:sameAs
URL değeri
Daha fazla bilgi için Numaralanmış parametre değerlerini eşleştirme bölümüne bakın.
Niyet karşılama seçenekleri
Asistan'ın nasıl çalıştığını açıklamak için bir <capability>
içinde intent
öğeleri tanımlarsınız
Söz konusu özellikle eşleşen kullanıcının sesli komutlarına yanıt verdiğinde veya bunları yerine getirdiğinde. Orada
intent
öğesinin bir sipariş karşılama hedefini başlatma şeklini yapılandırmanın birkaç yoludur
veya uygulamanızda gezinmenin nasıl yapılandırıldığına bağlı olarak.
Aşağıdaki sipariş karşılama seçenekleri kullanılabilir:
Uygunsuz niyetler:
intent
içintargetClass
vetargetPackage
özellikleri. Bu, önerilen Uygulama İşlemleri yerine getirme yöntemidir.Derin bağlantılar: Android derin bağlantılarını kullanarak uygulama hedeflerini tanımlamak
intent
öğesi içinde bir<url-template>
etiketi. Bu yöntemi, uygulamanızda gezinme zaten derin bağlantılara dayanıyorsa yararlıdır.Intent verileri:
intent
içinde bir istek karşılama URI'si sağlayabilirsinizandroid:data
özelliği için de bir değer olabilir.<url-template>
verileri bu alanın üzerine yazıldı (bu etiketintent
içinde de tanımlanmışsa).
Parametre verileri ve eşleştirme
Varsayılan olarak Asistan, kullanıcı sorgusundan çıkarılan BII parametrelerini hesabınıza gönderir.
uygulaması, capability
içinde tanımlanan Android intent
extra
verileri olarak kullanılır.
Alternatif olarak <url-template>
etiketini
Dinamik parametreler için yer tutucular içeren capability
. Bu şablon
Uygulama Bağlantıları URL'si kullanarak Android etkinliklerinizden biriyle eşlendiğinde
özel şema veya Amaç tabanlı URL.
Amaç Ekstralarını kullanma
Aşağıdaki örnekte, capability
için tanımlanmış açık bir amaç gösterilmektedir
sipariş karşılama:
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name" android:key="menu" />
</intent>
</capability>
Yukarıdaki örneğe göre "Ok Google, şuradan bir latte sipariş et:
ÖrnekApp"e ayarlanırsa uygulama, bileşeni çağıran bir intent
alır:
targetPackage
, targetClass
. Bileşen,
key = ”menu”
, value = ”latte”
.
Android derin bağlantıları için URL şablonu kullanma
Uygulamanız, dinamik parametrelerle uygulamaya bağlı URL'leri işleyebiliyorsa
Android oluşturmak için intent
içinde bir <url-template>
tanımlayabilirsiniz
derin bağlantılar üzerinden çalışın. Aşağıdaki örnek bir <url-template>
tanımlar:
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent>
<url-template android:value="myapp://order{?menu}" />
<parameter android:name="menuItem.name" android:key="menu" />
</intent>
</capability>
Yukarıdaki örneğe göre "Ok Google, latte sipariş et exampleApp"ten), uygulama, oluşturulan URL'yi alır: "uygulamam://order?menu=latte".
BII parametresini URL'nizdeki bir konumla eşlemek için
<parameter>
etiketinin android:name
özelliği. Bu özellik
URL şablonundaki android:key
değerine karşılık gelir
kullanıcının bilgileri ile değiştirin. android:key
değeri bulunmalıdır
<url-template>
ve süslü ayraçlar ({}
) ile eklendi.
Numaralı parametre değerlerini eşleştir
Bazı BII parametreleri,
Örneğin, RECORD_FOOD_OBSERVATION
BII'nin desteklenen metin değerleri. Örneğin,
bu parametrelerin önüne geçerseniz Asistan, kullanıcının sorgusunu ("Kahvaltı")
sameAs
değeri, numaralandırma şeması URL'siyle eşleşen varlık
(https://schema.googleapis.com/MealTypeBreakfast
). Sıralamayı ilişkilendirmek için
desteklenen bir entity
için değerlerine göre bir sameAs
ilişkilendirmesi beyan ederseniz
shortcut
cihazınız. Aşağıdaki örnekte bir için sameAs
ilişkilendirmesi gösterilmektedir
satır içi varlık kısayolu:
<shortcut android:shortcutId="meal_breakfast" >
<capability-binding android:key="actions.intent.RECORD_FOOD_OBSERVATION">
<parameter-binding android:key="foodObservation.forMeal" />
</capability-binding>
<extra
android:key="sameAs"
android:value="http://schema.googleapis.com/MealTypeBreakfast" />
</shortcut>
<capability android:name="actions.intent.RECORD_FOOD_OBSERVATION">
<intent targetPackage="com.example.app" targetClass="com.example.app.Class">
<parameter android:name="foodObservation.forMeal" android:key="for_meal" />
</intent>
</capability>
Yukarıdaki örnekte, RECORD_FOOD_OBSERVATION
özelliği bir
"kahvaltı" için eşleşme bir öğün türü ile birlikte aşağıdaki Ekstra
intent
numaralı sipariş karşılama:
key = "for_meal"
value = "meal_breakfast"
Özellikler
shortcuts.xml
uygulamasında aşağıdaki Uygulama İşlemleri özellikleri kullanılabilir.
Uygulama İşlemleri için satır içi envanter
Bazı BII parametrelerinde öğelere yön vermek için kısayollar kullanılabilir
shortcuts.xml
içinde belirtilen, desteklenen bir dizi öğeye ayıklama işlemi
satır içi envanter. Ayrıntılar için Satır içi envanter bölümüne bakın.
Uygulama İşlemleri için web envanteri
Bazı BBI'ler için web envanterini kullanarak istek karşılama için URL'ler oluşturmaktır. Web envanteri, web sitenizi kullanarak Uygulama İşlemini gerçekleştirmek için URL'ler. Bu özelliğin en çok faydası bilinen ya da Güçlü web varlığı ve uygulama içi derin bağlantılarınız herkese açık olarak düzenlenir mevcut web içeriği.
Ayrıntılar için Web envanteri bölümüne bakın.
Özel amaçlar
Özel amaçlar, aşağıdaki dillerde özellikleri etkinleştirmek için shortcuts.xml
dilinde tanımlanabilir:
emin olun. Şu açıdan benzer olsa da:
işlevi görmek için, özel amaçlar için iki ek
shortcuts.xml
özellikleri:
app:queryPatterns
: sorgu kalıplarından nasıl yararlanabileceğinizi öğrenebilirsiniz.android:mimeType
: Özel amacın parametre türü. Bu alan Parametre türünün bilindiği BBI'ler için gerekli değildir. Özel amaç için desteklenen bir anlamsal türü bildirilmelidir.
Daha fazla bilgi için Özel amaçlar başlıklı makaleyi inceleyin.