
تتيح لك ميزات "أعلام الميزات" (Feature Flags) من Braze تشغيل ميزة ما أو إيقافها لمستخدمين محددين دون الحاجة إلى إصدار تعليمات برمجية جديدة أو انتظار تحديث متجر التطبيقات. يمكن التحكم في العلم من خلال نسبة طرح مئوية، أو خطوة في Canvas، أو تجربة. إن اختيار واجهة تحكم واحدة لكل علم والاتفاق على المسؤول عنه هو ما يضمن التنبؤ بعمليات الإصدار.
أبرز النقاط
- يفصل "علم الميزة" بين إرسال التعليمات البرمجية وإطلاق الميزة نفسها، مما يمنح فرق المنتج والتسويق القدرة على التحكم في ظهور الميزة من خلال لوحة التحكم.
- خصص لكل علم واجهة تحكم واحدة فقط: شريط التمرير الخاص بالطرح، أو خطوة "علم الميزة" في Canvas، أو تجربة "علم الميزة".
- يتم تقييم القواعد من الأعلى إلى الأسفل، ويتم اختيار المستخدم بناءً على أول قاعدة يستوفي شروطها.
- يؤدي الدخول إلى خطوة في Canvas إلى تجاوز إعدادات الطرح الافتراضية، لذا قد يحدث تعارض بين إعدادات الطرح وخطوة Canvas إذا تم استخدامهما معاً لنفس العلم.
- تتطلب التجارب تسجيل مرات الظهور، وتدعم ما يصل إلى تسع مجموعات، وتستبعد المستخدمين الموجودين في مجموعة التحكم العالمية (Global Control Group).
- يتم تحديث الأعلام عند بدء الجلسة، وتخضع التحديثات اليدوية لقيود بمعدل مرة واحدة كل خمس دقائق (قابلة للتغيير)، لذا تجنب الاعتماد عليها في التحديثات الحرجة والحساسة للوقت.
ما الذي تغيره "أعلام الميزات" من Braze في عملية الإصدار؟
يفصل "علم الميزة" بين حدثين كانا يحدثان معاً عادةً: وصول التعليمات البرمجية إلى الأجهزة ووصول الميزة إلى المستخدمين. تصف Braze النتيجة بأنها القدرة على تشغيل ميزة ما أو إيقافها في بيئة الإنتاج دون الحاجة إلى نشر تعليمات برمجية إضافية أو تحديثات متجر التطبيقات.
هذا يغير من يملك صلاحية اتخاذ القرار. يقوم المهندسون بنشر التعليمات البرمجية مرة واحدة، مع إبقاء العلم في حالة إيقاف. بعد ذلك، تقرر فرق المنتج والتسويق من يرى الميزة ومتى، وذلك من خلال لوحة التحكم.
يكون العلم غير نشط افتراضياً، مما يتيح لك فصل تاريخ الإصدار عن تفعيل الميزة لدى المستخدم. تعامل مع هذا الوضع الافتراضي كأداة رئيسية للميزة، فهو يمنح عملية الإطلاق جدولاً زمنياً خاصاً بها.
ما هي واجهة التحكم التي يجب أن تدير كل علم؟
يمكن تفعيل العلم في ثلاثة أماكن: شريط تمرير الطرح، أو خطوة "علم الميزة" في Canvas، أو تجربة "علم الميزة". كل منها يجيب على سؤال مختلف، ويحدد هذا الاختيار مسار كل ما يليه.
واجهة التحكم: الأفضل لـ: ما يجب مراقبته: نسبة الطرح والقواعد: الإصدار التدريجي الموجه من قبل الهندسة لشريحة معينة: تجنب استخدامه في الأعلام التي يتم تفعيلها أيضاً عبر Canvas أو التجارب. خطوة "علم الميزة" في Canvas: مشاركة فرق المنتج والتسويق في استهداف جمهور واحد ورسالة واحدة: الدخول إلى هذه الخطوة يتجاوز إعدادات الطرح الافتراضية. تجربة "علم الميزة": قياس تأثير الميزة على معدلات التحويل: تتطلب تسجيل مرات الظهور، ويتم استبعاد مستخدمي مجموعة التحكم العالمية.
تتيح لك Braze إضافة وصف للعلم، وتشير الوثائق إلى أن هذا الوصف يمكن أن يجيب على تساؤلات الآخرين عند تصفح الأعلام.
نرى أن الوصف يجب أن يحدد ثلاثة أمور قبل الإطلاق: المسؤول عن العلم، وشروط إيقاف تشغيله، والواجهة التي تتحكم فيه. العلم الذي لا يملك مسؤولاً محدداً هو العلم الذي لا يجرؤ أحد على إيقافه.
كيف تقرر عمليات الطرح متعددة القواعد من يحصل على العلم؟
يتم تقييم القواعد من الأعلى إلى الأسفل، حسب ترتيب إدراجها. يستوفي المستخدم شروط أول قاعدة يطابقها. إذا لم يطابق أياً منها، يتم تطبيق القاعدة الافتراضية "الجميع الآخرون".
هذا الترتيب يجعل من قائمة القواعد عملاً تصميمياً. ضع الجماهير المحددة ذات الثقة العالية في البداية، مثل المختبرين الداخليين، والجماهير الأوسع تحتها. اترك قاعدة "الجميع الآخرون" معطلة حتى تجد سبباً لتفعيلها.
تصف الوثائق قاعدة "الجميع الآخرون" بأنها قاعدة افتراضية. إذا تم إيقافها، فلن يحصل المستخدم الذي لا يستوفي أي قاعدة أخرى على العلم عند بدء جلسته.
لماذا لا ينبغي عليك الجمع بين الطرح التدريجي (Rollout) وCanvas أو تجربة؟
لتجنب تفعيل الميزة أو تعطيلها للمستخدمين من خلال نقاط دخول مختلفة، تنصح Braze باختيار مسار واحد. إما ضبط شريط التمرير الخاص بالطرح التدريجي فوق الصفر، أو تفعيل الميزة (Flag) داخل Canvas أو تجربة. إذا كان سيتم استخدام الميزة في Canvas أو تجربة، فاجعل الطرح التدريجي عند الصفر.
يعود السبب إلى كيفية تفاعل هذه الواجهات مع بعضها. فالدخول إلى خطوة في Canvas يتجاوز إعدادات الطرح التدريجي الافتراضية، مما يعني أن Canvas قد يفعل ميزة لمستخدم لا يستوفي شروط الطرح التدريجي. وبالتالي، قد تتعارض أداتا التحكم بشأن المستخدم نفسه.
من أنماط الفشل التي يجب التخطيط لها، البدء بميزة كطرح تدريجي، ثم ربطها لاحقاً بـ Canvas دون إعادة ضبط شريط التمرير. في هذه الحالة، لم يقم أحد بتغيير الجمهور المستهدف، ومع ذلك لم يعد الجمهور هو ما يعتقده أي شخص.
الحل إجرائي؛ فعند نقل الميزة إلى واجهة تحكم جديدة، قم بإعادة ضبط الواجهة القديمة أولاً، وتحقق من ملف تعريف اختباري في علامة تبويب "أهلية ميزات الميزة" (Feature Flags Eligibility).
كيف يمكنك تنسيق عمل فريقي المنتج والتسويق باستخدام ميزة Canvas؟
تقترح Braze استخدام ميزات الميزة (Feature Flags) لمزامنة طرح الميزة مع رسائلها التسويقية. في مثالها، يظل الطرح التدريجي عند الصفر، بينما تقوم خطوة "ميزة الميزة" في Canvas بتفعيلها لشريحة مستهدفة، وتتبعها الرسائل تلقائياً.
تنجح هذه الطريقة لأن الجمهور يتم تحديده مرة واحدة؛ فالأشخاص الذين يمكنهم رؤية الميزة هم أنفسهم الذين يتلقون الإعلان عنها. دليلنا حول أتمتة سير العمل المعقد في Braze Canvas يغطي جانب Canvas بمزيد من التفصيل.
هناك سلوكان موثقان يستحقان مكاناً في دليل التشغيل الخاص بك:
- إذا دخل مستخدم إلى مسارين (Canvas) يشيران إلى نفس الميزة، فإنه يتلقى القيمة من المسار الذي دخل إليه أخيراً.
- عند إيقاف Canvas أو أرشفته أو إزالة الخطوة منه، لن يعود المستخدمون الذين مروا بتلك الخطوة يتلقون الميزة أو خصائصها.
تكتسب النقطة الثانية أهميتها عند التسليم؛ فإذا كان Canvas يتحكم في ميزة وقمت بإيقافه، سيفقد المستخدمون الذين اعتمدوا على تلك الخطوة الميزة، ما لم تكن مغطاة بطرح تدريجي أو تجربة أو Canvas آخر.
ما الذي تحتاجه تجربة ميزة الميزة (Feature Flag) من تطبيقك؟
بما أن التجربة تقارن بين مجموعات، يجب على التطبيق الإبلاغ عمن رأى ماذا. تطلب منك Braze تسجيل انطباع ميزة الميزة (Impression) كلما رأى المستخدم الميزة أو كان بإمكانه رؤيتها، بما في ذلك المستخدمون في المجموعة الضابطة. يتم تسجيل الانطباعات مرة واحدة لكل جلسة.
تدعم التجربة ما يصل إلى تسع مجموعات: مجموعة ضابطة واحدة وما يصل إلى ثمانية متغيرات. كما تنصح Braze بعدم تغيير التوزيع بعد الإطلاق.
نصيحتنا هي تجنب إضافة متغيرات في منتصف الاختبار، لأن دقة المقارنة تعتمد كلياً على سلامة التقسيم.
يجب أن تكون أحداث التحويل التي تختارها موجودة قبل الإطلاق. إذا كان نموذج الأحداث لديك غير مكتمل، ابدأ بدليلنا حول تتبع أحداث المستخدم في Braze. أما بالنسبة لعقلية الاختبار بحد ذاتها، فراجع مقالنا حول اختبار A/B لحملات البريد الإلكتروني في Braze يطبق نفس الانضباط على قناة مختلفة.
نقطة إضافية موثقة: لا يمكن تفعيل ميزات "أعلام الميزات" (feature flags) للمستخدمين في مجموعة التحكم العالمية (Global Control Group)، لذا لا يمكنهم المشاركة في تجارب أعلام الميزات. إذا كنت تعتمد على مجموعات الاستبعاد (holdouts) في أماكن أخرى، فإن دليلنا حول قياس Decisioning Studio باستخدام مجموعة استبعاد يعد مرجعاً مفيداً لضمان نزاهة المقارنات.
ما مدى حداثة العلم (flag) على الجهاز؟
يتم تحديث الأعلام تلقائياً عند بدء الجلسة وعند تغيير المستخدم النشط. يمكن أيضاً تحديثها يدوياً، وتوثق Braze أن التحديثات محدودة بمعدل مرة واحدة كل خمس دقائق، وهو أمر قابل للتغيير. يقوم حزمة تطوير البرمجيات (SDK) بتخزين القيم مؤقتاً، لذا تظل متاحة في وضع عدم الاتصال.
توصي Braze بالتحديث اليدوي فقط قبل إجراء مهم للمستخدم، مثل تحميل صفحة الدفع. بخلاف ذلك، خطط لتغيير الأعلام عند بدء الجلسة التالية.
تشير Braze أيضاً إلى أن الأعلام تعتمد على اتصال الجهاز للمزامنة، وتوصي بتجنب استخدام هذه القنوات للتحديثات الحرجة والحساسة للوقت. لذا، يعد العلم أداة جيدة للإصدار المرحلي، ولكنه خيار سيء للإجراءات التي يجب أن تتم في لحظة محددة.
تتطلب التغييرات في منتصف الجلسة قراراً من فريق التطبيق الخاص بك. تشير Braze إلى أنك قد لا ترغب في إعادة عرض الواجهة عند تغيير العلم، لتجنب حدوث تغيير مفاجئ في مظهرها. النمط الموصى به هو الاستماع لتحديثات الأعلام وتحديد التغييرات التي يجب إعادة عرضها.
تضيف إصدارات SDK الأحدث اشتراكاً في الأحداث يحل محل اشتراك التحديث السابق. توثق Braze هذا لـ Web SDK 7.0.0 وما بعده و Android SDK 44.0.0 وما بعده، لذا تحقق من الإصدار الذي تستخدمه تطبيقاتك.
ما الذي يجب عليك حسمه قبل إنشاء العلم الأول؟
هناك أربع حقائق تستحق الحسم مبكراً، لأن تغيير أي منها لاحقاً يعد أمراً معقداً.
الحقيقة الموثقةالسبب في أهميتهامعرف العلم (Flag ID)لا يمكن تغيير المعرف لاحقاًاتفق على اصطلاح تسمية قبل إنشاء العلم الأولحمولة الخصائص (Property payload)تقتصر الخصائص على 10,000 حرف كحد أقصىاحتفظ بالمحتوى الكبير في أنظمتك الخاصة ومرر المراجع فقطتهيئة SDKلا يمكن استخدام الأعلام لتقييد المستخدمين الذين يتم إنشاؤهم أو تتبعهم في Brazeتعامل مع قرارات الموافقة والتتبع بشكل منفصلعدد الأعلام النشطةحدود الخطة هي 10 أعلام نشطة لكل مساحة عمل في النسخة المجانية و110 في النسخة المدفوعةيُحتسب العلم نشطاً طالما أن نسبة طرحه أكبر من صفر أو أنه موجود في Canvas أو تجربة نشطة، لذا قم بإيقاف الأعلام المنتهية
فيما يخص التسمية، تقترح Braze نمطاً يعتمد على السلوك والمنتج والميزة. اجعل السلوك معطلاً افتراضياً في الكود الخاص بك، وتجنب عبارات مثل "disabled" في الاسم.
اسم علم مثل show_loyalty_tier_banner يقرأ بوضوح. بينما اسم مثل disable_old_banner يستدعي احتمالية الوقوع في نفي مزدوج عند العمل في وقت متأخر من الليل.
علينا أيضاً حسم مسألة خارج نطاق Braze: من المخول بتغيير "العلم" (flag) في بيئة الإنتاج؟ فالعلم هو مفتاح تحكم في بيئة الإنتاج، ويستحق نفس مستوى الانضباط المتبع في عمليات النشر.
تتعلق نقطة حزمة تطوير البرمجيات (SDK) بالبيانات الشخصية. أما مسألة تتبع المستخدمين وكيفية حدوث ذلك، فهي تخضع لسياسات الموافقة الخاصة بفرق الشؤون القانونية والأمن لديكم، وهذا المقال لا يبت في هذا الأمر.
كيف يمكن لمتجر تجزئة افتراضي ترتيب إطلاق برنامج ولاء؟
لنفترض أن متجر تجزئة يطلق مستوى ولاء جديداً في تطبيقه. الأرقام هنا ليست حقيقية ومقصودة لذاتها: هذا مجرد توضيح للترتيب، وليس سجلاً لبرنامج فعلي.
- ينشئ الفريق "علماً" (flag) بمعرف واضح ووصف يحدد المالك وشروط إيقاف التشغيل. ويبقى معدل الطرح عند مستوى الصفر.
- يتم شحن التطبيق مع قراءة العلم في الكود البرمجي، وإخفاء شاشة الولاء افتراضياً، مع وجود اشتراك في الأحداث بحيث يتم تحديث الشاشة بشكل مناسب عند تغيير حالة العلم.
- تتيح خطوة "Canvas Feature Flag" تفعيل العلم لشريحة من المختبرين الداخليين. يتحقق الفريق من الأهلية على ملف تعريف تجريبي ويتأكد من ظهور الشاشة.
- يتم توسيع نطاق Canvas ليشمل شريحة الإطلاق، ويرسل نفس الـ Canvas الإعلان الخاص بذلك. وهكذا، يصبح لدى فريقي المنتج والتسويق تعريف موحد للجمهور.
- قبل إيقاف الـ Canvas، يقرر الفريق ما الذي سيغطي هؤلاء المستخدمين لاحقاً. فإيقاف الخطوة يؤدي إلى إزالة العلم من المستخدمين الذين اعتمدوا عليه، لذا يتم اختبار عملية التسليم على شريحة صغيرة أولاً.
- بمجرد ترقية الجميع وعدم الحاجة إلى خيار التعطيل، يقوم الفريق بإزالة العلم من الكود وأرشفته.
الخطوة الخامسة هي الأسهل في التجاوز. يبدو الإطلاق مكتملاً بمجرد وصول الإعلان، لكن مرحلة التسليم هي التي تتغير فيها حالة الميزة دون تدخل يدوي. التخطيط لها مسبقاً يستغرق بضع ساعات، بينما اكتشاف المشاكل أثناء التشغيل المباشر قد يكلف عطلة نهاية أسبوع كاملة.
كيف يرتبط هذا ببقية برنامج Braze الخاص بك؟
تعمل الأعلام (flags) بشكل أفضل عندما تكون الجماهير مشتركة بدلاً من إعادة بنائها. يتيح لك Braze تصفية الشرائح ومراسلة الجماهير بناءً على ما إذا كان المستخدم قد فعّل العلم، كما يقوم بحظر الشرائح التي تشير إلى أعلام أخرى لمنع التكرار. مقالنا حول تقسيم جمهورك لتحقيق تفاعل أفضل في Braze يغطي كيفية الحفاظ على تنظيم هذه التعريفات.
من الناحية الهندسية، تعد الأعلام واحدة من عدة طرق يمكن للمطورين من خلالها توسيع وظائف Braze. نظرتنا العامة حول كيف يمكن للمطورين توسيع وظائف Braze توضح مكان الأعلام مقارنة بالخيارات الأخرى.
بصفتنا شريكاً في تنفيذ Braze، توصي CustomerIK بتخصيص واجهة تحكم واحدة لكل علم، ومالك محدد، وخطة تسليم مكتوبة قبل تفعيل العلم لأول مستخدم.
الأسئلة الشائعة
1. هل يمكن طرح "علم الميزة" (feature flag) لمجموعة صغيرة من المستخدمين أولاً؟
نعم، يمكنك ذلك. قم بإنشاء شريحة لهؤلاء المستخدمين وفعّل العلامة (flag) لجميع أفراد هذه الشريحة. توثق Braze هذا النهج للاستهداف عبر البريد الإلكتروني أو معرف المستخدم أو أي سمة من سمات الملف الشخصي.
2. ماذا يحدث للمستخدمين عند تغيير نسبة الطرح؟
تظل عمليات الطرح متسقة عبر الأجهزة والجلسات. تؤدي زيادة النسبة إلى إبقاء المجموعة الحالية مفعلة وإضافة مستخدمين جدد، بينما تؤدي خفضها إلى الاحتفاظ بالمجموعة الأصلية فقط.
3. هل تمنع علامة الميزة (feature flag) حزمة تطوير البرمجيات (SDK) الخاصة بـ Braze من تتبع المستخدمين؟
لا، لا تمنع ذلك. يجب تهيئة حزمة SDK لتنزيل ومزامنة العلامات للمستخدم الحالي، لذا لا يمكن استخدام العلامات لتقييد المستخدمين الذين يتم إنشاؤهم أو تتبعهم.
4. هل تتوفر العلامات عندما يكون المستخدم غير متصل بالإنترنت؟
نعم، تتوفر. بعد التحديث، يتم تخزين العلامات على الجهاز ويمكن قراءتها في وضع عدم الاتصال. تنصح Braze بعدم الاعتماد على العلامات في التحديثات الحرجة والحساسة للوقت.
5. كم مرة يمكن لحزمة SDK تحديث العلامات؟
يتم تحديث العلامات عند بدء الجلسة وعند تغيير المستخدم النشط، وتخضع التحديثات اليدوية لقيود بمعدل مرة واحدة كل خمس دقائق، وهي قابلة للتغيير. تحقق من الوثائق الحالية قبل الاعتماد على هذا الأمر.
المصادر
- Braze،علامات الميزات. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- Braze،إنشاء علامات الميزات. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- Braze،تجارب علامات الميزات. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- Braze،الأسئلة الشائعة حول علامات الميزات. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- Braze،خطوة علامة الميزة في Canvas. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- Braze،ملاحظات الإصدار. تم الاسترجاع في ٢٦ أكتوبر ٢٠٢٦.
- بقلم CustomerIK، شريك تنفيذ معتمد لـ Braze.
CustomerIK هي شريك تنفيذ لـ Braze، وتعمل في مجالات الإعداد، والتكامل التقني، وعمليات التسويق، وإدارة بيانات العملاء.
إذا كنت تخطط لإصدار يعتمد على العلامات وترغب في الحصول على رأي إضافي حول من يتحكم في ماذا، فلنتحدث.




