انتقل إلى المحتوى

علامات الميزات (Feature flags)

علامة الميزة (feature flag) هي مفتاح تشغيل/إيقاف لميزة في تطبيقك أو موقعك. تقوم بتبديلها في Control Panel، دون إصدار جديد.

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

قبل البدء

Anchor link to
  • الخطة: تتوفر علامات الميزات فقط في الخطط التي تتضمنها. في الخطط الأخرى، لا يظهر علامات الميزات في قائمة الجمهور. لتفعيلها، تواصل مع مدير حسابك.
  • الوصول: يظهر علامات الميزات في كل تطبيق يمكنك رؤيته. لإنشاء العلامات وتغييرها، تحتاج إلى إذن تعديل التطبيقات أو الإذن نفسه لهذا التطبيق في الأذونات الخاصة بالتطبيق.
  • إعداد المطورين: لا تؤثر العلامة على المستخدمين إلا بعد أن يقرأها مطوروك في كود التطبيق أو الموقع بواسطة مفتاحها. يحتاجون إلى Web SDK 3.94.1 أو أحدث، أو Android SDK 6.16.0 أو أحدث، أو iOS SDK 7.2.10 أو أحدث. في تطبيق لا يحتوي على علامات بعد، تعرض صفحة علامات الميزات نماذج كود جاهزة لـ Web وAndroid وiOS. سلّمها لمطوريك مع مفتاح العلامة. شارك معهم دليل Web SDK، أو دليل Android SDK، أو دليل iOS SDK.

إذا توقفت خطتك عن تضمين علامات الميزات، تتوقف الأجهزة عن تلقي العلامات ويستخدم تطبيقك أو موقعك القيم المضبوطة في الكود الخاص به. عندها يفشل إنشاء علامة أو استعادتها مع ظهور الرسالة علامات الميزات غير متاحة في خطتك، على سبيل المثال في علامة تبويب Control Panel فُتحت قبل تغيير الخطة.

كيف تحدد العلامة ما يحصل عليه كل مستخدم

Anchor link to

لكل علامة قائمة من القواعد. تحتوي كل قاعدة على شريحة، ونسبة المستخدمين الذين تكون العلامة مفعّلة لهم (نسبة الإطلاق، %)، وقيم خصائص اختيارية. لكل جهاز، يتحقق Pushwoosh من القواعد من الأعلى إلى الأسفل:

  1. تحسم القرار أول قاعدة تطابق شريحتُها الجهاز. القاعدة التي لا شريحة لها تطابق كل جهاز.
  2. تحدد نسبة الإطلاق، % للقاعدة ما إذا كانت العلامة مفعّلة لهذا المستخدم. عند 20%، يحصل عليها مستخدمان من كل عشرة.
  3. المستخدم الذي تكون العلامة مفعّلة له يتلقى قيم الخصائص المضبوطة في تلك القاعدة. المستخدم الذي تكون معطّلة له يتلقى قيم الخصائص الافتراضية.

بمجرد أن يطابق الجهاز قاعدة، يتم تخطي القواعد اللاحقة، حتى عندما تعطّل تلك القاعدة العلامة له. الجهاز الذي لا يطابق أي قاعدة تكون العلامة معطّلة له.

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

إنشاء علامة

Anchor link to
  1. انتقل إلى الجمهور ← علامات الميزات.

  2. انقر على إنشاء علامة ميزة.

    صفحة علامات الميزات لتطبيق مع إبراز زر Create feature flag وكتلة SDK support التي تعرض Web وAndroid وiOS
  3. أدخل المفتاح، على سبيل المثال new_checkout. المفتاح أي اسم تختاره، لكن مطوريك يقرؤون العلامة في الكود بهذا المفتاح بالضبط، بما في ذلك حالة الأحرف. اتفق عليه معهم قبل حفظ العلامة.

  4. أدخل الاسم و، اختيارياً، الوصف ليعرف فريقك ما الذي تتحكم فيه العلامة.

يتبع المفتاح هذه القواعد:

  • أحرف لاتينية، وأرقام، و_، و.، و-، حتى 58 حرفاً.
  • لا يمكنك تغيير المفتاح لاحقاً.
  • لا يمكنك إعادة استخدام مفتاح لعلامة أخرى في التطبيق، حتى لو كانت مؤرشفة، أو مفتاح يختلف عنه فقط في حالة الأحرف، مثل New_Checkout وnew_checkout.

