
لتخصيص إشعارات الدفع في Braze، قم بإدراج بيانات الملف الشخصي باستخدام Liquid، وامنح كل سمة قيمة افتراضية، واكتب شرطاً لكل حالة يمكن أن يكون عليها المستخدم. استخدم abort_message() فقط في حال عدم وجود رسالة مقبولة. ثم قم بمعاينة الرسالة كـ "مستخدم" لكل حالة قبل الإرسال.
أبرز النقاط
- امنح كل سمة قيمة افتراضية، لأن الحقل المفقود سيظهر فارغاً في الرسالة.
- تظهر القيمة الافتراضية للقيم الفارغة ولكن ليس للقيم التي تحتوي على مسافات، لذا فإن الحقل الذي يحتوي على مسافة فقط سيتجاوز هذا الإعداد.
- استخدم abort_message() فقط في حال عدم وجود رسالة مقبولة، لأن فرع "else" الذي يقوم بالإلغاء سيوقف الإرسال لجميع المستخدمين الذين يفتقرون إلى تلك البيانات.
- تظهر عناوين إشعارات الدفع على نظام iOS في سطر واحد، لذا قم بتطبيق فلتر strip_newlines على مخرجات Liquid.
- يمكن أن تكون قيم targeted_device فارغة (null) في إشعارات الدفع، لذا أضف فرع "else" للنصوص المخصصة للجهاز.
- قم بالمعاينة كـ "مستخدم" لكل حالة، وفعّل خيار "تجاوز سمات المستلمين" (Override recipients' attributes) عند إجراء اختبارات الإرسال إذا كانت منطقية الإلغاء تعتمد على بيانات الملف الشخصي.
كيف يمكنك تخصيص إشعارات الدفع في Braze؟
تستخدم Braze لغة Liquid، وهي لغة قوالب لتخصيص الرسائل. يتم استبدال كل وسم ببيانات المستلم قبل إرسال الإشعار، مما يسمح للقالب الواحد بتغيير محتواه بناءً على بيانات الملف الشخصي للمستخدم أو سلوكه أو لغته.
يتطلب إدراج الاسم الأول وسماً واحداً فقط. القرارات الأكثر صعوبة هي ما يجب أن يقوله الإشعار عند فقدان الاسم، وما إذا كان يجب إرساله من الأساس. نحن نضع هذين الجوابين أولاً، ثم نكتب النص الإبداعي في النهاية.
الآليات المذكورة أدناه مستمدة من وثائق Braze، والتي تم ربطها في المصادر. وفي الحالات التي أضفنا فيها تقييمنا الخاص، تمت الإشارة إلى ذلك في النص.
ما هي البيانات التي يمكنك إدراجها في رسالة الدفع؟
تستخدم السمات القياسية مثل الاسم الأول صيغة الوسم {{${first_name}}}. تتطلب السمات المخصصة مساحة اسم custom_attribute، كما في {{custom_attribute.${reward_points}}}. يمكن لـ Braze Connected Content أيضاً إدراج معلومات من واجهة برمجة تطبيقات (API) في الرسالة.
تتميز إشعارات الدفع بمصدر إضافي واحد. تحمل وسوم targeted_device سمات الجهاز الذي يتلقى الرسالة، وهي تعمل مع إشعارات الدفع، والرسائل داخل التطبيق، واللافتات (Banners)، ولكنها لا تعمل مع بطاقات المحتوى (Content Cards) أو رسائل البريد الإلكتروني.
إذا كان المستخدم يمتلك التطبيق على عدة أجهزة، تقوم Braze افتراضياً بالإرسال إلى جميع الأجهزة التي تمتلك رمز دفع صالحاً. تستخدم كل محاولة إرسال معرف الجهاز المقابل.
كيف يجب أن تتعامل مع البيانات المفقودة في إشعار الدفع؟
إذا لم تحدد قيمة افتراضية وكان الحقل مفقوداً أو غير مضبوط لدى المستخدم، فسيظهر الحقل فارغاً في الرسالة. فإشعار يظهر بعبارة "مرحباً ، طلبك جاهز" يبدو كخطأ على شاشة القفل. يعمل الفلتر الافتراضي على حل هذه المشكلة: {{ ${first_name} | default: 'there' }}.
يستخدم مثال Braze الخاص عبارة "Valued User" كخيار بديل. نحن نفضل استخدام قيمة افتراضية تبدو كتحية عادية، لأن الإشعارات القصيرة التي تحتوي على نصوص بديلة رسمية تبدو وكأنها رسائل بريد جماعي مؤتمتة.
للقيم الافتراضية جانب دقيق؛ حيث توثق Braze أن القيمة الافتراضية تظهر للقيم الفارغة (null) ولكن ليس للقيم الخالية (blank) التي تحتوي على مسافات بيضاء فقط. فالسمة التي يتم ضبطها على مسافة واحدة تتجاوز القيمة الافتراضية، لذا اختبر أي حقل قد يحتوي على مسافات بيضاء.
عندما لا تكفي القيمة الافتراضية للتعبير عن المنطق المطلوب، استخدم الشروط (conditionals). تستخدم Braze رصيد المكافآت كمثال للحالات التي لا تغطي فيها القيمة الافتراضية كلاً من الأرصدة المنخفضة والأرصدة الفارغة، وتوضح أن المنطق الشرطي يمكنه إلغاء الرسالة في حال كانت القيم فارغة أو خالية.
تعمل المعاملات داخل وسوم if و elsif و unless، لكن الفلاتر لا تعمل، لذا قم بتعيين القيمة المفلترة لمتغير أولاً. تنصح Braze أيضاً بالاحتفاظ بقيمة افتراضية لاسم المستخدم داخل الشرط، حتى لا يرى العميل كود Liquid الخام في حال حدوث خطأ ما.
تعالج القيم الافتراضية والشروط الفجوات بعد ظهورها. وحيثما تكون السمات مفقودة بسبب تشتت سجلات العملاء عبر أنظمة مختلفة، فإن خدمة إدارة بيانات العملاء يغطي حل الهوية، وتصميم المخطط، وقواعد التحقق.
متى يجب إلغاء الإشعار بدلاً من استخدام خيار بديل؟
يقوم وسم abort_message()، عند وضعه داخل شرط، بإيقاف إرسال الرسالة إلى المستخدم. لن يظهر الإرسال الملغى في ملف تعريف المستخدم ولن يُحتسب ضمن عمليات التسليم أو حدود التكرار. يظهر هذا الإجراء في "مراقبة المراسلات" (Messaging Observability) بنتيجة "إلغاء Liquid"، ويتم تقييمه في وقت الإرسال.
نحن نحتفظ بخيار الإلغاء للإشعارات التي يكون فيها أي خيار بديل أسوأ من الصمت. فإشعار يذكر معلومة غير صحيحة عن حساب شخص ما أسوأ من عدم إرسال إشعار على الإطلاق، أما التحية بدون اسم فلا تعتبر كذلك.
نمط الفشل هنا هو فقدان الوصول بصمت. فاستخدام فرع else للإلغاء عند فقدان قيمة معينة يؤدي إلى إيقاف الإرسال لكل مستخدم يفتقر إلى تلك البيانات.
تحدد Braze منطق الإلغاء كسبب شائع عندما يدخل العديد من المستخدمين إلى حملة أو خطوة في Canvas ولكن لا ينتج عن ذلك سوى عدد قليل من عمليات الإرسال. في Canvas، لا يخرج المستخدم عند إلغاء خطوة ما، بل ينتقل إلى الخطوة التالية.
ما هي تفاصيل الإشعارات التي قد تفسد المحتوى المخصص؟
كل صف أدناه يمثل سلوكاً موثقاً، مع الفحص الذي نقوم بإجرائه للتحقق منه.
الموقفما توثقه Brazeالفحص الذي نقوم بهجسم الرسالةيجب تنسيق رسائل الإشعار كنص عاديحافظ على مخرجات Liquid خالية من أي ترميزعنوان iOSتظهر العناوين في سطر واحد، لذا قد لا يظهر النص بعد فاصل الأسطر؛ استخدم فلتر strip_newlinesقم بتغليف مخرجات العنوان في capture وقم بإزالة الأسطر الجديدةصورة من Liquid أو المحتوى المتصليجب أن يبدأ رابط الصورة بـ https://؛ لأن http:// سيؤدي إلى تعطل تطبيقكاقرأ الرابط المعروض في المعاينةنص خاص بالجهازيمكن أن تكون قيم targeted_device فارغة، على سبيل المثال عند استيراد رمز الإشعار عبر APIأضف دائماً فرع elseوسم التخصيص داخل علامات اقتباس مفردة في وسم assignالسلاسل الموجودة داخل علامات اقتباس مفردة هي نصوص حرفية، لذا لا يتم إدراج الوسوم بداخلها؛ استخدم المتغيرات أو فلتر appendابحث عن الأقواس الخام في كل معاينةرسالة تظهر كمسافة واحدةيتم إرسال الرسالة التي تحتوي على مسافة واحدة فقط كإشعار صامتقم بمعاينة كل حالة للتأكد من عدم وجود مخرجات فارغة
نحن نتعامل مع الإشعار الذي يأتي عنوانه بالكامل من Liquid على أنه عالي المخاطر. إذا كان من الممكن فقدان كل سمة فيه، فقد يظهر العنوان فارغاً، لذا نحتفظ بكلمة ثابتة واحدة فيه. توصي Braze باستخدام اسم فريد لأي متغير تنشئه، لأن الاسم القريب من وسم مدعوم مثل language قد يؤثر على منطق عملك.
يمكن لـ Liquid سحب المعلومات التي وافق المستخدم على مشاركتها من حسابه. نحن نبقي أي معلومات حساسة خارج جسم الإشعار، لأنها تظهر على شاشة الجهاز، وما يمكنك إدراجه يعتمد على الموافقة التي حصلت عليها. هذا المنشور لا يحسم هذه المسألة القانونية.
كيف تختبر الإشعارات المخصصة قبل إرسالها؟
توصي Braze باختبار جميع الرسائل التي تستخدم Liquid قبل الإرسال، لتقليل مخاطر الأخطاء أو استخدامات Liquid غير المدعومة. يبني هذا التسلسل شبكة الأمان بالترتيب الذي نستخدمه.
- ابدأ بكتابة الرسالة العامة التي تظهر بشكل صحيح دون الحاجة إلى بيانات شخصية.
- أضف قيمة افتراضية لكل سمة تقوم بإدراجها.
- أضف شرطاً لكل حالة، مع فرع "else" يحتوي على الرسالة العامة.
- أضف أمر إيقاف (abort) فقط في الحالات التي لا تكون فيها الرسالة العامة مقبولة.
- استخدم "معاينة الرسالة كمستخدم" (Preview message as user) لاختيار مستخدم عشوائي، أو مستخدم حالي، أو مستخدم مخصص، أو مستخدم بلغة مختلفة.
- بالنسبة لاختبارات الإرسال التي تعتمد فيها منطق الإيقاف على بيانات الملف الشخصي، قم بتفعيل خيار "تجاوز سمات المستلمين بسمات مستخدم المعاينة الحالي" (Override recipients' attributes with current preview user's attributes).
- إذا كانت رسالة الإشعارات تستخدم "المحتوى المتصل" (Connected Content)، افتح "مصحح أخطاء المحتوى المتصل" (Connected Content Debugger) في قسم المعاينة والاختبار لرؤية كل طلب واستجابة.
تذكر أن النتيجة المخزنة مؤقتاً تعكس استجابة سابقة، وليس بالضرورة الحالة الحالية لنقطة النهاية الخاصة بك. تحقق من ملاحظة التخزين المؤقت في مصحح الأخطاء قبل الاعتماد على ما تظهره المعاينة.
كيف تبدو رسالة تذكير افتراضية للحفاظ على سلسلة التعلم؟
لنفترض وجود تطبيق لتعلم اللغات يرسل تذكيراً يومياً للحفاظ على سلسلة التعلم. هذا مجرد توضيح، وليس عملاً خاصاً بأحد العملاء، ولا يستخدم أي أرقام حقيقية.
هناك ثلاث حالات: متعلم جديد ليس لديه سلسلة تعلم مسجلة، ومتعلم عائد لديه سلسلة تعلم أكبر من صفر، ومتعلم منقطع لديه سلسلة تعلم تساوي صفراً.
كود Liquid أدناه خاص بنا، تم بناؤه باستخدام الوسوم الموثقة، ويحتاج إلى معاينة لكل حالة قبل الاستخدام. نحن نتحقق من الفرع الفارغ أولاً، لأن Braze توصي بالتحقق من القيم الفارغة قبل المتغيرات الأخرى.
{% if {{custom_attribute.${current_streak}}} == blank %}
مرحباً {{ ${first_name} | default: 'عزيزي' }}، درسك الأول جاهز.
{% elsif {{custom_attribute.${current_streak}}} > 0 %}
مرحباً {{ ${first_name} | default: 'عزيزي' }}، حافظ على سلسلة تعلمك المستمرة منذ {{custom_attribute.${current_streak}}} يوماً.
{% else %}
مرحباً {{ ${first_name} | default: 'عزيزي' }}، أكمل من حيث توقفت.
{% endif %}
لا يوجد شيء في هذا المثال يؤدي إلى الإيقاف، لأن كل حالة لها رسالة مقبولة. سنقوم باختبار نمطي فشل أولاً.
الأول هو اسم أول يحتوي على مسافة فقط، وهو ما لن تلتقطه القيمة الافتراضية. والثاني هو سلسلة تعلم تساوي صفراً، حيث لم نتأكد بعد من كيفية مقارنتها بالقيمة الفارغة، والمعاينة هي المكان المناسب لاكتشاف ذلك.
كيف يرتبط هذا ببقية البرنامج؟
يعتمد التخصيص الجيد على البيانات التي تدعمه. دليلنا حول التخصيص الفائق في Braze يغطي النهج الأوسع. المنشور حول استخدام المحتوى المتصل في Braze يغطي كيفية جلب البيانات من أنظمتك الخاصة.
للاطلاع على أنماط أخرى، راجع سبع طرق لتقديم محتوى ديناميكي في Braze. يتم تناول موضوع تحديد مستلمي إشعارات الدفع في تساعد تجزئة الإشعارات الفورية. يمكن العثور على رحلة إشعارات دفع محددة في إشعارات الدفع لإكمال عملية الإعداد، بينما يتم تناول معالجة اللغات في تدويل حملات Braze.
إندراسة حالة حول توحيد ملفات تعريف العملاء المشتتة تغطي دمج بيانات المستوى واللغة والموافقة في ملف تعريف واحد، وهو ما تعتمد عليه إشعارات الدفع المخصصة.
بصفتنا شريكاً في تنفيذ Braze، توصي CustomerIK بكتابة رسالة احتياطية قبل أي صيغة مخصصة. فإشعار الدفع الذي يقرأ بشكل جيد دون بيانات هو الذي ينجح في حال فقدان إحدى السمات.
الأسئلة الشائعة
1. هل يمكنني استخدام Liquid في عنوان إشعار الدفع؟
تتيح لك Braze تضمين Liquid لجعل إشعارات الدفع الخاصة بك مخصصة وموجهة. تظهر عناوين iOS في سطر واحد، لذا استخدم فلتر strip_newlines عندما قد يحتوي مخرج Liquid على فاصل أسطر.
2. ماذا يحدث إذا كانت السمة مفقودة ولم أقم بتعيين قيمة افتراضية؟
سيظهر الحقل فارغاً في الرسالة. أضف قيمة افتراضية باستخدام فلتر default، أو استخدم شرطاً لإرسال رسالة مختلفة.
3. هل تغطي القيمة الافتراضية السمة التي تحتوي على مسافة فقط؟
لا، لا تغطيها. توضح وثائق Braze أن القيمة الافتراضية تظهر للقيم الفارغة ولكن ليس للقيم التي تحتوي على مسافات، لذا اختبر الحقول التي قد تحتوي على مسافات بيضاء.
4. ماذا تفعل دالة abort_message() بإشعار الدفع؟
إنها توقف الإرسال للمستخدمين الذين لا يستوفون شرطك. لن تظهر الرسالة في ملف تعريفهم ولن تُحتسب ضمن عمليات التسليم أو حدود التكرار، وستظهر النتيجة في "مراقبة المراسلات" (Messaging Observability) كإلغاء بواسطة Liquid.
5. كيف يمكنني معاينة إشعار دفع مخصص؟
استخدم خيار "معاينة الرسالة كمستخدم" (Preview message as user) في أداة إنشاء الرسائل، ثم فعّل خيار "تجاوز سمات المستلمين في رسائل الاختبار" (Override recipients' attributes on test sends) عندما تعتمد منطق الإلغاء على بيانات الملف الشخصي. توصي Braze باختبار جميع الرسائل التي تستخدم Liquid قبل إرسالها.
المصادر
- Braze،مرجع Liquid. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،استخدام Liquid. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،تعيين القيم الافتراضية. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،منطق الرسائل الشرطية. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،إلغاء الرسائل. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،وسوم التخصيص المدعومة. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،إنشاء رسالة دفع. تم الاسترجاع في 14 أكتوبر 2026.
- Braze،المحتوى المتصل (Connected Content). تم الاسترجاع في 14 أكتوبر 2026.
- Braze،أداة تصحيح أخطاء المحتوى المتصل (Connected Content Debugger). تم الاسترجاع في 14 أكتوبر 2026.
- بقلم CustomerIK، شريك تنفيذ معتمد لـ Braze.
CustomerIK هي شريك تنفيذ لـ Braze، وتعمل في مجالات الإعداد، والتكامل التقني، وعمليات التسويق، وإدارة بيانات العملاء.
إذا كنت تخطط لإرسال إشعارات دفع مخصصة وترغب في الحصول على رأي إضافي حول القيم الاحتياطية ومنطق الإلغاء، تواصل معنا.




