Uygulama İşlemleri sayesinde kullanıcılar söyleyerek doğrudan uygulamanızın içeriğine atlayabilirler. "Ok Google, ExampleApp'te Three Dot Cafe'nin menüsünü göster" gibi şeyler. Derin bağlantı adı verilen bu işlev, kullanıcıların uygulamanızla işlerini tamamlamalarına yardımcı olur.
Google Asistan bu tür istekleri yerine getirmek için şuna derin bağlantı oluşturur: eşleşen içerik hakkında bilgi edindiniz. Web sitenizi aktif olarak içerik veya ürün bilgilerini sağlamalısınız ve uygulama içi derin bağlantılarınız herkese açık web içeriğinde işlem yapmak için URL'leri getirecek şekilde yapılandırabilirsiniz. sipariş karşılama işlemi gerçekleştirebilirsiniz.
Web envanteri, desteklenen öğe URL'lerinin web sitesi konumudur.
elde edebilirsiniz. Kullanıcı uygulama işleminizi çağırdığında Asistan, kullanıcıyla eşleşir
"Üç Nokta Kafe" gibi bir sorguyla Google arama dizinindeki ilgili URL'lere
Android uygulamanız için shortcuts.xml
bölümünde belirttiğiniz web sitesinin.
Avantajlar
Web envanteri, hem büyük hem de düzenli olarak güncellenen içerik listelerine sahip uygulamalar için kullanıcıların uygulamada görüntülediği veya sipariş ettiği öğeler:
Web envanteri verileri, satır içi envanter verilerinin aksine web sitenizde yer alır. depolayan Google Fotoğraflar'a erişebilir. Asistan'ın web verilerine erişmesine izin vermek yalnızca şunlar tarafından güncellenebilecek eski satır içi envanter verileri riskini uygulamanın yeni bir sürümünü yayınlamak.
Satır içi envanterler 1.000 öğeyle sınırlıdır. Öte yandan web envanteri, sınırsızdır ve ihtiyaçlarınıza göre büyüyebilir.
Web envanteri, sipariş karşılamanın yalnızca web sitenizden alınan öngörülebilir içerik URL'lerini işleme alabilir. Buna karşın envanter yapılandırılmadığında Asistan, intent parametrelerini bir URL şablonundaki değişkenlerle eşleyerek istek karşılama. Sizin Karşılama Kullanıcının uygulamanızda desteklenen bir varlık isteyip istemediğini belirleyebilirsiniz.
İşleyiş şekli
Uygulama İşlemi sırasında Asistan, yerleşik uygulama üzerinden uygulama içeriğine derin bağlantı verir
shortcuts.xml
içinde tanımladığınız amaçlar (BII'ler). Asistan doğal dil kullanır
Kullanıcının isteğindeki alakalı öğeleri tespit etmek ve bunları çıkarmak için
dönüştürülebilir. Ardından Asistan, bu parametreleri kullanarak
shortcuts.xml.
hizmetindeki sipariş karşılama yapılandırmanıza göre
Sipariş karşılama için derin bağlantı oluşturmanın üç yöntemi vardır:
- Parametre eşleme: Amaç parametrelerini sipariş karşılama URL'si şablonu.
- Satır içi envanter: Amaç parametrelerini desteklenenler listesiyle eşleştirir
entities
uygulamada tanımlandı. - Web envanteri: Amaç parametrelerini bir web sitesinin Google arama dizini.
Web envanteri, geliştirici tarafından tanımlanan bir web sitesi URL'si kalıbıdır.
https://www.exampleapp.com/restaurants/.*
gibi bir varlık grubunu temsil eder
Google Analytics 4'te tarama yapar.
Web envanteri için BII parametresi yapılandırılmışsa Asistan
Kullanıcı sorgusuyla bir öğe eşleştirmesi yapmak için web sitesini sorgular. Asistan, ardından
yapılandırılmış URL kalıbıyla eşleşen URL sonuçlarını aktarır (örneğin,
https://www.exampleapp.com/restaurants/three-dot-cafe
, karşılama isteğinize.
![](https://developer.android.google.cn/static/guide/app-actions/images/web-inventory-flow.png?authuser=19&hl=tr)
Desteklenen yerleşik amaçlar
Web envanteri, belirli amaç parametreleri için aşağıdakiler tarafından desteklenir. BBI'ler:
- [
actions.intent.CREATE_REVIEW
] - [
actions.intent.GET_NEWS_ARTICLE
] - [
actions.intent.GET_REVIEW
] - [
actions.intent.GET_THING
] - [
actions.intent.ORDER_MENU_ITEM
] - [
actions.intent.GET_EXERCISE_PLAN
] - [
actions.intent.GET_DIGITAL_DOCUMENT
] - [
actions.intent.GET_ITEM_LIST
] - [
actions.intent.GET_OFFER
] - [
actions.intent.CREATE_OFFER
] - [
actions.intent.GET_PRODUCT
] - [
actions.intent.UPDATE_CART
] - [
actions.intent.CREATE_SOCIAL_MEDIA_CONNECTION
] - [
actions.intent.GET_IMAGE_OBJECT
] - [
actions.intent.GET_SOCIAL_MEDIA_POSTING
] - [
actions.intent.GET_SOCIAL_MEDIA_PROFILE
] - [
actions.intent.CREATE_TAXI_RESERVATION
] - [
actions.intent.CREATE_FLIGHT_RESERVATION
] - [
actions.intent.CREATE_LODGING_RESERVATION
] - [
actions.intent.GET_LOCAL_BUSINESS
] - [
actions.intent.GET_RESERVATION
] - [
actions.intent.UPDATE_RESERVATION
]
Web envanteri ekle
Desteklenen bir BII'yi belirledikten sonra
Web sitenizle ilgili ayrıntıları içeren shortcuts.xml
. shortcuts.xml
dosyası bir
Bu kaynak, Android projenizde
işletmenizle eşlenen BBI'ları tanımladığınız,
her BII'nin uygulamanız için derin bağlantıları nasıl oluşturması gerektiğini ve
yardımcı olur. shortcuts.xml
hakkında daha fazla bilgi edinmek için Kısayollar.xml oluşturma başlıklı makaleyi inceleyin.
Desteklenen bir BII için web envanterini kullanmak istiyorsanız şu adımları uygulayın:
Uygulamanızın
shortcuts.xml
dosyasına bir<capability>
etiketi ekleyin veandroid:name
özelliği, kullandığınız BII'nin adına ayarlanır. web envanteri, örneğin:actions.intent.ORDER_MENU_ITEM
.<capability>
etiketine,android:action
içeren bir<intent>
etiketi ekleyin. özelliği, bu amaç tarafından etkinleştirilecek görünümün adına göre ayarlanmış olmalıdır.Aynı
<intent>
etiketine bir<parameter>
etiketi ekleyin ve En yakın karşılık gelen BII parametresineandroid:name
özelliği web sayfalarınızın açıkladığı varlıkla ilişkilendirilmesi gerekir. Örneğin, ekip üyelerindeORDER_MENU_ITEM
için web envanteri kullanıyorsanız menü sayfalarınımenuItem.name
.Yeni
<parameter>
etiketine<data>
etiketi ekleyin veandroid:pathPattern
özelliğini, istediğiniz yolun URL kalıbına ekleyin web envanteri için kullanın.
Bu adımları kullanarak shortcuts.xml
uygulamasını yapılandırdığınızda Asistan şunları yapabilir:
oluşturduğunuz URL kalıbının Google arama dizininden web içeriği alma
android:pathPattern
özelliğinde sunulur. Asistan bir URL sağlar
değeri karşıladığınız URL yolu kalıbıyla eşleşen sonuçları kullanarak
tanımlanmıştır. Ardından, uygulamanız, ziyaret edilen kullanıcıya göre kullanıcıyı uygulamanızdaki belirli bir yere yönlendirir.
Google Asistan tarafından sağlanan URL verileri.
Örneğin, web sitenizde URL yolu kullanan ürün listelemeleri bulunuyor
https://www.examplecafe.com/items/
ile başlıyor. pathPattern
kullanıyorsunuz
https://www.examplecafe.com/items/.*
değerini kullanır ve Asistan bu URL'yi kullanır
bir sipariş karşılama URL'si bulmak için web aramasında
https://www.examplecafe.com/items/item123
.
Asistan, eşleşen bir web envanteri URL'si bulursa bunu
<data>
alanı (bu bir derin bağlantıymış gibi görünür). Şunu kullanın:
getData()
yöntemini kullanarak URL'yi bir Uri
nesnesi olarak alabilirsiniz. Uygulama etkinliği,
Kullanıcı, URL'yi yorumlamaktan ve
uygun uygulama kullanıcı arayüzü.
Örnek kısayollar.xml
Aşağıdaki örnekte ORDER_MENU_ITEM
BII tanımlanır ve
içeren istekler için URL sonuçlarını döndürecek bir web envanteri sağlar:
menuItem.name
BII parametresi:
<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<!-- Define URL match pattern in the pathPattern data field -->
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*"/>
</parameter>
</intent>
</capability>
</shortcuts>
Yukarıdaki örnekte menuItem.name
,pathPattern
Asistan'a yalnızca URL kalıbıyla eşleşen URL'leri döndürmesi talimatını verir:
https://www.examplecafe.com/items/.*
Web envanterini destekleyen diğer shortcuts.xml
BII örneği:
referans belgelerinde bulabilirsiniz.
Eksik sonuçlar için yedek işleme
Web envanteri sonuçlarının gönderiminize döndürülmediği durumlarda uygulamanız, işlemi en iyi şekilde gerçekleştirmek için yedek mantık ne kadar iyi karşıladığını görebileceksiniz. Eksik sonuçlara neden olan durumlar şunlardır:
- Amaç parametresi eksik: Kullanıcı, sorgu veya Asistan, kullanıcıdaki parametreyi anlamadı isteğinde bulunabilirsiniz.
- Eksik URL sonucu: Asistan, kullanıcı sorgusuyla eşleşen web sitesidir.
Birden fazla <intent>
tanımlayarak eksik parametre değerlerini ele alabilirsiniz.
unsurlarına sahip olmanızı sağlar. Asistan ilk amacı yerine getiremezse
bir sonraki amaca geri döner ve bu şekilde devam eder.
Yedek amaçlar parametre gerektirmemelidir. Bunun yerine daha genel bir derin bağlantıyla (ör. arama sonuçları sayfasında) sonuç elde eder.
Aşağıdaki shortcuts.xml
örneğinde ORDER_MENU_ITEM
BII
iki karşılamayı tanımlar: İlki, menuItem.name
öğesinden bir URL bekler
parametresinden sonra bir değer girin. İkincisi ise herhangi bir parametre gerektirmez ve kullanıcıyı,
menü öğelerini tıklayın.
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*"/>
</parameter>
</intent>
<!-- Fallback intent with no required parameters -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ViewMenuActivity">
<url-template android:value="myapp://app.examplecafe.com/menu/all-items" />
</intent>
</capability>
Bir web envanteri URL'sinin döndürülmediği durumlarda, kullanıcının içeriği sorgusu, yedek amaçlarda (örneğin, Görüntülü Reklam Ağı araması yapmak için) kullanılmaya devam edebilir. sonuç.
Aşağıdaki shortcuts.xml
örneğinde iki intent öğesi tanımlanmış:
- İlki,
menuItem.name
içinden bir web envanteri derin bağlantısı gerektirir parametresinden sonra bir değer girin. - Derin bağlantı döndürülmezse ikinci amaç, aramayı
menuItem.name
sorgusu kullanılarak oluşturulur.
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*" />
</parameter>
</intent>
<!-- Fallback intent displaying search results, using "menuItem.name" -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.SearchMenuActivity">
<parameter-mapping android:name="menuItem.name" android:key="food" />
<url-template android:value="https://www.examplecafe.com/search?q={?food}" />
</intent>
</capability>
Web envanteriyle uygulama içi arama özelliği ekleyin
Web'i birleştirerek kullanıcıların uygulamanızda web içeriği aramalarına olanak tanıyabilirsiniz
actions.intent.GET\_THING
BII uygulamasıyla envanter oluşturabilirsiniz.
Bu BII, varsayılan uygulama içi aramayı kullanarak içerik veya varlık arar.
"Ok Google, şelale yürüyüşlerini göster" gibi sorguları etkinleştirebilir.
SampleApp'te." thing.name
özelliği için web envanterini yapılandırarak
GET_THING
BII tarafından iletilen parametreyle eşleşen öğe sonuçları,
web sitesi sipariş karşılama için iletilir.
Web envanteri shortcuts.xml
örnekleri için GET\_THING
BII referansına bakın.
Web envanterini test etme
BII karşılama için bir web envanteri tanımladığınızda Asistan,
Tanımladığınız urlTemplate
kalıbıyla eşleşen web sonuçlarını kullanan derin bağlantı
belirtilen BII parametresine ayarlanır. Web envanteri sonucu bulunamazsa Asistan
yedek amacınızın urlTemplate
kalıbıyla eşleşen bir URL oluşturur. Siz
web envanteri uygulamanızı test edebilir. Bunun için, Asistan'ın
sağlayan, web envanterinizin urlTemplate
kalıplarıyla eşleşen URL'lerdir.
Aşağıdaki ORDER_MENU_ITEM
BII örneğinde Asistan, web envanteri oluşturur.
Şu koşulda belirtilen urlFilter
kalıbıyla eşleşen sipariş karşılama bağlantıları:
menuItem.name
parametresi, örneğin:
https://www.examplecafe.com/items/nuggets
. İkinci intent ise
menuItem.name
ve ilk intent,
URL kalıbı.
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<!-- web inventory fulfillment -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*" />
</parameter>
</intent>
<!-- search intent -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MenuSearchActivity">
<parameter-mapping android:name="menuItem.name" android:key="food" />
<url-template android:value="https://www.examplecafe.com/search?q={?food}" />
</intent>
</capability>
Web envanterini fiziksel veya sanal bir cihazda test etmek için Uygulama İşlemleri Test Aracı'nı kullanın olanak tanır.
Test aracını kullanmak için aşağıdaki adımları izleyin:
- Test cihazınızı, çalışan uygulamanıza bağlayın.
- Android Studio'da Araçlar > Uygulama İşlemleri > Uygulama İşlemleri Testi aracını kullanın.
- Önizleme oluştur'u tıklayın.
- Android Studio'da, uygulamanızı test cihazınızda çalıştırın.
- Uygulama İşleminizi test etmek için test cihazınızdaki Asistan uygulamasını kullanın. Örneğin, "Ok Google, OrnekCafe'de çörek sipariş et" gibi bir şey diyebilirsin.
- Aşağıdaki işlemler için uygulamanızın davranışını gözlemleyin veya Android Studio hata ayıklayıcısını kullanın: istenen eylem sonucunu doğrulayabilirsiniz.