إضافة خصائص

Anchor link to

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

  1. في الخصائص، انقر على إضافة خاصية.
  2. أدخل مفتاح الخاصية، على سبيل المثال button_color. استخدم أحرفاً لاتينية وأرقاماً و_، حتى 64 حرفاً. مفتاح الخاصية أي اسم تختاره، لكن مطوريك يقرؤون القيمة في الكود بهذا المفتاح بالضبط، بما في ذلك حالة الأحرف. اتفق عليه معهم قبل حفظ العلامة.
  3. اختر النوع: نص أو رقم أو منطقي أو JSON. لا يمكنك تغيير النوع بعد حفظ العلامة.
  4. أدخل القيمة الافتراضية. يتلقى هذه القيمة المستخدمون الذين تكون العلامة معطّلة لهم.

يمكن أن تحتوي العلامة على 50 خاصية كحد أقصى.

نموذج علامة الميزة يحتوي على المفتاح والاسم والوصف وخاصيتين: button_color من النوع String وshow_apple_pay من النوع Boolean

إضافة قواعد

Anchor link to
  1. في القواعد، انقر على إضافة قاعدة.
  2. أدخل اسم القاعدة، على سبيل المثال Paying customers.
  3. في الشريحة، اختر من تنطبق عليه القاعدة. اتركه فارغاً لتطبيق القاعدة على جميع المستخدمين.
  4. في نسبة الإطلاق، %، أدخل نسبة الشريحة التي تكون العلامة مفعّلة لها، من 0 إلى 100 مع ما يصل إلى منزلتين عشريتين.
  5. في قيم المستخدمين الذين تفعّل لهم هذه القاعدة العلامة، غيّر الخصائص التي يجب أن تختلف عن القيم الافتراضية لهؤلاء المستخدمين. الخصائص التي لا تغيّرها تحتفظ بقيمها الافتراضية.
  6. لإضافة جمهور آخر، كرر الخطوات. استخدم لأعلى ولأسفل لتغيير الترتيب، لأن أول قاعدة مطابقة هي التي تحسم القرار.

يمكن أن تحتوي العلامة على 10 قواعد كحد أقصى.

أسفل نسبة الإطلاق، %، تعرض كل قاعدة العدد التقريبي للأجهزة التي تفعّل لها العلامة، على سبيل المثال ≈ 1,200 جهاز. يضرب Pushwoosh حجم شريحة القاعدة في النسبة. بالنسبة إلى القاعدة التي لا شريحة لها، يأخذ جميع أجهزة التطبيق. اعتبر هذا الرقم الحد الأقصى الذي يمكن أن تصل إليه القاعدة، لأن الجهاز الذي يطابق قاعدة سابقة يتوقف عندها.

Rule 1 لعلامة الميزة: Paying customers للشريحة Purchased something بنسبة 100%، مع ضبط button_color على green وshow_apple_pay على true

على سبيل المثال، لتقديم عملية دفع جديدة لجميع العملاء الذين يدفعون ولـ 20% من البقية، أنشئ قاعدتين:

القاعدةالشريحةنسبة الإطلاق، %قيم المستخدمين الذين تفعّل لهم هذه القاعدة العلامة
Paying customersPurchased something100button_color = green، show_apple_pay = true
Everyone else—20button_color = orange

حفظ العلامة

Anchor link to

انقر على حفظ. يتم إنشاء العلامة بالحالة نشطة، وتتلقاها الأجهزة في المرة التالية التي تتحقق فيها من العلامات.

إدارة العلامات

Anchor link to

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

للعلامة إحدى ثلاث حالات:

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

تغيير علامة

Anchor link to
  1. افتح العلامة.
  2. عدّل الاسم أو الوصف أو الخصائص أو القواعد.
  3. انقر على حفظ.
  4. إذا غيّرت القواعد أو قيم الخصائص الافتراضية، يعرض مربع الحوار راجع التغييرات ما سيحدث للأجهزة. راجعه وانقر على حفظ.

يعرض مربع الحوار سطراً واحداً لكل تغيير:

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

تُحفظ التغييرات على الاسم أو الوصف وحدهما دون مربع الحوار.

