
يتم تفعيل رسائل Braze داخل التطبيق من خلال خمسة أحداث في حزمة تطوير البرمجيات (SDK): بدء الجلسة، والنقر على إشعار الدفع، وأي عملية شراء، وعملية شراء محددة، والحدث المخصص. يرسل Braze الرسائل المؤهلة إلى الجهاز عند بدء الجلسة، ثم يعرضها الجهاز بمجرد وقوع حدث التفعيل. لا تؤدي الأحداث المخصصة المسجلة عبر واجهة برمجة التطبيقات (API) إلى تفعيل هذه الرسائل، بل الأحداث المسجلة بواسطة SDK فقط.
ما الذي يفعّل فعلياً رسالة داخل التطبيق في Braze؟
خمسة أنواع من الأحداث فقط لا غير. يوثقها Braze كالتالي: بدء الجلسة، والنقر على إشعار الدفع، وأي عملية شراء، وعملية شراء محددة، والحدث المخصص. النوعان الأخيران يدعمان فلاتر الخصائص، مما يتيح لك حصر التفعيل في رمز منتج (SKU) معين أو قيمة خاصية حدث محددة.
هناك سطر واحد في وثائق مطوري Braze يحدد معظم ما يلي: لا يمكن تفعيل الرسائل داخل التطبيق عبر واجهة برمجة التطبيقات (API) أو أحداثها. الأحداث المخصصة المسجلة بواسطة SDK هي الوحيدة التي تقوم بذلك.
هذا يستبعد فئة كاملة من التصاميم التي تبدو بديهية على السبورة. حدث تأكيد الطلب القادم من النظام الخلفي (Backend) والذي يتدفق إلى Braze عبر /users/track سيقوم بتحديث شريحة المستخدمين، لكنه لن يعرض رسالة داخل التطبيق.
أي نوع تفعيل يجب أن تختار فعلياً؟
خمسة خيارات، لكن الاختيار عادة ما ينحصر في أمرين: ما إذا كانت اللحظة التي تهتم بها تحدث داخل التطبيق، وما إذا كنت تسجلها بالفعل.
يبدو "الحدث المخصص" كحل مرن وهو كذلك في العادة. يكمن الفشل في مرحلة مبكرة: تختار الفرق هذا الخيار، ثم تكتشف أن الحدث الذي أرادوه مسجل من جهة الخادم ولا يمكنه الوصول إلى الجهاز. تحقق من مكان تسجيل الحدث قبل تصميم حملة بناءً عليه.
كيف يوصل Braze الرسالة المفعلة؟
يتم التسليم على مرحلتين، وهذا التقسيم أكثر أهمية مما توحي به لوحة التحكم.
عند بدء الجلسة، يرسل Braze كل رسالة داخل التطبيق يكون المستخدم مؤهلاً لها إلى الجهاز ويقوم بتحميل محتوياتها مسبقاً. تظل الرسالة بعد ذلك على الجهاز في حالة انتظار. وعند وقوع حدث التفعيل، يعرضها الجهاز محلياً.
بما أن الرسالة موجودة بالفعل، يمكن عرض الرسالة المخزنة مؤقتاً داخل التطبيق دون أي اتصال بـ Braze على الإطلاق. يوثق Braze عمل هذه الميزة حتى في وضع الطيران.
هناك شكل ثانٍ. يطلق Braze على الأول اسم inapp وعلى الثاني اسم templated_iamتصل الرسالة المُنمذجة إلى الجهاز كمشغل فقط، ويقوم الجهاز بإجراء طلب شبكة لجلب المحتوى الفعلي عند تفعيل هذا المشغل.
تصبح رسالتك مُنمذجة إذا قمت بتحديد إعادة تقييم أهلية الحملة قبل العرض، أو إذا كانت تحتوي على أي من وسوم Liquid التالية:
connected_contentcanvas_entry_propertiescatalog_itemscatalog_selection_itemsevent_properties- متغيرات الرسائل النصية القصيرة (SMS)
تشير Braze إلى أن الرسالة المُنمذجة لن يتم تسليمها عندما لا يتوفر اتصال بالإنترنت على الجهاز، وقد لا يتم تسليمها إذا استغرق حل وسوم Liquid وقتاً طويلاً جداً.
لذا، فإن حدود النمذجة هي أيضاً حدود للعمل دون اتصال بالإنترنت. تؤدي إضافة استدعاء Connected Content واحد إلى نقل الرسالة من الفئة الأولى إلى الثانية. لا يوجد أي تنبيه في أداة الإنشاء يخبرك بحدوث ذلك.
كيف يمكنك إعداد مشغل، خطوة بخطوة؟
- انتقل إلى المراسلة > الحملات واختر إنشاء حملة، ثم رسالة داخل التطبيق. الرسائل داخل التطبيق غير متاحة في الحملات متعددة القنوات.
- اختر منصات التسليم الخاصة بك. تغطي تطبيقات الجوال حزم تطوير البرمجيات (SDKs) لنظامي iOS وAndroid وVega. وتغطي متصفحات الويب حزمة تطوير البرمجيات (Web SDK).
- قم بكتابة الرسالة وتنسيقها.
- في خطوة التسليم، حدد إجراء التشغيل من الأنواع الخمسة المذكورة أعلاه.
- حدد الأولوية. الخيارات المتاحة هي مرتفعة، ومتوسطة، ومنخفضة، وتعتبر الأولوية المتوسطة هي الإعداد الافتراضي.
- استهدف شريحتك.
- اختر أحداث التحويل. تتيح منصة Braze نافذة تحويل تصل إلى 30 يوماً.
- حدد وقت البدء. تاريخ الانتهاء اختياري.
هناك قيدان يجب معرفتهما قبل التصميم حول Canvas بدلاً من ذلك. لا يمكن أن تكون خطوات Canvas التي تحتوي على رسائل داخل التطبيق قائمة على إجراء. كما أن حد الـ 200 حملة المذكور أدناه ينطبق على الحملات، وليس على Canvas.
لماذا يظهر أحياناً نفس المشغل رسالة خاطئة؟
لأن الأولوية في Braze عبارة عن فئة (Bucket)، وليست رقماً.
عندما يكون لحدث تشغيل واحد أكثر من رسالة مؤهلة، يتم تسليم الرسالة ذات الأولوية الأعلى فقط. المرتفعة والمتوسطة والمنخفضة هي فئات، ويمكن أن تندرج عدة حملات ضمن نفس الفئة. تحل Braze حالات التعادل بناءً على الحداثة: عندما تشترك حملتان في نفس المشغل وبنفس الأولوية المتوسطة الافتراضية، يتم تفعيل الحملة التي تم إنشاؤها مؤخراً.
هذا هو السلوك الذي يربك الفرق. يقوم زميل بإطلاق حملة جديدة عند "بدء الجلسة" (Start Session). تقع الحملة تلقائياً في فئة الأولوية المتوسطة وتأخذ الأولوية من حملة تعمل منذ عام. لا تظهر أي أخطاء، ولا توجد أي تحذيرات.
يعد "بدء الجلسة" (Start Session) المشغل الأكثر عرضة للازدحام، لأن حملات الإعداد والتنشيط تميل إلى التجمع هناك.
الحل هو تعيين أولوية دقيقة، مما يتيح لك سحب الحملات وترتيبها بشكل صريح داخل المجموعة. يستحق الأمر القيام بذلك مع أي حدث تفعيل تستخدمه أكثر من حملة واحدة، وغالباً ما يكون "بدء الجلسة" (Start Session) أحد هذه الأحداث.
ما الذي يعطل هذا في بيئة الإنتاج؟
أربعة أمور، مرتبة تقريباً حسب تكرار حدوثها.
لا يمكن لنفس حدث التفعيل إرسال البيانات واستخدامها في آن واحد. منصة Braze صريحة في هذا الشأن: إذا قام حدث تفعيل بإرسال بيانات إلى Braze وأطلق رسالة داخل التطبيق، فلا يمكن للرسالة استخدام بيانات الملف الشخصي المحدثة حديثاً، حتى مع وجود تأخير مجدول. استخدم حدثي تفعيل منفصلين، أحدهما لإرسال البيانات والآخر لإطلاق الرسالة.
فترة التهدئة لمدة 30 ثانية. افتراضياً، تقوم حزمة تطوير البرمجيات (SDK) بوضع حد لمعدل الرسائل داخل التطبيق بحيث تظهر مرة واحدة كل 30 ثانية. ربط رسالتين في جلسة واحدة، على سبيل المثال زر في الرسالة الأولى يقوم بتفعيل الثانية، يتطلب تجاوز هذا الإعداد:
// Web SDK: minimum interval between triggered in-app messages, in seconds
braze.initialize('YOUR-API-KEY', { minimumIntervalBetweenTriggerActionsInSeconds: 5 })<!-- Android: braze.xml -->
<integer name="com_braze_trigger_action_minimum_time_interval_seconds">5</integer>توصي Braze بعدم النزول عن 10 ثوانٍ في بيئة الإنتاج. ضبط القيمة على 0 لا يجبر رسالتين على الظهور معاً، لأن الرسالة المفعلة لن تُعرض طالما أن هناك رسالة أخرى لا تزال مرئية.
إعادة التقييم تؤثر على زمن الاستجابة والعمل دون اتصال بالإنترنت. تفعيل خيار إعادة التقييم يضيف طلباً قبل العرض، وتقدر Braze هذا الوقت بأقل من 100 مللي ثانية. كما يجعل الرسالة تعتمد على القوالب، مما يعني أنها لن تعمل في حال عدم الاتصال بالإنترنت.
الحملات المتوقفة تستمر في الظهور. المستخدمون الذين بدأوا جلسة قبل إيقافك للحملة لا يزال بإمكانهم رؤية الرسالة عند قيامهم بحدث التفعيل، ويتم احتسابهم كظهور فريد.
ما يعنيه كل عرض عادةً
تتشابه معظم مشكلات الرسائل داخل التطبيق في ظهورها، حيث تظهر عادةً على شكل رسالة لم تظهر للمستخدم. ويرجع السبب في ذلك دائمًا إلى واحد من خمسة عوامل.
إن اتباع هذه القائمة بالترتيب سيساعدك في حل معظم البلاغات بشكل أسرع من فتح الحملة وقراءة إعداداتها، لأن أربعة من الأسباب الخمسة لا يمكن رؤيتها من واجهة الحملة.
ما هو عدد حملات الرسائل داخل التطبيق التي يمكن لمساحة عمل واحدة تشغيلها؟
يمكن تشغيل ما يصل إلى 200 حملة نشطة قائمة على الإجراءات داخل التطبيق لكل مساحة عمل. وُضع هذا الحد لحماية سرعة التسليم ومنع انتهاء مهلة الطلبات، علمًا بأن حملات Canvas مستثناة من هذا العدد.
يشمل هذا العدد الحملات النشطة التي لم تصل إلى تاريخ انتهائها وتلك التي ليس لها تاريخ انتهاء. أما الحملات التي تجاوزت تاريخ انتهائها فلا تُحتسب. تشير Braze إلى أن متوسط عدد الحملات النشطة لدى العميل الواحد هو 26 حملة في وقت واحد.
الرقم المهم ليس 200، بل عدد الحملات النشطة التي لا تزال تؤدي وظيفتها. فكل حملة خاملة قائمة على الإجراءات يتم تقييمها عند بدء كل جلسة، وتوضح Braze العواقب بصراحة: معالجة الحملات التي لم تعد ترسل رسائل تؤدي إلى إبطاء التسليم للجميع.
كيف يجب عليك ترتيب هذه الخطوات في مساحة عمل فعلية؟
تخبرك الوثائق بوظيفة كل إعداد، لكنها لا تخبرك بالترتيب الأمثل لتنفيذها، وهذا الترتيب هو مصدر معظم المشكلات التي يمكن تجنبها.
ابدأ بحصر المشغلات قبل بناء أي شيء جديد. ضع قائمة بكل حملة نشطة داخل التطبيق مقابل حدث التشغيل الذي تستخدمه. ما تبحث عنه ليس عدد الحملات، بل تضارب المشغلات: كم عدد الحملات التي تشترك في "بدء الجلسة" (Start Session)، وهل لا يزال أي منها في فئة الأولوية الافتراضية. عادة ما تكون هذه القائمة أقصر مما يتوقعه الناس، ولكنها تحتوي على تداخلات أكثر مما يتوقعون.
بعد ذلك، حدد أولوية دقيقة لكل مشغل مشترك قبل إضافة أي شيء جديد. القيام بذلك بعد إطلاق حملة جديدة يعني أنك ستضطر لتشخيص مشكلة تسليم فعلية بدلاً من منع حدوثها.
اختبر مسار العمل دون اتصال بالإنترنت بشكل متعمد وليس عرضيًا. وضع الطيران هو أسرع طريقة لمعرفة ما إذا كانت الرسالة التي افترضت أنها مخزنة مؤقتًا تعتمد بالفعل على القوالب. إذا لم تظهر الرسالة، فهذا يعني أن شيئًا ما بداخلها تجاوز حدود القوالب. عادة ما يكون ذلك بسبب وسم تخصيص أضافه شخص ما لسبب وجيه.
اترك فترة تتراوح بين 24 إلى 48 ساعة بين الإطلاق والتسليم المتوقع. توصي Braze بهذا الفاصل الزمني ليتمكن المستخدمون من استيفاء شروط الأهلية وبدء جلسة. الحملات التي تُطلق في صباح يوم العرض الترويجي غالبًا ما تعاني من ضعف في التسليم في اليوم الأول، ويُلقى باللوم عليها بسبب ذلك.
الأسئلة الشائعة
هل يمكنني إطلاق رسالة Braze داخل التطبيق من نظامي الخلفي (Backend)؟
ليس بشكل مباشر. لا يمكن إطلاق الرسائل داخل التطبيق عبر واجهة برمجة التطبيقات (API) أو أحداث API، بل فقط من خلال الأحداث المخصصة المسجلة عبر حزمة تطوير البرمجيات (SDK). توثق Braze حلاً بديلاً باستخدام إشعار دفع صامت يؤدي إلى استدعاء إشعار دفع لتسجيل حدث مخصص من جانب SDK، والذي يقوم بدوره بإطلاق الرسالة.
لماذا تظهر رسالتي داخل التطبيق بعد بضع ثوانٍ من بدء الجلسة؟
تدرج Braze ثلاثة أسباب شائعة: تأخير تم ضبطه في مشغل الحملة، أو تخصيصات في SDK، أو تسجيل حدث التشغيل في وقت متأخر عن المتوقع، وهو أمر أكثر احتمالاً مع الرسائل التي تعتمد على القوالب.
هل تؤدي إضافة المحتوى المتصل (Connected Content) إلى تغيير طريقة تسليم رسالتي؟
نعم. الرسالة التي تحتوي على connected_content يتم تسليمها كرسالة داخل التطبيق تعتمد على قالب، لذا يقوم الجهاز بجلب المحتوى عند لحظة التفعيل. ولن تظهر الرسالة في حال عدم وجود اتصال بالإنترنت.
ماذا يحدث عند استخدام حملتين لنفس المشغّل؟
يتم تسليم الرسالة ذات الأولوية الأعلى فقط. وفي حال تساوي الأولوية، يتم اختيار الحملة التي تم إنشاؤها مؤخراً. استخدم خيار "تحديد أولوية دقيقة" (Set Exact Priority) لضبط الترتيب بشكل صريح.
هل حد الـ 200 حملة ينطبق على مساحة العمل أم على التطبيق؟
ينطبق على مساحة العمل، ويشمل حملات الرسائل داخل التطبيق النشطة القائمة على الإجراءات. ولا يتم احتساب حملات الـ Canvases ضمن هذا الحد.
المصادر
- Braze، تفعيل الرسائل داخل التطبيق. تم الاسترجاع في 03 سبتمبر 2026.
- Braze، إنشاء رسالة داخل التطبيق باستخدام المحرر التقليدي. تم الاسترجاع في 03 سبتمبر 2026.
- Braze، التسليم القائم على الإجراءات. تم الاسترجاع في 03 سبتمبر 2026.
تتمتع الرسائل داخل التطبيق بأهمية كبرى ضمن برنامج دورة حياة العميل، إلى جانب جهود الاحتفاظ بالعملاء واستعادتهم بدلاً من الاعتماد عليها بمفردها.
تُعد CustomerIK شريكاً معتمداً لتنفيذ حلول Braze، حيث نقدم خدماتنا في مجالات التهيئة، والتكامل التقني، وعمليات التسويق، وإدارة بيانات العملاء.




