استخدام قوالب Liquid
توسع قوالب Liquid بشكل كبير من إمكانيات التخصيص في Pushwoosh من خلال تطبيق منطق متطور بالإضافة إلى استخدام المحتوى الديناميكي العادي.
يعتمد تخصيص الرسائل في Pushwoosh على Tags (بيانات المستخدم). يقدم Pushwoosh مجموعة متنوعة من Tags الافتراضية وTags المخصصة. باستخدامها، يمكنك تحديد الاسم الأول للمستخدم، والمدينة، وسجل الشراء، وما إلى ذلك لإرسال رسالة أكثر تخصيصًا، على سبيل المثال: مرحبًا {First_name}، شكرًا لطلبك {item}.
تضيف قوالب Liquid المزيد من المنطق إلى المحتوى الديناميكي. على سبيل المثال، إذا كان Tag اشتراك المستخدم يحتوي على “free”، يمكنك إرسال رسالة له: “احصل على خصم 10%”.
يعد تعديل محتوى الرسالة وفقًا لمعرفات المستخدمين وسلوكياتهم وتفضيلاتهم الطريقة الأكثر فعالية لزيادة الصلة والحصول على نتائج أكثر إثارة للإعجاب من حملاتك التسويقية.
الصيغة
Anchor link toتستخدم قوالب المحتوى المستندة إلى Liquid by Shopify مزيجًا من tags وobjects وfilters لتحميل المحتوى الديناميكي. تتيح لك قوالب المحتوى الوصول إلى متغيرات معينة من داخل القالب وعرض بياناتها دون الحاجة إلى معرفة أي شيء عن البيانات نفسها.
Objects
Anchor link toتحدد objects المحتوى الذي سيتم عرضه للمستخدم. يجب أن تكون objects محاطة بأقواس معقوفة مزدوجة: {{ }}
على سبيل المثال، عند تخصيص رسالة، أرسل {{Name}} في نصها لإضافة أسماء المستخدمين إلى محتوى الرسالة. سيحل اسم المستخدم (قيمة Name tag) محل كائن Liquid في الرسالة التي سيراها المستخدم.
Hi {{Name}}! We're glad you're back!مرحبًا آنا! يسعدنا عودتك!
Tags
Anchor link toتنشئ tags المنطق وتدفق التحكم للقوالب. لا تنتج المحددات المئوية للأقواس المعقوفة {% و %} والنص الذي تحيط به أي مخرجات مرئية عند عرض القالب. يتيح لك هذا تعيين متغيرات وإنشاء شروط أو حلقات دون إظهار أي من منطق Liquid للمستخدم.
على سبيل المثال، باستخدام if tag، يمكنك تغيير لغة الرسالة بناءً على اللغة المحددة على جهاز المستخدم:
{% if Language == 'fr' %}Salut!{% else %}Hello!{% endif %}Salut!
Hello!
عوامل Tags
Anchor link to| العامل | الوصف |
|---|---|
== | يساوي |
!= | لا يساوي |
> | أكبر من |
< | أصغر من |
>= | أكبر من أو يساوي |
<= | أصغر من أو يساوي |
or | أو المنطقية |
and | و المنطقية |
contains | يتحقق من وجود سلسلة فرعية داخل سلسلة نصية أو مصفوفة من السلاسل النصية |
Filters
Anchor link toتعدل filters مخرجات كائن أو متغير Liquid. يتم استخدامها داخل الأقواس المعقوفة المزدوجة {{ }} وتعيين المتغيرات، ويتم فصلها بحرف الأنبوب |. يمكن استخدام فلاتر متعددة على مخرج واحد، ويتم تطبيقها من اليسار إلى اليمين.
{{ Name | capitalize | prepend:"Hello " }}Hello Anna
استخدام قوالب Liquid في الرسائل المرسلة عبر API
Anchor link toاستخدم صيغة Liquid في طلبات createMessage لتنفيذ قوالب Liquid. تتوفر القوالب لمعامل “content” في طلب createMessage، وكذلك لأي معامل آخر يدعم المحتوى الديناميكي، على وجه الخصوص، المعاملات الخاصة بالمنصة “title” و “subtitle” و “image”.
باستخدام قوالب المحتوى، يمكنك إما تحديد البيانات في طلبات API الخاصة بك (بتمرير معامل “template_bindings”) أو الحصول على البيانات من قيم Tag المخزنة على أجهزة المستخدمين (بعدم استخدام معامل “template_bindings”). بهذه الطريقة، يمكنك بناء حملات إشعارات للمستخدمين تحتوي على محتوى وثيق الصلة للغاية.
لتعريف منطق القالب باستخدام Tags التي تحتوي على مسافات في أسمائها، استخدم التقنية التالية:
مثال
{% capture my_tag %}{{My Tag}}{% endcapture %}{% if my_tag == 'value' %}Content to send in this case{% else %}Content to send otherwise{% endif %}حالات استخدام قوالب Liquid
Anchor link toستجد هنا العديد من حالات الاستخدام التي تكون فيها قوالب Liquid مفيدة.
إشعارات متعددة اللغات
Anchor link toتجعل قوالب Liquid من الممكن تحديد اللغة التي يجب أن يتلقى بها المستخدمون رسائلك الإشعارية بشكل قاطع. انظر إلى المثال البسيط لطلب API والرسالة المستلمة اعتمادًا على روابط القالب المستخدمة في الطلب.
{% if Language == 'es' %}¡Hola!{% else %}Hello!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // كود تطبيق Pushwoosh "auth": "yxoPUlw.....IyEX4H", // رمز وصول API من لوحة تحكم Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "{% raw %}{% if language == 'es' %}¡Hola!{% else %}hello!{% endif %}{% endraw %}", "template_bindings": { // اختياري. عند عدم تمرير template_bindings في الطلب، يتم استخدام قيم Tag من الجهاز. "language" : "es" } } ] }}اللغة هي ‘es’: ¡Hola!
اللغة هي ‘en’: Hello!
طلب ترقية الاشتراك
Anchor link toشجع عملائك على ترقية اشتراكهم بناءً على خطتهم الحالية.
{% if Subscription == 'Basic' %} Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %} Upgrade to Gold for priority support and advanced features.{% else %} Please contact your manager to renew your subscription.{% endif %}{ "request": { "application": "XXXXX-XXXXX", // كود تطبيق Pushwoosh "auth": "yxoPUlw.....IyEX4H", // رمز وصول API من لوحة تحكم Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "{% raw %}{% if Subscription == 'Basic' %}Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %}Upgrade to Gold for priority support and advanced features.{% else %}Please contact your manager to renew your subscription. {% endif %}{% endraw %}", "template_bindings": { // اختياري. عند عدم تمرير template_bindings في الطلب، يتم استخدام قيم Tag من الجهاز. "language" : "es" } } ] }}للمستخدمين الذين لديهم خطة اشتراك Basic: قم بالترقية إلى الخطة الفضية للحصول على المزيد من ميزات المنتج ودعم على مدار الساعة طوال أيام الأسبوع.
للمستخدمين الذين لديهم خطة اشتراك Silver: قم بالترقية إلى الخطة الذهبية للحصول على دعم ذي أولوية وميزات متقدمة.
للمستخدمين الذين لديهم خطط أخرى: يرجى الاتصال بمديرك لتجديد اشتراكك.
List tags
Anchor link toقوالب المحتوى مفيدة جدًا للتعامل مع Tags من نوع القائمة.
حجم المتغير
Anchor link toإحدى حالات الاستخدام الممكنة هي تقديم محتوى مختلف اعتمادًا على عدد القيم التي يحتوي عليها Tag. على سبيل المثال، يمكنك تقديم خصومات مختلفة للعملاء ذوي السلوكيات المختلفة. لنفترض أن العميل لديه بعض العناصر في قائمة أمنياته (WishList) — شجعه على الشراء بالخصم الأنسب بناءً على عدد المنتجات التي سيشتريها!
{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // كود تطبيق Pushwoosh "auth": "yxoPUlw.....IyEX4H", // رمز وصول API من لوحة تحكم Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "{% raw %}{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

المتغير يحتوي على
Anchor link toحالة أخرى قد تحتاج إلى تغطيتها هي التعامل مع قيم List Tags وتقديم المحتوى الأكثر صلة بناءً على القيم التي يحتوي عليها Tag.
{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off products in your wishlist!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // رمز وصول API من لوحة تحكم Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "{% raw %}{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off your next purchase!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

صيغ الجمع
Anchor link toباستخدام قوالب المحتوى، يمكنك تعديل محتوى الرسالة وفقًا لسلوك المستخدمين. على سبيل المثال، يمكنك تعديل نص الرسالة ليحتوي على كلمات بصيغة الجمع في حال كان List Tag يحتوي على أكثر من قيمة واحدة.
Get 20% off item{% if WishList.size > 1 %} s in your WishList!{% else %} in your Wishlist!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // رمز وصول API من لوحة تحكم Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "Get 20% off item{% raw %}{% if WishList.size > 1 %}s in your WishList!{% else %} in your Wishlist!{% endif %}{% endraw %}", "template_bindings": { // اختياري. عند عدم تمرير template_bindings في الطلب، يتم استخدام قيم Tag من الجهاز. "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

المنطقة الزمنية
Anchor link toيقوم قالب المناطق الزمنية بتحويل التاريخ والوقت وفقًا للمنطقة الزمنية المحددة.
{{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}{ "request" : { "auth" : "3H9bk8w3.....Acge2RbupTB", // رمز وصول API من لوحة تحكم Pushwoosh "application" : "XXXXX-XXXXX", // كود تطبيق Pushwoosh "notifications" : [ // معاملات رسالة الإشعار { "content": "Current Date: {{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}", "template_bindings": { // اختياري. عند عدم تمرير template_bindings في الطلب، يتم استخدام قيم Tag من الجهاز. "MyDate" : "2019-07-23 15:00", "MyTimezone" : "Asia/Dubai" } } ] }}
المحتوى المتصل
Anchor link toالمحتوى المتصل هو ميزة في قوالب Liquid تتيح لك استرداد واستخدام البيانات ديناميكيًا من مصدر خارجي، مثل خدمة ويب، مباشرة داخل رسائل البريد الإلكتروني أو الإشعارات. تتيح هذه الميزة التخصيص في الوقت الفعلي عن طريق جلب بيانات JSON من عنوان URL محدد وحفظها في متغير يمكن استخدامه في المحتوى الخاص بك.
حالات الاستخدام الرئيسية
Anchor link to-
توصيات المنتجات: عرض قوائم منتجات مخصصة مصممة لكل مستخدم.
-
أكواد الخصم: إدراج أكواد خصم فريدة تم إنشاؤها بواسطة خدمة خلفية.
المتطلبات الأساسية
Anchor link to- لاستخدام المحتوى المتصل، يجب أن يكون لديك خدمة خلفية خاصة بك تقوم بإنشاء وتوفير البيانات المطلوبة (مثل أكواد الخصم، توصيات المنتجات) بناءً على User ID، HWID، أو custom tags. يقوم Pushwoosh بعد ذلك بجلب هذه البيانات قبل إرسال الرسالة.
دليل التنفيذ خطوة بخطوة
Anchor link toالخطوة 1. إعداد الخدمة الخلفية
Anchor link toيجب أن تقوم الخدمة الخلفية بما يلي:
- قبول طلب يحتوي على معلمات خاصة بالمستخدم (مثل
userId). يدعم المحتوى المتصلUserID،HWID، أو أي custom tags قمت بإعدادها في مشروعك. - إرجاع استجابة JSON بالبيانات المطلوبة. يمكن بعد ذلك إدراج هذا المحتوى ديناميكيًا في الرسائل.
الخطوة 2. إنشاء إعداد مسبق مع محتوى متصل في Pushwoosh
Anchor link to- في محرر محتوى Push أو محرر محتوى البريد الإلكتروني، أدخل صيغة المحتوى المتصل في حقل الرسالة.
مثال
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}تفصيل الصيغة
connected_content | يجلب بيانات JSON من عنوان URL الخلفي المحدد. |
http://your-backend-url.com | نقطة النهاية الخلفية التي تعيد البيانات المطلوبة بتنسيق JSON. |
userId={{ ${userid} }} | معلمة استعلام ديناميكية تمرر معرف المستخدم إلى الخلفية. |
:save result | يخزن استجابة JSON التي تم جلبها في متغير result للاستخدام في قوالب Liquid |

المصادقة (اختياري)
إذا كانت خدمتك الخلفية تتطلب مصادقة، يمكنك تضمين مفتاح API أو رمز مميز في طلب المحتوى المتصل لضمان الوصول الآمن.
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}استخدام tags في المحتوى المتصل
لتضمين custom tags، أدخلها كمعلمات استعلام في طلب المحتوى المتصل ({{ tag_name }}).
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}{{ Language }} :save result %}- بعد ذلك، أضف نص الرسالة الذي يتضمن البيانات المستردة، مثل هذا:
Hey, {{userid}}, grab your personal promo code - {{result.code}}
- بعد الانتهاء من محتوى الرسالة وتكوين إعدادات الإعداد المسبق، احفظه لإعادة استخدامه في الحملات.
الخطوة 3. إرسال رسالة باستخدام الإعداد المسبق الذي تم تكوينه
Anchor link toأرسل رسالة بهذا الإعداد المسبق باستخدام نموذج الإشعار لمرة واحدة أو نموذج البريد الإلكتروني أو رحلة العميل.