בעזרת 'פעולות באפליקציה', המשתמשים יכולים לדלג ישירות לתוכן של האפליקציה על ידי אמירת למשל: "Hey Google, show me the menu for Three Dot Cafe ב-ExampleApp". הפונקציונליות הזו נקראת קישורי עומק, והיא יכולה לעזור לכם למשתמשים כדי לבצע משימות באפליקציה.
כדי למלא בקשה מהסוג הזה, Google Assistant יוצרת קישור עומק אל לתוכן תואם באפליקציה. אם אתם מתחזקים את האתר באופן פעיל על התוכן או על המוצרים, וקישורי העומק בתוך האפליקציה מאורגנים לפי את התוכן הציבורי הזה מהאינטרנט, אפשר להגדיר ש-Assistant תאחזר כתובות URL לצורך פעולה מילוי הזמנות מהאתר באמצעות מלאי באינטרנט.
מלאי שטחי פרסום באינטרנט הוא מיקום האתר של כתובות ה-URL של הפריטים שנתמכות
על ידי האפליקציה. כשמשתמש מפעיל את הפעולה באפליקציה, Assistant מתאימה את המשתמש
שאילתה, כמו "Three Dot Cafe", לכתובות ה-URL התואמות באינדקס החיפוש של Google
של האתר שציינתם בshortcuts.xml
לאפליקציה ל-Android.
יתרונות
מלאי באינטרנט מציע יתרונות לאפליקציות עם רשימות גדולות שמתעדכנות באופן קבוע פריטים שהמשתמשים צופים בהם או מזמינים אותם באפליקציה:
נתוני מלאי באינטרנט נמצאים באתר שלכם, בשונה מנתוני מלאי מוטבע, שבו נשמרים רשימות פריטים באפליקציה. כדי להימנע ממתן גישה ל-Assistant לנתוני האינטרנט, קיים סיכון לנתוני מלאי לא פעילים מוטבעים, שאפשר לעדכן רק עד לפרסם גרסה חדשה של האפליקציה.
רשימות מלאי מוגבלות ל-1,000 פריטים. לעומת זאת, מלאי באינטרנט אין מגבלת פריטים, והוא יכול לגדול בהתאם לצרכים שלך.
מלאי שטחי פרסום באינטרנט יכול לפשט את הלוגיקה של האפליקציה, כי הוא מאפשר למילוי ההזמנות רק תטפל בכתובות URL צפויות של תוכן שאוחזרו מהאתר שלכם. לעומת זאת, אם לא מוגדר מלאי שטחי פרסום, Assistant יוצרת קישורי עומק בשביל מילוי הזמנות על ידי מיפוי פרמטרים של Intent למשתנים בתבנית של כתובת URL. שלך לאחר מכן צריך לנתח את כתובת ה-URL הזו שנוצרת באופן דינמי, לקבוע אם משתמש ביקש ישות נתמכת באפליקציה שלכם.
איך זה עובד
במהלך פעולה באפליקציה, Assistant יוצרת קישורי עומק שמפנים לתוכן של האפליקציה דרך
ה-Intents (BII) שמגדירים ב-shortcuts.xml
. Assistant משתמשת בשפה טבעית
מתבצע עיבוד כדי לזהות את הפריטים הרלוונטיים בבקשה של המשתמש ולחלץ אותם
לפרמטרים של BII. לאחר מכן, Assistant יוצרת קישור עומק באמצעות הפרמטרים,
על סמך הגדרת האספקה שלך בshortcuts.xml.
יש שלוש שיטות ליצירת קישורי עומק למילוי הזמנות:
- מיפוי פרמטרים: פרמטרים של Intent במפות Google ל-placeholders תבנית לכתובת URL של מילוי הזמנות.
- מלאי שטחי פרסום מוטבע: התאמה של פרמטרים של Intent לרשימה של ערכות נתמכות
הוגדר
entities
באפליקציה. - מלאי שטחי פרסום באינטרנט: התאמה בין פרמטרים של Intent לתוכן שנמצא אינדקס החיפוש של Google.
מלאי באינטרנט הוא דפוס כתובת אתר שהמפתח מגדיר,
כמו https://www.exampleapp.com/restaurants/.*
, שמייצג קבוצת ישויות של
של ישויות שהאפליקציה תומכת בהן.
אם מוגדר פרמטר BII למלאי שטחי פרסום באינטרנט, Assistant
שולח שאילתה לאתר כדי לבצע התאמת ישות לשאילתת המשתמש. אחר כך Assistant
מעבירה תוצאות של כתובות URL שתואמות לדפוס כתובת ה-URL שהוגדר, כמו
https://www.exampleapp.com/restaurants/three-dot-cafe
, למילוי ההזמנות.
![](https://developer.android.com/static/guide/app-actions/images/web-inventory-flow.png?authuser=0000&hl=he)
אובייקטים מובנים של Intent נתמכים
יש תמיכה במלאי שטחי פרסום באינטרנט עבור פרמטרים מסוימים של Intent, לפי הכללים הבאים: מזהי BII:
- [
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
]
הוספה של מלאי באינטרנט
אחרי שמזהים BII נתמך, מפעילים אותו למלאי באינטרנט על ידי עדכון
shortcuts.xml
עם פרטים על האתר שלך. הקובץ shortcuts.xml
הוא
בפרויקט Android שבו אתם מגדירים את ה-BII שממפה
הפונקציונליות של האפליקציה ובאופן שבו כל BII צריך ליצור קישורי עומק לאפליקציה
למלא. למידע נוסף על shortcuts.xml
, אפשר לעיין במאמר יצירת shortcuts.xml.
כדי להשתמש במלאי באינטרנט עבור BII נתמך, פועלים לפי השלבים הבאים:
בקובץ
shortcuts.xml
של האפליקציה, מוסיפים את התג<capability>
עם מאפייןandroid:name
שמוגדר לשם ה-BII שאיתו מטפלים מלאי באינטרנט, לדוגמה:actions.intent.ORDER_MENU_ITEM
.בתג
<capability>
, מוסיפים את התג<intent>
עםandroid:action
מוגדר לשם התצוגה שתופעל על ידי Intent זה.באותו תג
<intent>
, מוסיפים תג<parameter>
ומגדירים אותוandroid:name
לפרמטר BII התואם ביותר לישות המתוארת על ידי דפי האינטרנט שלכם. לדוגמה, כשמספקים מלאי באינטרנט עבורORDER_MENU_ITEM
, עליך לקשר דפי תפריט אלmenuItem.name
בתג
<parameter>
החדש, מוסיפים תג<data>
ומגדירים אותוandroid:pathPattern
לתבנית כתובת ה-URL של הנתיב שרוצים שישמשו למלאי באינטרנט.
אם מגדירים את shortcuts.xml
באמצעות השלבים האלה, Assistant תוכל
לאחזר תוכן מהאינטרנט מאינדקס חיפוש Google של תבנית כתובת ה-URL
שצוינו במאפיין android:pathPattern
. לאחר מכן Assistant מספקת כתובת URL
של מילוי ההזמנות באמצעות התוצאות שתואמות לתבנית נתיב כתובת ה-URL שאתם
מוגדר. לאחר מכן האפליקציה מפנה את המשתמשים למקום ספציפי באפליקציה
בנתוני כתובת ה-URL ש-Assistant סיפקה.
לדוגמה, האתר שלך כולל כרטיסי מוצר שנעשה בהם שימוש בנתיב כתובת URL
שמתחיל ב-https://www.examplecafe.com/items/
. אתם משתמשים ב-pathPattern
בערך https://www.examplecafe.com/items/.*
, ו-Assistant משתמשת בכתובת ה-URL הזו
בחיפוש באינטרנט כדי למצוא כתובת URL של מילוי הזמנה, כמו
https://www.examplecafe.com/items/item123
.
אם Assistant תמצא כתובת URL תואמת של מלאי שטחי הפרסום באינטרנט, היא תספק את כתובת ה-URL
השדה <data>
של הכוונה למילוי הזמנות, כאילו היה קישור עומק. משתמשים ב
getData()
של ה-Intent לקבלת כתובת ה-URL כאובייקט Uri
. הפעילות באפליקציה
מקבל את הכוונה והוא אחראי לפרש את כתובת ה-URL ולהפעיל
ממשק המשתמש המתאים של האפליקציה.
דוגמה: shortcuts.xml
בדוגמה הבאה מוגדר BII של ORDER_MENU_ITEM
מספק מלאי באינטרנט כדי להחזיר תוצאות של כתובות URL עבור בקשות שמכילות
פרמטר BII menuItem.name
:
<?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>
בדוגמה שלמעלה צוין pathPattern
עבור menuItem.name
,
מורה ל-Assistant להחזיר רק כתובות URL שתואמות לתבנית ה-URL:
https://www.examplecafe.com/items/.*
דוגמאות נוספות של BII שתומכות במלאי שטחי פרסום של shortcuts.xml
במאמרי העזרה.
טיפול בחלופה לתוצאות חסרות
במצבים שבהם תוצאות של מלאי שטחי הפרסום באינטרנט לא מוחזרות למילוי הזמנות, עליך להטמיע לוגיקה חלופית באפליקציה כדי לבצע את הפעולה בצורה הטובה ביותר בחוויית המשתמש. מצבים שגורמים לתוצאות חסרות:
- פרמטר Intent חסר: המשתמש השמט פרמטר נדרש ב או ש-Assistant לא הבינו את הפרמטר במשתמש בקשה.
- תוצאה של כתובת URL חסרה: Assistant לא מצאה ישות האתר שתואם לשאילתת המשתמש.
כדי לטפל בערכי פרמטרים חסרים, אפשר להגדיר מספר <intent>
ליכולת. אם Assistant לא יכולה למלא את הכוונה הראשונה,
חוזר לכוונה הבאה, וכן הלאה.
אסור להגדיר פרמטרים של Intent חלופי. במקום זאת, להשיג את היכולת באמצעות קישור עומק כללי יותר, כמו הצגת חיפוש תוצאות עבור שאילתת המשתמש.
בדוגמה הבאה shortcuts.xml
, ה-BII של ORDER_MENU_ITEM
מגדיר שתי מילוי הזמנות: הראשונה מצפה לכתובת אתר מהשדה menuItem.name
הפרמטר. ברמה השנייה לא נדרשים פרמטרים, כך שהמערכת מנתבת את המשתמש לדף
כל האפשרויות בתפריט.
<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>
במצבים שבהם לא מוחזרת כתובת URL של מלאי באינטרנט, התוכן של המשתמש עדיין ניתן להשתמש בשאילתה באובייקטים חלופיים, לדוגמה להצגת חיפוש תוצאות.
בדוגמה הבאה shortcuts.xml
, מוגדרים שני רכיבי Intent:
- באפשרות הראשונה נדרש קישור עומק למלאי באינטרנט דרך
menuItem.name
הפרמטר. - אם לא מוחזר קישור עומק, ה-Intent השני יציג חיפוש
תוצאות, באמצעות שאילתת המשתמש מ-
menuItem.name
, אם קיימת.
<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>
הוספת חיפוש בתוך האפליקציה באמצעות מלאי באינטרנט
אפשר לאפשר למשתמשים לחפש תוכן מהאינטרנט באפליקציה על ידי שילוב דפי אינטרנט
מלאי שטחי פרסום עם יישום של ה-BII של actions.intent.GET\_THING
.
ה-BII הזה מחפש תוכן או ישויות באמצעות החיפוש שמוגדר כברירת מחדל בתוך האפליקציה
תכונה באפליקציה, כדי להפעיל שאילתות כמו: "Hey Google, show me see me takes. "
ב-SampleApp". על ידי הגדרת מלאי באינטרנט ליכולת של thing.name
שמועבר על ידי ה-BII GET_THING
, תוצאות של ישות תואמת
מועברים למילוי הזמנות.
לעיון בדוגמאות של shortcuts.xml
במלאי באינטרנט, אפשר לעיין בחומר העזר בנושא BII של GET\_THING
.
בדיקה של מלאי שטחי הפרסום באינטרנט
כשמגדירים מלאי באינטרנט למילוי הזמנות BII, מערכת Assistant יוצרת
קישור עומק באמצעות תוצאות אינטרנט שתואמות לדפוס urlTemplate
שהגדרת עבור
בפרמטר ה-BII שצוין. אם לא נמצאה תוצאה של מלאי שטחי הפרסום באינטרנט, Assistant
יוצרת כתובת URL שתואמת לדפוס urlTemplate
של הכוונה החלופית. שלך
יכול לבדוק את ההטמעה של מלאי שטחי הפרסום באינטרנט על ידי אימות הקישורים ש-Assistant
שמספקות כתובות URL שתואמות לדפוסי urlTemplate
של מלאי שטחי הפרסום שלך באינטרנט.
בדוגמה הבאה של BII של ORDER_MENU_ITEM
, Assistant יוצרת מלאי באינטרנט
קישורים למילוי הזמנות שתואמים לדפוס urlFilter
שצוין
menuItem.name
, לדוגמה:
https://www.examplecafe.com/items/nuggets
הכוונה השנייה לוקחת את הערך של
menuItem.name
ומבצע חיפוש אם הכוונה הראשונה לא תואמת
תבנית URL.
<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>
אפשר להשתמש בכלי הבדיקה של פעולות באפליקציה כדי לבדוק מלאי שטחי פרסום באינטרנט בחנות פיזית או וירטואלית. במכשיר.
כדי להשתמש בכלי הבדיקה, צריך לבצע את השלבים הבאים:
- מחברים את מכשיר הבדיקה לאפליקציה שפועלת.
- ב-Android Studio, עוברים אל כלים > פעולות באפליקציה > בדיקת פעולות באפליקציה כלי.
- לוחצים על יצירת תצוגה מקדימה.
- ב-Android Studio, מריצים את האפליקציה במכשיר הבדיקה.
- צריך להשתמש באפליקציית Assistant במכשיר הבדיקה כדי לבדוק את הפעולה באפליקציה. עבור למשל, אפשר להגיד "Ok Google, order nuggets on ExampleCafe".
- חשוב לבדוק את התנהגות האפליקציה או להשתמש בכלי לניפוי באגים ב-Android Studio כדי מאמתים את התוצאה של הפעולה הרצויה.