url_handlers

تُستخدَم هذه السمة من قِبل التطبيقات المُجمَّعة لتحديد أنماط عناوين URL التي يريد التطبيق اعتراضها ومعالجتها. ويمكن للتطبيق تحديد معالِجات متعددة لعناوين URL ضمن إدخال البيان هذا، علمًا أنّ كل منها يتضمّن معرِّفًا ونمط عنوان URL وعنوانًا. إليك مثال على كيفية تحديد url_handlers:

"url_handlers": {
  "view_foo_presentation": {
    "matches": [
      "https://www.foo.com/presentation/view/*"
    ],
    "title": "View Foo presentation"
  },
  "view_bar_presentation": {
    "matches": [
      "https://www.bar.com/view/slideshow/*"
    ],
    "title": "View bar presentation"
  },
  "edit_spreadsheet": {
    "matches": [
      "https://www.foo.com/spreadsheet/edit/*",
      "https://www.bar.com/spreadsheet/edit/*"
    ],
    "title": "Edit spreadsheet"
  }
}

لا يمكن للتطبيقات التسجيل إلا للتعامل مع أنماط عناوين URL ضمن النطاقات التي تملكها، أي يمكنها إثبات ملكيتها وفقًا لما تحدّده سوق Chrome الإلكتروني. وسيتم رفض التطبيقات التي تنتهك هذا الشرط ومحاولة التسجيل للتعامل مع عناوين URL الخارجية من خلال "سوق Chrome الإلكتروني" عند تحميلها.

يعني ذلك تلقائيًا أنّه يجب دائمًا تحديد نطاق كامل على الأقل لجميع النماذج ضمن matches. وبخلاف ذلك، لا يمكن إثبات الملكية.

بعد التسجيل والتثبيت بنجاح، سيتم تشغيل تطبيق لجميع عمليات التنقّل المطابقة داخل علامات التبويب في المتصفّح بالإضافة إلى التطبيقات الأخرى. سيتلقّى التطبيق نوعًا جديدًا من حدث app.runtime.onLaunched، مع عنصر launchData الذي يحتوي على معرّف المعالِج المطابق (مثل "view_foo_presentation" أعلاه) وعنوان URL الذي يتم الانتقال إليه وعنوان URL المُحيل.

تم حجز الحقل title لاستخدامه في المستقبل في جميع عناصر واجهة المستخدم ذات الصلة. ويجب أن يصف الإجراء الذي يتخذه التطبيق عند تشغيله باستخدام هذا النوع من معالجات عناوين URL.