تخطٍ إلى المحتوى
31 يوليو 2026 · الدليل الإرشادي

دليل: بناء إضافات المتصفح

يصف هذا المقال المنتج وقت نشره. راجع منشئ الذكاء الاصطناعي وفرق الوكلاء للاطلاع على القدرات الحالية.

دليل: بناء إضافات المتصفح

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

ابدئي بالمطالبة نفسها. قلتِ لي "إضافة تراقب هذه الصفحة وتخبرني عند انخفاض السعر"، وهذه فكرة جيدة لكنها ليست مواصفة بعد — يحتاج منشئ التطبيق أن يعرف متى يتصرف، وليس فقط ماذا يفعل. أداة المراقبة لديك هي الثالثة من ثلاثة أشكال تفعيل، ويستحق معرفة الشكلين الآخرين رغم أنك لست بحاجة إليهما، لأن الشكل يحدد الصلاحيات والصلاحيات تحدد جدول مراجعتك الزمني.

  • النقر للتنفيذ هو الأرخص: نافذة منبثقة تعمل مرة واحدة على الصفحة الحالية عندما يضغط شخص أيقونة شريط الأدوات — فكّري في "اجمع كل الأسعار في هذه الصفحة في قائمة".
  • سكريبت محتوى دائم التشغيل يعمل تلقائيًا على نمط عنوان URL تحددينه — جيد لشيء مثل تمييز اسم منافس على كل صفحة ضمن نطاق ما، لكن عليك تحديد النمط صراحةً، لأن "على مواقعنا الداخلية" يُفسَّر أضيق مما قصدتِ.
  • حالتك هي الثالثة: أداة مراقبة تعمل في الخلفية، حالة تستمر سواء كانت علامة التبويب مفتوحة أم لا، تعمل عبر service worker ضمن MV3، وتُظهر شارة على الأيقونة عند حدوث تغيير.

هذا هو الشكل الوحيد الذي يجب أن يستفسر فيه منشئ التطبيق منكِ بسؤال متابعة، وسيفعل ذلك — لأن رقم الاستطلاع هو مقايضة حقيقية، وليس مجرد إجراء شكلي.

وهذا يعيدني إلى حدسك بـ "كل دقيقة". طلبت شيئًا مشابهًا تمامًا لبنائك قبل فترة — مراقبة صفحة، وشارة على الأيقونة عند تغيّر السعر — وكانت المحاولة الأولى تستطلع كل 60 ثانية. عملت جيدًا لشخص واحد يختبر محليًا. اضربي ذلك في عدد المستخدمين الفعلي الذين يثبتون هذا الشيء وستكونين تُغرقين صفحة منتج شخص ما دون سبب، لأن أسعار قائمة تجزئة عادية لا تتغير أكثر من بضع مرات يوميًا. أخبري منشئ التطبيق في المطالبة "تحقق كل 30 دقيقة". ليس هذا تنازلًا، بل هو الطلب الأكثر صدقًا — لا أحد يحتاج تنبيهات في أقل من دقيقة من إضافة متصفح، وستشكرين نفسك لاحقًا عندما لا تحتاجين لشرح لمراجع سبب اتصال إضافتك بالخادم 1,440 مرة يوميًا.

الأجزاء التي لا داعي للتفكير فيها

ذكرت أنك قلق بشأن ملف الـ manifest — لا تقلق، هذا هو الشيء الوحيد الذي لا تحتاج فعلياً إلى لمسه. كلا المتجرين يتطلبان الآن Manifest V3؛ توقف قبول MV2 للقوائم الجديدة و Chrome يعمل بنشاط على إنهاء الإضافات التي لا تزال تعمل بـ MV2. التغيير الأساسي في MV3 هو أن منطق الخلفية الخاص بك يعمل كـ service worker بدلاً من صفحة خلفية دائمة — يبدأ عند وقوع حدث، ويمكن للمتصفح إيقافه بين الأحداث، ويجب أن تمر الحالة عبر chrome.storage بدلاً من أن تعيش فقط في متغير. هذا هو بالضبط نوع تفاصيل دورة الحياة التي يكتبها المنشئ بشكل صحيح بشكل افتراضي. لن تحتاج لرؤية ملف manifest أبداً إلا إذا بحثت عنه عمداً.

ما يجب أن تركز اهتمامك عليه فعلياً هو الأذونات، لأنها ما يحدد سرعة مراجعتك، لا الكود. مراقبك يحتاج إلى alarms للاستقصاء وربما storage لتذكّر آخر سعر — لا يحتاج إلى tabs أو <all_urls>، وإذا طلبت "القدرة على العمل على أي موقع في المستقبل" لأنك قد توسّعه لاحقاً، فسيبنيه المنشئ بناءً على ذلك وستطلب صلاحية وصول واسعة إلى المواقع لأجل ميزة غير موجودة بعد. هذا هو البند الأكثر إثارة للقلق في مربع حوار التثبيت — "قراءة وتغيير البيانات على كل موقع تزوره" — وهو أيضاً ما يحوّل المراجعة الآلية إلى مراجعة يدوية. صف ما يفعله اليوم. وسّعه لاحقاً إذا احتجت ذلك فعلاً.

