في تموز (يوليو) الماضي، أطلقنا سلسلة جديدة من المدونات لإطلاعك على آخر الأخبار حول الإضافات. بفضل ملاحظاتك القيّمة وتعاوننا المستمر مع مورّدي المتصفّحات الآخرين في مجموعة WebExtensions Community Group، نواصل تحسين واجهات برمجة التطبيقات الخاصة بالإضافات والعمل على تحقيق اتساق أكبر في جميع المتصفّحات.
مرحبًا بك في إصدار تشرين الأول (أكتوبر). في هذه المشاركة، سنلقي نظرة على بعض التغييرات التي أجراها فريق إضافات Chrome خلال الأشهر القليلة الماضية، بالإضافة إلى بعض الميزات الجديدة التي ستظهر في وقت لاحق من هذا العام. لِنبدأ.
ميزات وواجهات برمجة تطبيقات إضافية جديدة
في هذا القسم، نشارك بعض عمليات إطلاق واجهات برمجة التطبيقات المهمة، ونراجع بإيجاز التحسينات الأخرى على واجهات برمجة التطبيقات، ونشارك الإصدارات القادمة. تتوفّر جميع عمليات الإطلاق حاليًا في أحدث إصدار تجريبي. اطّلِع على الجدول الزمني لإصدارات Chromium لمعرفة التفاصيل.
أهم التفاصيل
المشاكل المعروفة التي تم حلّها
يعمل فريق الإضافات جاهدًا على حلّ مشاكل استقرار الإصدار 3 من بيان الإضافة. أطلق الإصدار 116 من Chrome العديد من التحسينات التي ساعدتنا في تحقيق تقدّم كبير نحو سد الفجوة في الميزات بين الإصدارَين Manifest V2 وV3. في الإصدار 120 من Chrome، سننتهي من معالجة جميع الثغرات ذات الأولوية في المنصة وسنغلق جميع الأخطاء الخطيرة التي تم توثيقها في صفحة المشاكل المعروفة. تتوفّر جميع الميزات حاليًا في الإصدار 120 من Chrome Canary، باستثناء إتاحة واجهة برمجة التطبيقات fileHandler لنظام التشغيل ChromeOS Lacros وواجهة برمجة التطبيقات userScripts API التي ستتوفّر في وقت لاحق من هذا الشهر. يمكنك الاطّلاع على صفحة المشاكل المعروفة المعدَّلة للحصول على مزيد من التفاصيل.
تحسين ثبات Service Worker
تم حلّ المشاكل المتعلّقة بثبات مهام الخدمة. في الإصدار 116 من Chrome، أضفنا عمليات صيانة قوية لواجهات برمجة تطبيقات الإضافات التي تعرِض طلبًا للمستخدم ووفّرنا ميزات محسّنة لاستخدام بروتوكول WebSocket (اطّلِع على الدليل التعليمي استخدام بروتوكول WebSocket في الإضافات). اعتبارًا من الإصدار 118 من Chrome، سيظلّ عامل الخدمة نشطًا أثناء جلسة نشطة لواجهة برمجة التطبيقات Debugger API.
يمكنك الاطّلاع على إرشادات Service Worker المعدّلة للحصول على مزيد من التفاصيل. إذا استمرّت مشاكل الثبات المرتبطة بعامل الخدمة في إصدارات Chrome الأحدث من الإصدار 119، يُرجى إعلامنا بذلك.
مستوى أمان أقوى
في السابق، كان الانتقال إلى بعض عناوين URL الخاصة بـ chrome://
باستخدام tabs.update()
وtabs.create
وwindows.create()
يؤدي إلى ظهور خطأ أو تعطُّل Chrome. بالإضافة إلى ذلك، تعذّر على tabs.update()
فتح عنوان URL لبرنامج JavaScript. في الإصدار 117 من Chrome، وسّعنا عدد عناوين URL المتوافقة مع chrome://
، وينطبق حظر عناوين URL التي تستخدم JavaScript الآن أيضًا على جميع طرق واجهة برمجة التطبيقات الخاصة بالإضافات.
في الإصدار 117 من Chrome، سيتلقّى المستخدمون إشعارات استباقية في صفحة "إضافات Chrome" إذا لم تعُد إحدى الإضافات التي ثبَّتوها متوفّرة في "سوق Chrome الإلكتروني". يمكن أن يحدث ذلك إذا أزال المطوّر الإضافة من النشر أو تمّت إزالتها بسبب انتهاكات للسياسات أو إذا تمّ رصدها كبرنامج ضار. للاطّلاع على تفاصيل أكثر، يُرجى الاطّلاع على مقالة إتاحة ميزة "التحقّق من الأمان" في صفحة chrome://extensions.
في الإصدار 118 من Chrome، لن يُسمح للإضافات بالانتقال إلى عناوين URL الخاصة بـ file://
باستخدام واجهات برمجة التطبيقات chrome.tabs
وchrome.windows
ما لم يتم تفعيل الخيار "السماح بالوصول إلى عناوين URL للملفات" في صفحة تفاصيل الإضافة. اطّلِع على مناقشة WECG.
المزيد من عمليات إطلاق واجهات برمجة التطبيقات
- Runtime API: اعتبارًا من الإصدار 116 من Chrome، يمكنك استخدام
runtime.getContexts()
لاسترداد معلومات عن السياقات النشطة. على سبيل المثال، يمكنك التحقّق مما إذا كان هناك مستند نشط خارج الشاشة. - Side Panel API في Chrome 116، يمكنك استخدام
sidepanel.open()
لفتح اللوحة الجانبية للإضافات آليًا استجابةً لإشارة المستخدم، مثل النقر على قائمة السياق. - TabCapture API: تمت إضافة إمكانية استدعاء
getMediaStreamId()
من مشغّل خدمة الإضافة والحصول على عنصرMediaStream
من معرّف البث في مستند خارج الشاشة في الإصدار 116 من Chrome. راجِع تسجيل الصوت وتصوير الشاشة للاطّلاع على أمثلة. - DeclarativeNetRequest API: تم تغيير القيمة التلقائية للسمة
isUrlFilterCaseSensitive
إلىfalse
في Chrome 118.
يتوفر قريبًا...
نخطّط لمعالجة جميع العناصر المتبقية في صفحة المشاكل المعروفة مع إصدار Chrome 120. بالإضافة إلى ذلك، نخطّط لإضافة الميزات التالية:
- ستسمح UserScripts API لمدراء النصوص البرمجية للمستخدمين بتنسيق كيفية إدراج مجموعة من النصوص البرمجية للمستخدمين في صفحات الويب ووقت إدراجها. اطّلِع على اقتراح WECG للاطّلاع على التفاصيل.
- ستسمح واجهة برمجة التطبيقات ReadingList API للمطوّرين بإنشاء البيانات الوصفية وقراءتها وتعديلها وحذفها في لوحة "قائمة القراءة" في اللوحة الجانبية. يمكنك مشاهدة فيديو الميزات الجديدة في إضافات Chrome للاطّلاع على هذا الإشعار.
- استنادًا إلى الملاحظات الواردة من مجموعة منتدى "إضافات الويب"، سنزيد بشكل كبير الحد الأقصى لعدد القواعد الثابتة المفعّلة من 10 إلى 50. بالإضافة إلى ذلك، نعمل على زيادة إجمالي عدد قواعد القواعد الثابتة المسموح بها من 50 إلى 100. تتوفّر هذه الميزة حاليًا في الإصدار Canary.
- File Handling API: ستتوفّر لإضافات ChromeOS اعتبارًا من الإصدار 120 من ChromeOS، ما يتيح للإضافات فتح الملفات باستخدام أنواع MIME وامتدادات ملفات محدّدة بطريقة مشابهة لمعالجة الملفات على منصة الويب.
- ستتمكّن الإضافات من استخدام Push API على الويب من خلال
self.registration.pushManager.subscribe()
بدون عرض إشعار يظهر للمستخدم من خلال ضبطuserVisibleOnly
علىfalse
. سيؤدي ذلك إلى جعل الإشعارات الفورية بديلاً أكثر سلاسة لبروتوكول WebSockets في مهام الخدمة (MV3) للتواصل غير المتزامن بين العميل والخادم. اطّلِع على خطأ Chromium ومناقشة WECG لمعرفة التفاصيل.
يُرجى متابعة صفحة الميزات الجديدة في الإضافات للاطّلاع على الإعلانات فور توفّر هذه الميزات في إصدار Chrome التجريبي.
ترقيات المستندات
لقد عملنا أيضًا على تحسين مستنداتنا وإضافات إليها. يُرجى مواصلة طرح الأسئلة على مجموعة chromium والإبلاغ عن مشاكل في المستندات.
أهم التفاصيل
- لقد جدّدنا الصفحة المقصودة الخاصة بالعينات. يمكنك الآن الفلترة حسب واجهة برمجة التطبيقات والأذونات والنوع، ما يسهّل العثور على عيّنات معيّنة. تم إجراء هذا التحسين من خلال تعاون مع المتدرب Xuezhou Dai في برنامج "الصيف من أجل البرمجة". يمكنك الاطّلاع على تجربته في مشاركة المدونة هذه.
- توضّح المقالة استخدام حسابك على "إحصاءات Google" مع "سوق Chrome الإلكتروني" كيفية عرض "إحصاءات Google 4" لقائمة تطبيقك على "سوق Chrome الإلكتروني"، ما يكمل البيانات المقدَّمة من خلال "لوحة بيانات المطوّر". يقدّم هذا الدليل خطوات تفعيل "إحصاءات Google"، ومراقبة أداء الإعلانات، وتتبُّع الإحالات الناجحة، ومنح حسابات أخرى إذن الوصول إلى بيانات "إحصاءات Google".
- لقد نشرنا دليلاً جديدًا حول طريقة عمل ملفات تعريف الارتباط وواجهات برمجة التطبيقات لمساحة التخزين على الويب في إضافات Chrome. يتضمّن هذا الدليل كل ما تحتاج إلى معرفته عن مبادرة حماية الخصوصية بصفتك مطوّر إضافات.
- لقد أطلقنا مقالتَين جديدتَين حول كيفية دمج الاختبارات في مشاريع الإضافات: اختبار وحدات إضافات Chrome والاختبار الشامل للإضافات، وتقدّم المقالتان إرشادات عامة وأفضل الممارسات في ما يتعلّق بعدد من الأطر الشائعة. للحصول على برنامج تعليمي عملي، يُرجى الاطّلاع على اختبار إضافات Chrome باستخدام Puppeteer.
المزيد من التحديثات
- لقد أعدنا كتابة إرشادات Declarative Net Request API بطريقة توفّر صورة أوضح عن كيفية تنفيذ قواعد الشبكة الوصفية.
- أضفنا المزيد من الإرشادات حول نقل الرموز البرمجية المستضافة عن بُعد إلى Manifest V3. بالإضافة إلى ذلك، لتقليل خطر مواجهة مشاكل أثناء الإصدار، نقدّم استراتيجيات لنشر إضافة Manifest V3 على مراحل.
- تعرَّف على كيفية الاتصال بخادم WebSocket في الخدمة العاملة للإضافات.
- وسّعنا نطاق دليل الحصول على المساعدة ليشمل تعليمات أكثر تفصيلاً حول كيفية الإبلاغ عن خطأ وتتبُّع المشاكل الحالية وطلب ميزات جديدة وغير ذلك.
يتوفر قريبًا...
- مرجع ودليل تعليمي لواجهة برمجة التطبيقات User Scripts API
- البرنامج التعليمي وعينات Firebase
- مرجع ReadingList API
إعادة تصميم "سوق Chrome الإلكتروني" 🌈
في وقت سابق من هذا الشهر، أعلنّا عن إصدار معاينة مبكر لـ "سوق Chrome الإلكتروني" الذي تم تجديده، كما لمحنا إلى ذلك في مؤتمر Google I/O. يمكنك الاطّلاع على الميزة بنفسك على https://chromewebstore.google.com/. في ما يلي بعض التغييرات المهمة:
- زيادة قائمة الفئات من إحدى عشرة فئة إلى قائمة جديدة تضم سبع عشرة فئة في ثلاث مجموعات فئات
- تحسين ميزة الإكمال التلقائي في البحث
- يتم الآن عرض لقطات الشاشة بجودة أعلى بكثير. يمكنك تحميل لقطات شاشة بدقة 1280×800 إذا لم يسبق لك ذلك.
- تظهر الآن أسطر جديدة في الردود على الأسئلة في علامة التبويب "الدعم".
- عند الردّ على مراجعات المستخدمين وأسئلة الدعم، سيتضمّن ردّك الآن شارة "مطوّر" بجانب اسمك.
- يمكنك تزويد المستخدمين برابط مباشر إلى صفحة المراجعات من خلال إضافة "/reviews" في نهاية عنوان URL الخاص بعنصر المتجر، على سبيل المثال:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
نشكر الجميع على الملاحظات التي قدّموها حتى الآن في مجموعة chromium-google. يُرجى عدم التردد في الانضمام إلى المناقشة أو إرسال ملاحظاتك مباشرةً إلى فريق CWS باستخدام عنصر القائمة تقديم ملاحظات:
بالإضافة إلى ذلك، يمكنك إرسال نموذج اقتراح ذاتي لعرضه في مجموعة "اختيارات المحرّرين". وسنُجري قريبًا تحسينات على لوحة بيانات المطوّر أيضًا.
💡 هل تعلم؟
- يتوفّر فيديو جديد حول تصحيح أخطاء إضافات Chrome. ويتناول العديد من المواضيع التي قد تكون على دراية بها، ولكنه يشارك أيضًا بعض الحيل الرائعة لاستخدام أدوات مطوّري البرامج في الإضافات.
- عليك الآن تقديم سياسة خصوصية لكل إضافة. في السابق، كان بإمكانك إضافة سياسة خصوصية واحدة فقط لكل حساب مطوّر، ولكن كان من الصعب تنفيذ ذلك إذا كانت لديك بعض الإضافات ضمن حساب مطوّر واحد. تتوفّر هذه الواجهة الجديدة في علامة التبويب "الخصوصية" لتطبيقك في لوحة بيانات المطوّر. وهذا يعني أنّ سياسات الخصوصية على مستوى الحساب لم تعُد متاحة.
سنتواصل معك 🙌
لقد واصلنا التواصل مع منتدى مطوّري الإضافات من خلال جلسات فردية وإطلاق برامج جديدة وحضور قمم. في ما يلي بعض النقاط البارزة:
- تم إطلاق برنامج خبراء المطوّرين من Google في آب (أغسطس). لدينا أكثر من اثنتي عشرة أداة جديدة من "أدوات المطوّرين من Google" تركّز على إضافات Chrome من جميع أنحاء العالم، وتقدّم لنا ملاحظات رائعة. إنّه وقت مثير للغاية بالنسبة إلى البرنامج.
- لقد شاركنا في TPAC (المؤتمر السنوي لمنظمة W3C) كجزء من مجموعة منتدى Web Extensions والتقينا بممثّلين من Firefox وSafari بالإضافة إلى العديد من أعضاء المنتدى. لقد أحرزنا تقدّمًا كبيرًا في عدة مواضيع، بما في ذلك الانتقال إلى واجهات برمجة تطبيقات أكثر اتساقًا للإضافات، والعمل على مواصفات، والبناء على اختبارات Web Platform لإنشاء مجموعة اختبارات جديدة. يمكنك الاطّلاع على محضر الاجتماع الكامل في مستودع WECG.
- في الأسبوع الماضي، شارك فريق الإضافات في قمة مطوّري ميزة فلترة الإعلانات في أمستردام. التقى الفريق بعدد منكم في جلسة نقاش استضافها قبل أسبوع القمة وخلال ساعات العمل المفتوحة يوم الجمعة.
حتى إذا لم تتمكّن من حضور أيّ من هذه الأحداث، يمكنك مواصلة المشاركة من خلال طرح الأسئلة في مجموعة Google chromium-extensions، ومتابعتها لمناقشات شركاء المتصفّحات على WECG، والإبلاغ عن أي مشاكل في المستندات.
نشكرك مرة أخرى على مشاركتك في منتدى مطوّري الإضافات.