تنسيق ملف البيان

يجب أن تحتوي كل إضافة على ملف manifest.json في دليلها الجذري الذي تسرد معلومات مهمة حول بنية تلك الإضافة وسلوكها. تشرح هذه الصفحة بنية بيانات الإضافات والميزات التي توفّرها. تضمين البيانات.

أمثلة

توضح الأمثلة التالية الهيكل الأساسي للبيان وبعض الميزات الشائعة الاستخدام كنقطة بداية لإنشاء البيان الخاص بك:

الحد الأدنى من البيان

{
  "manifest_version": 3,
  "name": "Minimal Manifest",
  "version": "1.0.0",
  "description": "A basic example extension with only required keys",
  "icons": {
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
}

تسجيل نص برمجي للمحتوى

{
  "manifest_version": 3,
  "name": "Run script automatically",
  "description": "Runs a script on www.example.com automatically when user installs the extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "content_scripts": [
    {
      "js": [
        "content-script.js"
      ],
      "matches": [
        "http://*.example.com//"
      ]
    }
  ]
}

إدخال نص برمجي للمحتوى

{
  "manifest_version": 3,
  "name": "Click to run",
  "description": "Runs a script when the user clicks the action toolbar icon.",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "service_worker": "service-worker.js"
  },
  "action": {
    "default_icon": {
      "16": "images/icon-16.png",
      "32": "images/icon-32.png",
      "48": "images/icon-48.png",
      "128": "images/icon-128.png"
    }
  },
  "permissions": ["scripting", "activeTab"]
}
{
  "manifest_version": 3,
  "name": "Popup extension that requests permissions",
  "description": "Extension that includes a popup and requests host permissions and storage permissions .",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "host_permissions": [
    "https://*.example.com/"
  ],
  "permissions": [
    "storage"
  ]
}

اللوحة الجانبية

