مستودع الويب

باستخدام ميزة "مهامّ في التطبيقات"، يمكن للمستخدمين الانتقال مباشرةً إلى محتوى تطبيقك بقول إجراءات مثل "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، في طلبك.

الشكل 1. مثال على طلب من "مساعد Google" يستخدم مستودع الويب لاسترداد عنصر كيان مطعم.

الأهداف المضمّنة المتوافقة

يتوفّر مستودع الويب لبعض معلَمات الأهداف من خلال ما يلي: معرّفات 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 متوافق، اتّبِع الخطوات التالية:

  1. في ملف shortcuts.xml لتطبيقك، أضِف علامة <capability> باستخدام سمة android:name مضبوطة على اسم BII الذي تتعامل معه المستودع الإعلاني على الويب، مثل: actions.intent.ORDER_MENU_ITEM.

  2. في العلامة <capability>، أضِف علامة <intent> تحتوي على android:action. تم تعيين السمة على اسم الملف الشخصي الذي سيتم تنشيطه من خلال هذا الغرض.

  3. في العلامة <intent> نفسها، أضِف العلامة <parameter> واضبطها. android:name إلى المعلمة BII التي تتطابق بشكل وثيق إلى الكيان الموصوف في صفحات الويب. على سبيل المثال، عند تقديم المستودع الإعلاني على الويب لخدمة ORDER_MENU_ITEM، عليك ربط صفحات القوائم menuItem.name

  4. في علامة <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 التالي، تم تحديد عنصرَي هدف:

  1. يتطلّب الحقل الأول رابطًا لموضع معيّن في مستودع الويب من menuItem.name. .
  2. في حال عدم عرض رابط لصفحة في التطبيق، يعرض الغرض الثاني البحث. باستخدام طلب بحث المستخدم من 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>

استخدِم أداة اختبار إجراءات التطبيقات لاختبار مستودع الويب على مستوى مادي أو افتراضي. الخاص بك.

لاستخدام أداة الاختبار، اتّبِع الخطوات التالية:

  1. اربط جهاز الاختبار بالتطبيق قيد التشغيل.
  2. في "استوديو Android"، انتقِل إلى الأدوات >. الإجراءات في التطبيق > اختبار "مهامّ في التطبيقات" الأداة.
  3. انقر على إنشاء معاينة.
  4. في "استوديو Android"، شغِّل تطبيقك على جهاز الاختبار.
  5. يُرجى استخدام تطبيق "مساعد Google" على الجهاز الاختباري لاختبار إجراء التطبيق. بالنسبة على سبيل المثال، يمكنك قول "Ok Google، أريد طلب ناغتس على ExampleCafe".
  6. راقِب سلوك تطبيقك أو استخدِم برنامج تصحيح الأخطاء في "استوديو Android" من أجل للتحقق من نتيجة الإجراء المطلوبة.