باستخدام ميزة "مهامّ في التطبيقات"، يمكن للمستخدمين الانتقال مباشرةً إلى محتوى تطبيقك بقول إجراءات مثل "Ok Google، أريد الاطّلاع على قائمة مطعم Three Dot Cafe على ExampleApp" ويُطلق على هذه الوظيفة اسم الربط بصفحة معيّنة، ويمكن أن تسهّل على المستخدمين لإنجاز المهام باستخدام تطبيقك.
ولتلبية هذا النوع من الطلبات، ينشئ "مساعد Google" رابطًا لصفحة في التطبيق المحتوى المطابق في تطبيقك. إذا كنت تقوم بصيانة موقع الويب الخاص بك باستخدام عن المحتوى أو المنتج، ويتم تنظيم الروابط لمواضع معيّنة داخل التطبيق حول محتوى الويب العلني هذا، يمكنك إعداد "مساعد Google" لجلب عناوين URL للعمل توصيل الطلبات من موقعك الإلكتروني باستخدام المستودع الإعلاني على الإنترنت.
المستودع الإعلاني على الويب هو الموقع الجغرافي الذي يضم عناوين URL الخاصة بالسلع المتوافقة.
حسب تطبيقك. عندما يستدعي أحد المستخدمين إجراء التطبيق الخاص بك، يطابق "مساعد Google" المستخدم
لطلب البحث، مثل "مطعم 3 من المطاعم"، بعناوين URL المقابلة في فهرس "بحث Google"
للموقع الإلكتروني الذي تحدّده في shortcuts.xml
لتطبيق Android.
المزايا
يقدم مستودع الويب مزايا للتطبيقات التي تتضمن قوائم كبيرة يتم تحديثها بانتظام من السلع التي يشاهدها المستخدمون أو يطلبونها في التطبيق:
تتوفّر بيانات مستودع الويب على موقعك الإلكتروني، على عكس بيانات المستودع المضمّن. التي تخزِّن قوائم السلع في تطبيقك يؤدي السماح لخدمة "مساعد Google" بالوصول إلى بيانات الويب إلى تجنُّب خطر بيانات المستودع المضمنة القديمة، والتي لا يمكن تحديثها إلا من خلال نشر إصدار جديد من التطبيق.
يقتصر المستودع المضمّن على 1,000 سلعة. في المقابل، يوفّر مستودع الويب ليس له حد أقصى للسلع، ويمكن أن يزداد وفقًا لاحتياجاتك.
يمكن لمستودع المساحات المتوفّرة على الويب تبسيط المنطق في التطبيق من خلال السماح بتنفيذ الإجراءات التالية التعامل مع عناوين URL للمحتوى المتنبأ بها التي يتم استردادها من موقعك الإلكتروني. على النقيض، إذا لم يتم ضبط مستودع إعلاني، ينشئ "مساعد Google" روابط لصفحات في التطبيق التنفيذ من خلال ربط معلَمات الغرض بالمتغيّرات في نموذج عنوان URL. سيحتاج التنفيذ بعد ذلك إلى تحليل عنوان URL الذي تم إنشاؤه ديناميكيًا لتحديد ما إذا كان المستخدم قد طلب الحصول على جهة متوافقة في تطبيقك
آلية العمل
أثناء تنفيذ أحد الإجراءات على التطبيق، يضيف "مساعد Google" روابط لصفحات في التطبيق من خلال
الأهداف (BII) التي تحدّدها في shortcuts.xml
. يستخدم "مساعد Google" لغة طبيعية
قيد المعالجة لتحديد العناصر ذات الصلة في طلب المستخدم واستخراجها
إلى معلمات BII. ينشئ "مساعد Google" بعد ذلك رابطًا لصفحة في التطبيق باستخدام المعلمات،
استنادًا إلى إعدادات توصيل الطلب في shortcuts.xml.
تتوفّر ثلاث طرق لإنشاء روابط لصفحات معيّنة في التطبيق:
- ربط المَعلمات: يربط مَعلمات الأهداف بالعناصر النائبة في نموذج عنوان URL الخاص بتوفير المركبات
- مستودع مضمّن: تتم مطابقة مَعلمات الأهداف مع قائمة من السمات المتوافقة.
تم تحديد
entities
في التطبيق. - مستودع الويب: يطابق معلَمات intent مع المحتوى الذي تم العثور عليه في موقع إلكتروني. فهرس بحث Google.
مستودع الويب هو نمط عنوان URL لموقع ويب يحدده المطوّر،
مثل https://www.exampleapp.com/restaurants/.*
، التي تمثل مجموعة كيانات
والكيانات التي يدعمها التطبيق.
في حال ضبط مَعلمة BII للمستودع الإعلاني على الإنترنت، يمكن لخدمة "مساعد Google"
الموقع الإلكتروني لتنفيذ مطابقة كيان مع طلب بحث المستخدم. مساعد Google إذًا
يمرّر نتائج عناوين URL التي تتطابق مع نمط عنوان URL الذي تم ضبطه، مثل
https://www.exampleapp.com/restaurants/three-dot-cafe
، في طلبك.
![](https://developer.android.com/static/guide/app-actions/images/web-inventory-flow.png?authuser=9&hl=ar)
الأهداف المضمّنة المتوافقة
يتوفّر مستودع الويب لبعض معلَمات الأهداف من خلال ما يلي: معرّفات 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>
نفسها، أضِف العلامة<parameter>
واضبطها.android:name
إلى المعلمة BII التي تتطابق بشكل وثيق إلى الكيان الموصوف في صفحات الويب. على سبيل المثال، عند تقديم المستودع الإعلاني على الويب لخدمةORDER_MENU_ITEM
، عليك ربط صفحات القوائمmenuItem.name
في علامة
<parameter>
الجديدة، أضِف العلامة<data>
واضبطها.android:pathPattern
إلى نمط عنوان URL للمسار الذي تريد استخدامها لمستودع الويب.
عند ضبط "shortcuts.xml
" باتّباع هذه الخطوات، يستطيع "مساعد Google" تنفيذ ما يلي:
استرداد محتوى الويب من فهرس بحث Google لنمط عنوان URL الذي
الواردة في السمة android:pathPattern
يوفّر "مساعد Google" بعد ذلك عنوان URL.
إلى التنفيذ باستخدام النتائج التي تتطابق مع نمط مسار عنوان URL الذي
محددة. بعد ذلك يوجّه تطبيقك إلى مكان محدّد في تطبيقك استنادًا إلى
على بيانات عنوان URL التي يقدمها "مساعد Google"
على سبيل المثال، يحتوي موقعك الإلكتروني على بيانات منتجات تستخدم مسار عنوان URL.
تبدأ بـ https://www.examplecafe.com/items/
. أنت تستخدم pathPattern
القيمة https://www.examplecafe.com/items/.*
، وسيستخدم "مساعد Google" عنوان URL هذا
نمط في بحث الويب للعثور على عنوان URL خاص بخدمة التوصيل، مثل
https://www.examplecafe.com/items/item123
إذا عثر "مساعد Google" على عنوان URL مطابق لمستودع الويب، سيقدّم عنوان URL في
<data>
لهدف التنفيذ، كما لو كان رابطًا لصفحة في التطبيق. يمكنك استخدام
getData()
الغرض من الحصول على عنوان URL على أنه كائن Uri
. نشاط التطبيق الذي
المقصودة هي المسئول عن تفسير عنوان URL وتفعيل
واجهة مستخدم التطبيق المناسبة.
مثال على ملف shortcuts.xml
يحدد النموذج التالي دالة ORDER_MENU_ITEM
BII التي
مستودع ويب لعرض نتائج عنوان URL للطلبات التي تحتوي على
مَعلمة menuItem.name
BII:
<?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
،
تُعلم "مساعد Google" بإرجاع عناوين URL التي تتطابق مع نمط عنوان URL فقط:
https://www.examplecafe.com/items/.*
يمكنك الاطّلاع على المزيد من الأمثلة حول shortcuts.xml
على BII التي تتوافق مع المستودع الإعلاني على الويب.
المتاحة في المستندات المرجعية.
التعامل مع الإجراء الاحتياطي للنتائج غير المتوفّرة
في الحالات التي لا يتم فيها ردّ نتائج مستودع الويب إلى البيانات المطلوب توفّرها، يجب على تطبيقك تنفيذ منطق احتياطي لتنفيذ الإجراء بأفضل طريقة تجربة المستخدم. تشمل الحالات التي تتسبّب في عدم ظهور النتائج ما يلي:
- معلمة intent غير موجودة: أغفل المستخدم معلمة متوقعة في طلب البحث أو لم يتمكّن "مساعد Google" من فهم المَعلمة في المستخدم طلبك.
- نتيجة عنوان URL غير متوفّرة: لم يتمكّن "مساعد Google" من العثور على كيان على جهاز موقع الويب الذي يطابق طلب بحث المستخدم.
يمكنك التعامل مع قيم المَعلمات غير المتوفّرة من خلال تحديد سمات <intent>
متعددة.
للعناصر الخاصة بالإمكانية. إذا لم يتمكّن "مساعد Google" من تلبية غايتك الأولى،
إلى الهدف التالي، وهكذا.
يجب ألا تتطلب الأغراض الاحتياطية معلَمات. بدلاً من ذلك، يجب عليه توفير هذه الميزة من خلال رابط أكثر عمومية لصفحات معيّنة في التطبيق، مثل عرض نتائج البحث نتائج استعلام المستخدم.
في النموذج التالي shortcuts.xml
، تم العثور على ORDER_MENU_ITEM
BII
تحدد عمليتي تنفيذ: الأول يتوقع عنوان URL من 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
التالي، تم تحديد عنصرَي هدف:
- يتطلّب الحقل الأول رابطًا لموضع معيّن في مستودع الويب من
menuItem.name
. . - في حال عدم عرض رابط لصفحة في التطبيق، يعرض الغرض الثاني البحث.
باستخدام طلب بحث المستخدم من
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>
إضافة بحث داخل التطبيق باستخدام مستودع الويب
يمكنك السماح للمستخدمين بالبحث عن محتوى الويب في تطبيقك من خلال الجمع بين بيانات الويب
المستودع الإعلاني في حال تنفيذ actions.intent.GET\_THING
BII.
تبحث BII هذه عن المحتوى أو الكيانات باستخدام البحث التلقائي داخل التطبيق.
في أحد التطبيقات، وتتيح طلبات بحث مثل: "Ok Google، أريد الاطّلاع على مسارات المشي في الشلالات"
على SampleApp". من خلال إعداد مستودع الويب لاستخدام ميزة thing.name
التي تم تمريرها من خلال GET_THING
BII، تتطابق مع نتائج الكيان من
من الموقع الإلكتروني للتوصيل.
بالنسبة إلى نماذج shortcuts.xml
لمستودع المواقع الإلكترونية على الويب، يُرجى الاطّلاع على مرجع GET\_THING
BII.
اختبار المستودع الإعلاني على الويب
عند تحديد مستودع على الويب لتنفيذ BII، ينشئ "مساعد Google"
رابط لصفحة في التطبيق باستخدام نتائج ويب تطابق نمط urlTemplate
الذي حددته
معلمة BII المحددة. إذا تعذّر العثور على نتيجة لمستودع المواقع الإلكترونية، سيستخدم "مساعد Google"
عنوان URL يطابق النمط urlTemplate
للغرض الاحتياطي. إِنْتَ
يمكنك اختبار تنفيذ مستودعك الإعلاني على الويب من خلال التحقق من أنّ الروابط التي تعمل على "مساعد Google"
التي توفّرها هي عناوين URL التي تتطابق مع أنماط urlTemplate
لمستودعك على الويب.
في النموذج ORDER_MENU_ITEM
BII التالي، ينشئ "مساعد Google" مستودعًا على الويب.
روابط التنفيذ المطابقة لنمط 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"، انتقِل إلى الأدوات >. الإجراءات في التطبيق > اختبار "مهامّ في التطبيقات" الأداة.
- انقر على إنشاء معاينة.
- في "استوديو Android"، شغِّل تطبيقك على جهاز الاختبار.
- يُرجى استخدام تطبيق "مساعد Google" على الجهاز الاختباري لاختبار إجراء التطبيق. بالنسبة على سبيل المثال، يمكنك قول "Ok Google، أريد طلب ناغتس على ExampleCafe".
- راقِب سلوك تطبيقك أو استخدِم برنامج تصحيح الأخطاء في "استوديو Android" من أجل للتحقق من نتيجة الإجراء المطلوبة.