لإطلاق ميزة تدريجياً، ارفع نسبة الإطلاق، % لقاعدة خطوة بخطوة.

إذا حفظ شخص آخر العلامة أثناء تعديلك لها، فلا يستبدل Control Panel تغييراته ويطلب منك إعادة تحميل العلامة. انقر على إعادة التحميل وأجرِ تغييراتك مرة أخرى.

إيقاف علامة للجميع

Anchor link to

استخدم إيقاف للجميع عندما تسبب ميزة مشكلات وتحتاج إلى إيقافها للجميع:

  1. افتح العلامة وانقر على إيقاف للجميع.

    الجزء العلوي من صفحة علامة ميزة نشطة مع أزرار Reshuffle وKill switch وArchive
  2. أكّد. يحصل كل جهاز على العلامة معطّلة مع قيم الخصائص الافتراضية في المرة التالية التي يتحقق فيها من العلامات.

أثناء فتح موقعك أو تطبيقك، تتلقى الأجهزة التغيير خلال ساعة. راجع كيف يتحقق Web SDK، وAndroid SDK، وiOS SDK من العلامات.

لإعادة تشغيل العلامة بقواعدها كما كانت، انقر على تشغيل مجددًا.

اختيار عينة مختلفة من المستخدمين

Anchor link to

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

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

أرشفة علامة واستعادتها

Anchor link to

أرشف العلامة عندما يتم إصدار الميزة بالكامل أو إزالتها من الكود. لا تُحتسب العلامة المؤرشفة ضمن حد خطتك لعدد العلامات لكل تطبيق، ويظل مفتاحها محجوزاً.

  1. افتح العلامة وانقر على أرشفة.
  2. أكّد.

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

معرفة من غيّر العلامة

Anchor link to

يعرض سجل التغييرات كل إصدار محفوظ من العلامة: ما الذي تغيّر، ومن غيّره، ومتى. يمكن لأي شخص يستطيع فتح العلامة رؤية سجلها.

يُسجَّل السجل للتغييرات بدءاً من 13 أكتوبر 2026. تعرض العلامة التي لا توجد لها تغييرات مسجلة لا توجد تغييرات بعد. بالنسبة إلى العلامة التي أُنشئت قبل ذلك التاريخ، لا يعرض أقدم إدخال قائمة بالتغييرات، لأنه لا يوجد إصدار سابق لمقارنته به.

  1. افتح العلامة.
  2. انقر على السجل.

تعرض لوحة سجل التغييرات إصدارات العلامة، بدءاً من الأحدث. يعرض كل إدخال:

  • الإجراء، على سبيل المثال تم التعديل.
  • من أجرى التغيير: البريد الإلكتروني للمستخدم، أو رمز API الذي جاء التغيير عبره، على سبيل المثال رمز API “Release pipeline”، أو رمز API لرمز بلا اسم.
  • التاريخ والوقت.
  • رقم الإصدار، على سبيل المثال v4.
لوحة سجل التغييرات لعلامة الميزة، الأحدث أولاً: الإجراء، والبريد الإلكتروني للمستخدم أو رمز API، والتاريخ والوقت، والإصدار

لتحميل الإدخالات الأقدم، انقر على عرض المزيد.

الإجراءما الذي حدث
تم الإنشاءأُنشئت العلامة.
تم التعديلحفظ شخص ما تغييرات على العلامة.
تم تغيير نسبة الإطلاقتم تغيير نسبة إطلاق قاعدة واحدة عبر API أو خادم MCP. في Control Panel، يُحفظ تغيير نسبة الإطلاق على أنه تم التعديل.
تم الإيقافنقر شخص ما على إيقاف للجميع.
تمت إعادة التشغيلنقر شخص ما على تشغيل مجددًا.
تمت الأرشفةأُرشفت العلامة.
تمت الاستعادةاستُعيدت العلامة من الأرشيف.
تمت إعادة توزيع المستخدميننقر شخص ما على إعادة الخلط.

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

تقسيم المستخدمين إلى شرائح حسب العلامة