شيئان إضافيان يستحقان ثلاثين ثانية من الانتباه قبل أن تعتبري هذا العمل منتهيًا: واجهة النافذة المنبثقة والأيقونات.

  • واجهة النافذة المنبثقة — صفحة إعدادات افتراضية، مربعات اختيار عارية، بلا تسلسل هرمي، هذا مصدر حقيقي لتقييمات النجمة الواحدة التي لا علاقة لها بعمل الإضافة من الأساس. إضافتك تحتوي على بضعة إعدادات فقط (الرابط، وربما الفترة الزمنية)، لكنها يجب أن تبدو وكأنها جزء من منتج، لا مجرد نموذج مُلقى.
  • الأيقونات — تحقق من الأيقونة بجميع أحجام Chrome الأربعة (16، 32، 48، 128 بكسل، مع مصفوفة مختلفة قليلاً لـ Firefox)، لأن الشعار الحاد عند 128 بكسل يتحول إلى بقعة غير واضحة عند 16 بكسل، وهذا بالضبط حجمها في شريط أدوات مزدحم معظم اليوم.

قبل أن تلمس أي من المتجرين

اختبر هذا فعلياً، لا فقط في معاينة الدردشة. ما تحصل عليه من البناء هو إضافة فعلية قابلة للتحميل، فانتقل إلى chrome://extensions، وفعّل وضع المطور، "تحميل غير مضغوط"، وشغّلها على صفحة المنتج الفعلية التي تهمك — لا نسخة محاكاة منها. أود التحقق من شيئين يدوياً على وجه التحديد: هل تقول رسالة إذن التثبيت ما تتوقعه بناءً على ما طلبته، وماذا يحدث إذا صادف سكريبت المحتوى صفحة لم يُصمَّم لها — هل يفشل بصمت أم يُظهر خطأً واضحاً؟ كلاهما يستغرق أقل من دقيقة وكلاهما نوع من الأخطاء الواضح لحظة النظر إليه وغير مرئي إذا لم تنظر.

عندما تكون جاهزاً للنشر الفعلي، ستمر بحسابات المطورين الخاصة بك في كلا المتجرين — أنت من يملك القائمة، هذه المنصة لا تديرها عنك. وأريد أن أنبّهك إلى أن المتجرين غير متماثلين على الإطلاق، لأنني لا أريدك أن تخطط لتاريخ الإطلاق بافتراض أنهما متشابهان.

المتجرعملية التقديم
Chromeيملأ القائمة تلقائياً — العنوان، الوصف، الفئة، ونص تبرير الأذونات الذي يقرأه المراجع فعلياً، ويُولَّد من ما يفعله الكود بدلاً من كتابته بشكل منفصل، وهذا مهم لأن التبريرات غير المتطابقة سبب شائع للرفض بذاته.
Firefoxشبه آلي تماماً؛ مسار Mozilla أخف والتقديم يمر مباشرة.

حزمة القائمة التي تُنشأ بعد اكتمال البناء ستُولّد أيضاً لقطات شاشة مأخوذة من إضافتك وهي تعمل فعلياً (لا نموذج تصوري)، ونص القائمة، وإجابات ممارسات الخصوصية المُتحقَّق منها مقابل الكود الحقيقي بدلاً من تعبئتها من الذاكرة. هذا الجزء الأخير أهم مما يبدو لشيء يتواصل مع صفحة خارجية: استبيان خصوصية Chrome يطرح أسئلة بنعم/لا مباشرة حول التعامل مع البيانات، والإجابة بـ "لا" على "هل يجمع هذا بيانات" بينما يقوم المراقب الخاص بك باستقصاء وتخزين الأسعار هو نوع من عدم الصدق الصغير الذي يُسحب بعد الإطلاق، لا مجرد رفضه قبله. جعل الإجابات مُتحقَّق منها مقابل ما يفعله الكود يغلق هذه الفجوة عنك تلقائياً.

في تاريخ إطلاقك على وجه التحديد:
المتجرزمن المراجعة النموذجي
Firefoxساعات، وأحياناً أقل من ساعة
Chromeبضعة أيام، وأحياناً تقترب من يومين في أسبوع سيئ

الإضافات ذات الاستمرارية في الخلفية كإضافتك أكثر عرضة للانتهاء في مسار المراجعة اليدوي الأبطأ بدلاً من مسار النقر السريع البسيط. لا أحد منا يستطيع التأثير على تلك القائمة. خطط لإعلانك حول جدول Chrome الزمني، لا جدول Firefox، ولا تحدد موعداً لأي شيء في نفس يوم التقديم.

شيء أخير، بما أنني أعرفك — أنت تفكر بالفعل في إضافة "مزامنة قائمة المراقبة عبر الأجهزة" و"تتبع سجل السعر مع الوقت" بعد الإطلاق. لا بأس بذلك، لكن اعلم أن كل واحدة من هذه إذن جديد، والإذن الجديد قد يعني مراجعة أبطأ من التي مررت بها للتو. إذا كنت متأكداً من أنك تريد النسخة الأكبر، فمن الأفضل حقاً أن تطلبها الآن وتتحمل مراجعة أبطأ واحدة بدلاً من إضافة الأذونات واحداً تلو الآخر. إذا لم تكن متأكداً بعد، فأطلق ما لديك — مراقب محدد النطاق بدقة يمر بسرعة، ويمنحك استخداماً حقيقياً، والاستخدام الحقيقي يستحق أكثر الآن من قائمة ميزات أطول عالقة في قائمة انتظار Chrome. يمكنك دائماً طلب المزيد لاحقاً؛ لا يمكنك استرجاع هذا الإطلاق بعد أن يُعلَّق في مراجعة يدوية بسبب شيء لم تكن تحتاجه بعد.

الدليل
مشاركةXLinkedInFacebookRedditQuoraواتسابتيليجرامالبريد الإلكتروني
← جميع المقالات