{
  "manifest_version": 3,
  "name": "Side panel extension",
  "version": "1.0",
  "description": "Extension with a default side panel.",
  "icons": {
    "16": "images/icon-16.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": ["sidePanel"]
}

مفاتيح البيان

في ما يلي قائمة بجميع مفاتيح البيان المتوافقة.

المفاتيح التي تطلبها منصة الإضافات

"manifest_version"
عدد صحيح يحدد إصدار تنسيق ملف البيان الذي استخدام الإضافات. ولا يمكن استخدام سوى القيمة 3.
"name"
سلسلة تحدد الإضافة في Chrome Web Store ومربع حوار التثبيت صفحة إضافات Chrome للمستخدم (chrome://extensions). تشير رسالة الأشكال البيانية الحد الأقصى للطول هو 75 حرفًا. لمزيد من المعلومات حول استخدام أسماء خاصة بلغة محلية، راجِع الانتشار على نطاق عالمي.
"version"
سلسلة تحدِّد رقم إصدار الإضافة للحصول على معلومات عن لتنسيق رقم الإصدار، راجِع النسخة.

المفاتيح التي يتطلبها "سوق Chrome الإلكتروني"

"description"
سلسلة تصف الإضافة على كل من "سوق Chrome الإلكتروني" وواجهة برمجة التطبيقات للمستخدم صفحة إدارة الإضافات. ويجب ألّا يزيد عدد الأحرف عن 132 حرفًا. للحصول على معلومات حول أقلمة الأوصاف، يُرجى مراجعة المقالة الانتشار على نطاق عالمي.
"icons"
رمز واحد أو أكثر يمثّل إضافتك للحصول على معلومات عن أفضل الممارسات، راجع الأيقونات.

المفاتيح الاختيارية

"action"
تحديد مظهر رمز الإضافة وسلوكه في محرك بحث Google شريط الأدوات. لمزيد من المعلومات، يُرجى الاطّلاع على chrome.action.
"author"
يحدد عنوان البريد الإلكتروني للحساب الذي تم استخدامه لإنشاء الإضافة
"background"
يحدد هذا الإعداد ملف JavaScript الذي يحتوي على مشغِّل خدمات الإضافة، والذي يعمل كـ معالج حدث. للمزيد من المعلومات، يُرجى الاطّلاع على لمحة عن خدمة الإضافات. العاملين.
"chrome_settings_overrides"
يحدِّد هذا الإعداد إلغاءات إعدادات Chrome المحدّدة. لمزيد من المعلومات، يُرجى مراجعة إلغاء إعدادات Chrome
"chrome_url_overrides"
يحدِّد هذا الإعداد إلغاءات صفحات Chrome التلقائية. لمزيد من المعلومات، يُرجى مراجعة ألغِ صفحات Chrome.
"commands"
لتحديد اختصارات لوحة المفاتيح ضمن الإضافة. لمزيد من المعلومات، معلومات، يُرجى الاطّلاع على chrome.commands.
"content_scripts"
تحديد ملفات JavaScript أو CSS لاستخدامها عند فتح المستخدم لشبكة ويب معيّنة . لمزيد من المعلومات، يُرجى الاطّلاع على النصوص البرمجية للمحتوى.
"content_security_policy"
تحدد القيود المفروضة على النصوص البرمجية والأنماط والموارد الأخرى في الإضافة استخدامها. لمزيد من المعلومات، يُرجى الاطّلاع على سياسة أمان المحتوى.
"cross_origin_embedder_policy"
يحدد هذا الإعداد قيمة لعنوان HTTP يتضمّن Cross-Origin-Embedder-Policy HTTP، الذي تضبط هذه السياسة تضمين الموارد من مصادر متعددة في صفحة الإضافات.
"cross_origin_opener_policy"
يحدد هذا الإعداد قيمة لعنوان HTTP الذي يسمح بسياسة Cross-Origin-Opener-Policy HTTP، مما يتيح التأكد من أنّ صفحة إضافات المستوى الأعلى لا تشارك سياق التصفّح المستندات المشتركة المصدر
"declarative_net_request"
تحدد القواعد الثابتة لـ declarativeNetRequest واجهة برمجة التطبيقات التي تسمح بحظر طلبات الشبكة وتعديلها
"default_locale"
سلسلة تحدِّد اللغة التلقائية للإضافة المتوافقة لغات متعددة. تتضمن الأمثلة "en" و"pt_BR". هذا المفتاح مطلوب في الإضافات المترجَمة، ويجب عدم استخدامه في الإضافات غير المترجَمة لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الانتشار على نطاق عالمي.
"devtools_page"
يحدِّد هذا الإعداد الصفحات التي تستخدم واجهات برمجة تطبيقات DevTools.
"export"
يسمح بتصدير الموارد من الإضافة. لمزيد من المعلومات، يُرجى مراجعة تصدير:
"externally_connectable"
يحدد هذا الإعداد الصفحات والإضافات الأخرى التي يمكن أن تربطها بإضافاتك. بالنسبة للحصول على مزيد من المعلومات، يُرجى الاطّلاع على "externally_connectable".
"homepage_url"
سلسلة تحدد عنوان URL للصفحة الرئيسية للإضافة. إذا لم يكن ذلك محددًا، يتم ضبط الصفحة الرئيسية تلقائيًا على صفحة "سوق Chrome الإلكتروني" الخاصة بالإضافة. هذا الحقل هو إذا كنت تستضيف الإضافة على موقعك الإلكتروني
"host_permissions"
يسرد صفحات الويب التي يُسمح للإضافة بالتفاعل معها، ويتم تحديدها باستخدام أنماط مطابقة عناوين URL يتم طلب إذن المستخدم لهذه المواقع الإلكترونية عند التثبيت الوقت. لمزيد من المعلومات، يُرجى الاطّلاع على أذونات المضيف.
"import"
يسمح باستيراد الموارد إلى الإضافة. لمزيد من المعلومات، يُرجى مراجعة استيراد.
"incognito"
تحدد كيفية عمل الإضافة في وضع التصفح المتخفي. القيم المسموح بها هي: ""spanning"" و"split"" و""not_allowed"" لمزيد من المعلومات، يُرجى مراجعة وضع التصفّح المتخفي
"key"
يحدد رقم تعريف إضافتك من أجل حالات الاستخدام المختلفة للتطوير. لمزيد من المعلومات، لمزيد من المعلومات، يُرجى الاطّلاع على المفتاح.
"minimum_chrome_version"
يحدّد هذا الإعداد أقدم إصدار من Chrome يمكنه تثبيت الإضافة. القيمة أن تكون سلسلة فرعية من سلسلة حالية من إصدارات متصفّح Chrome، مثل "107" أو "107.0.5304.87" المستخدمون الذين لديهم إصدارات من Chrome أقدم من الحد الأدنى للإصدار ستظهر رسالة "غير متوافق" في سوق Chrome الإلكتروني، تعذر تثبيت الإضافة. إذا قمت بإضافة هذا إلى إضافة حالية، إذا كان إصدار Chrome قديمًا، لن يتلقّى المستخدمون تحديثات تلقائية الإضافة. وهذا يشمل المستخدمين التجاريين في الملف الشخصي المؤقت.
"oauth2"
يسمح باستخدام معرِّف أمان OAuth 2.0. يجب أن تكون قيمة هذا المفتاح مع السمتَين "client_id" و"scopes". للحصول على التفاصيل، يمكنك الاطّلاع على بروتوكول OAuth الدليل التوجيهي للإصدار 2.0
"omnibox"
يسمح للإضافة بتسجيل كلمة رئيسية في شريط العناوين على Chrome. لمزيد من المعلومات، المعلومات، يُرجى الاطّلاع على المربّع المتعدد الاستخدامات.
"optional_host_permissions"
الإعلان عن مضيف اختياري الأذونات لـ الإضافة
"optional_permissions"
يتم الإفصاح عن الأذونات الاختيارية للإضافة.
"options_page"
يحدد مسارًا إلى ملف options.html لكي تستخدمها الإضافة الخيارات. لمزيد من المعلومات، يُرجى الاطّلاع على منح المستخدمين المتاحة.
"options_ui"
يحدد مسارًا لملف HTML يتيح للمستخدم تغيير خيارات الإضافة. من صفحة إضافات Chrome. للمزيد من المعلومات، راجع مضمَّنة المتاحة.
"permissions"
تتيح استخدام واجهات برمجة تطبيقات إضافات معيّنة. الاطّلاع على الأذونات للحصول على شرح عام. الصفحات المرجعية لواجهات برمجة تطبيقات فردية تسرد الأذونات التي يحتاجونها.
"requirements"
تسرد التكنولوجيات المطلوبة لاستخدام الإضافة. للحصول على قائمة بالأجهزة المتوافقة المتطلبات، يُرجى الاطّلاع على المتطلبات.
"sandbox"
تحدد مجموعة من صفحات الإضافات التي لا يمكنها الوصول إلى واجهات برمجة تطبيقات الإضافات أو الوصول المباشر إلى الصفحات التي لا تستخدم وضع الحماية. لمزيد من المعلومات، يُرجى مراجعة وضع الحماية.
"short_name"
سلسلة تحتوي على نسخة مختصرة من اسم الإضافة المطلوب استخدامها عندما تكون مساحة الأحرف محدودة. يجب ألّا يزيد عدد الأحرف عن 12 حرفًا. إذا كانت هذه هي الحالة غير معروف، نسخة مقتطعة من "الاسم" بدلاً من ذلك
"side_panel"
يحدد ملف HTML لعرضه في sidePanel.
"storage"
تعريف مخطط JSON لسعة التخزين المُدارة . لمزيد من المعلومات، يُرجى الاطّلاع على بيان مناطق التخزين.
"tts_engine"
يسجّل الإضافة كمحرك تحويل نص إلى كلام. لمزيد من المعلومات، يُرجى مراجعة واجهة برمجة التطبيقات ttsEngine.
"update_url"
سلسلة تحتوي على عنوان URL لصفحة تحديثات الإضافة. يمكنك استخدام هذا المفتاح إذا أنت تستضيف إضافتك خارج "سوق Chrome الإلكتروني"
"version_name"
سلسلة تصف إصدار الإضافة. تتضمن الأمثلة "1.0 beta" و "build rc2" إذا لم يتم تحديد ذلك، فإن "الإصدار" القيمة التي تظهر على صفحة إدارة الإضافات
"web_accessible_resources"
تحدِّد الملفات داخل الإضافة التي يمكن الوصول إليها من خلال صفحات الويب أو المواقع الإلكترونية الأخرى. الإضافات. لمزيد من المعلومات، راجع إمكانية الوصول إلى الويب الموارد:

مفاتيح ChromeOS الاختيارية

"file_browser_handlers"
يوفّر إمكانية الوصول إلى fileBrowserHandler واجهة برمجة التطبيقات، التي تتيح للإضافات الوصول إلى متصفِّح الملفات في نظام التشغيل ChromeOS.
"file_handlers"
يحدد هذا الإعداد أنواع الملفات التي تعالجها إضافات نظام التشغيل ChromeOS. لمزيد من المعلومات اطّلِع على file_handlers.
"file_system_provider_capabilities"
يسمح بالوصول إلى fileSystemProvider واجهة برمجة التطبيقات، التي تتيح للإضافات إنشاء أنظمة ملفات يمكن أن يستخدمها ChromeOS.
"input_components"
يسمح باستخدام واجهة برمجة تطبيقات "محرِّر أسلوب الإدخال". لمزيد من المعلومات، يُرجى مراجعة input_components