Anchor link to

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

  1. افتح أداة إنشاء الشرائح، كما هو موضح في كيفية إنشاء الشرائح.
  2. انقر على علامة الميزة في قائمة الشروط.
  3. في اختر علامة ميزة…، اختر العلامة. العلامات المؤرشفة ليست في القائمة.
  4. اختر الحالة:
    • مفعّلة: الأجهزة التي حصلت على العلامة مفعّلة.
    • معطّلة: الأجهزة التي حصلت على العلامة معطّلة.
    • ضمن القاعدة: الأجهزة التي طابقت شريحة قاعدة، سواء فعّلت نسبة الإطلاق، % للقاعدة العلامة لها أم لا. اختر القاعدة في اختر قاعدة….
    • شاهد الميزة (30 يومًا): الأجهزة التي أرسلت ظهوراً واحداً على الأقل للعلامة خلال آخر 30 يوماً، أي أن التطبيق استدعى logImpression لمفتاح هذه العلامة. راجع العثور على المستخدمين الذين وصلوا إلى ميزة.

يظهر علامة الميزة في أداة إنشاء الشرائح فقط في الخطط التي تتضمن علامات الميزات. لا يمكن استخدامه في شرائح High Speed Delivery، التي لا يمكن أن تحتوي إلا على شروط الوسوم.

الأجهزة الموجودة في كل حالة

Anchor link to

تتبع حالة الجهاز العلامات التي تلقاها آخر مرة والحالة الحالية للعلامة:

  • الجهاز الذي لم يطلب العلامة قط، على سبيل المثال لأن SDK الخاص به لا يقرأ العلامات، لا يكون في أي من الحالات.
  • بعد أن تغيّر القواعد أو نسبة الإطلاق، % لقاعدة، ينتقل الجهاز إلى حالة أخرى فقط عندما يطلب العلامات مرة أخرى.
  • عندما توقف العلامة أو تؤرشفها، تصبح مفعّلة وضمن القاعدة فارغتين خلال 10 ثوانٍ تقريباً، دون انتظار أن تطلب الأجهزة العلامات مرة أخرى. وتضم معطّلة حينها كل جهاز حصل على العلامة في أي وقت.

العثور على المستخدمين الذين وصلوا إلى ميزة

Anchor link to

للعثور على المستخدمين الذين رأوا الميزة المفعّلة:

  1. أضف شاهد الميزة (30 يومًا) للعلامة.
  2. أضف مفعّلة للعلامة نفسها واربط الشرطين بـ AND.

يطابق شاهد الميزة (30 يومًا) المستخدمين الذين وصلوا إلى الشاشة أو الكود الذي تتحكم فيه العلامة، سواء كانت العلامة مفعّلة لهم أم معطّلة. لهذا تضيف مفعّلة: فهو يُبقي فقط المستخدمين الذين حصلوا على الإصدار الجديد. النتيجة قريبة لكنها ليست دقيقة. يعكس مفعّلة العلامة التي حصل عليها الجهاز آخر مرة، وقد يأتي ظهوره من زيارة سابقة كانت فيها العلامة معطّلة.

تبقى الشريحة فارغة عندما لا يسجل التطبيق مرات الظهور. لتسجيلها، راجع Log impressions في دليل Web SDK، أو Android SDK، أو iOS SDK.

لا يؤدي إيقاف العلامة أو أرشفتها إلى إفراغ هذه الحالة. يخرج الجهاز منها بعد 30 يوماً من آخر ظهور له.

استخدام شرائح العلامات في Journey

Anchor link to

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

الحدود

Anchor link to

يطبّق Control Panel وواجهة API هذه الحدود عند حفظ علامة:

الحدالقيمة
القواعد لكل علامة10
الخصائص لكل علامة50
حجم خصائص علامة واحدة (المفاتيح والأنواع والقيم الافتراضية)10,000 بايت
عمق تداخل قيمة JSON5 مستويات
العلامات لكل تطبيقتحددها خطتك، ولا تُحتسب العلامات المؤرشفة
البيانات التي يتلقاها جهاز واحد لجميع علامات التطبيق64 KB

إدارة العلامات عبر API

Anchor link to

يمكن لمطوريك إنشاء العلامات وتغييرها من أنظمتهم الخاصة باستخدام Feature Flags API، ويمكن لمساعدي الذكاء الاصطناعي المتصلين عبر خادم Pushwoosh MCP إدارة العلامات بالعمليات نفسها.