تخطّ إلى المحتوى الرئيسي

إشعارات Push

أرسل إشعارات Push مستهدفة إلى المستخدمين عبر iOS، APNS، وAndroid، FCM، وWeb Push في المتصفحات.

نظرة عامة

تتيح لك إشعارات Push:

  • إعادة التفاعل مع مستخدمين لم يفتحوا تطبيقك مؤخرًا.
  • دفع التحويلات بعروض حساسة للوقت.
  • تسليم تحديثات عن الطلبات أو الرسائل أو أحداث التطبيق.
  • تخصيص الرسائل وفق سلوك المستخدم وسماته.

المتطلبات الأساسية

قبل إنشاء حملات Push، تأكد من:

  1. دمج SDK:
    • iOS SDK لمستخدمي iPhone/iPad.
    • Android SDK لمستخدمي Android.
    • Web SDK لـ Push في المتصفح.
  2. ضبط بيانات اعتماد Push:
    • iOS: مفتاح مصادقة APNS، .p8 موصى به، أو شهادة .p12.
    • Android: JSON حساب خدمة Firebase، FCM HTTP v1.
    • Web: زوج مفاتيح VAPID يُنشأ لكل Web App بنقرة واحدة.
  3. تسجيل الأجهزة: يجب أن يمنح المستخدمون إذن Push في التطبيق أو المتصفح.

ضبط بيانات اعتماد Push

iOS، APNS

  1. انتقل إلى Settings ← Apps ← [Your App].
  2. افتح إعداد Push للتطبيق.
  3. في قسم iOS (APNS)، اختر Authentication Method:
    • Token-based، موصى به: الصق محتوى Auth Key (.p8) وأدخل Key ID وTeam ID.
    • Certificate-based: ارفع ملف شهادة .p12 وأدخل كلمة مروره.
  4. اختر البيئة:
    • Development: للاختبار ببُنى التطوير.
    • Production: لبُنى App Store.
  5. احفظ الإعداد.
الحصول على بيانات APNS

أنشئ شهادات ومفاتيح APNS في Apple Developer Account.

Android، FCM

  1. انتقل إلى Settings ← Apps ← [Your App].
  2. افتح إعداد Push للتطبيق.
  3. في قسم Android (FCM)، انقر Upload service account JSON وقدّم ملف Firebase service account؛ يرسل Joryio عبر FCM HTTP v1 API.
    • أنشئه من Firebase Console ← Project Settings ← Service accounts ← Generate new private key.
  4. أدخل Sender ID، Firebase Console ← Project Settings ← Cloud Messaging.
  5. احفظ الإعداد.
إعداد Firebase

اتبع دليل إعداد Firebase لإنشاء مشروع Firebase. لا تُستخدم مفاتيح الخادم القديمة؛ يُستخدم JSON حساب الخدمة فقط.

Web، Push في المتصفح

تُضبط Web Push لكل Web App، فكل تطبيق ويب علامة/موقع له زوج مفاتيح خاص، بجانب إعداد الجوال:

  1. انتقل إلى Settings ← Apps ← [Your Web App].
  2. انتقل إلى تبويب Push.
  3. في قسم Web Push (Browser) انقر Enable Web Push.
    • ينشئ ذلك زوج مفاتيح VAPID مخزنًا لهذا التطبيق؛ لا توجد مفاتيح لنسخها أو لصقها.
  4. استضف service worker على موقعك وشغّل opt-in بإجراء مستخدم؛ يعرض القسم مقتطف السطر الواحد والاستدعاء الدقيقين.
زوج مفاتيح واحد لكل Web App

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

إنشاء حملة Push

1. الانتقال إلى Campaigns

انتقل إلى Campaigns ← Create Campaign واختر Push Notification.

2. تفاصيل الحملة

Name: امنح الحملة اسمًا وصفيًا:

مثال: "Weekend Sale - 20% Off"

Description اختياري: أضف ملاحظات داخلية.

Target app: اختر تطبيق الجوال، APNS/FCM، الذي ستصل إليه Push. إذا كان في مساحة العمل تطبيقان ويب أو أكثر مع تفعيل Web Push، يظهر منتقي Web App أيضًا؛ اختر موقعًا واحدًا أو اتركه على All web apps للوصول إلى مشتركي المتصفح في كل المواقع. مع تطبيق ويب واحد يكون الاختيار تلقائيًا وتبقى القائمة مخفية.

3. الجمهور المستهدف

اختر المستخدمين الذين سيتلقون الإشعار.

اعتمادًا على شريحة

اختر شريحة جاهزة:

  • "Active Users (Last 7 Days)".
  • "Premium Subscribers".
  • "Cart Abandoners".

تعرّف إلى إنشاء الشرائح.

اعتمادًا على السلوك

استهدف المستخدمين بإجراءات محددة:

  • Event: "Abandoned Cart".
  • Filter: Cart value > $50.
  • Time window: Last 24 hours.

4. محتوى الرسالة

عنوان الإشعار

مثال: "Your cart is waiting!"
أفضل ممارسات العنوان
  • أبقه تحت 50 حرفًا.
  • استخدم emoji باعتدال، 1–2 كحد أقصى.
  • أنشئ الإلحاح عند الملاءمة.
  • خصّصه ببيانات المستخدم.

نص الإشعار

مثال: "Complete your purchase now and save 20% with code SAVE20. Offer ends tonight!"
أفضل ممارسات النص
  • أبقه تحت 120 حرفًا، فهي نقطة اقتطاع Chrome والقيمة الأكثر أمانًا عبر المنصات؛ يسمح iOS بـ178 وAndroid بـ240، لكن 120 تظهر بوضوح في كل مكان.
  • ضمّن CTA واضحًا.
  • أضف معلومات حساسة للوقت.
  • خصّص باستخدام قوالب Liquid.

طول العنوان

أبق العناوين تحت 50 حرفًا. تعرض خطوة Compose عدادًا حيًا بحدود كل منصة في تلميح: iOS 50 وAndroid 65 وChrome نحو 50.

المعاينة الحية، iOS / Android / Web

يحتوي محرر الحملة على معاينة حية ثابتة بجوار نموذج Compose. بدّل بين شاشة قفل iOS وإشعار Android heads-up وChrome desktop toast؛ تتحدث المعاينة أثناء الكتابة لتشاهد التفاف العنوان والنص في كل منصة قبل الإرسال.

URL أو scheme، اختياري

إلى أين يصل المستخدم عند نقر الإشعار:

الصيغةتعمل على
https://acme.com/product/12345كل المنصات، Web وiOS وAndroid. الافتراضي الموصى به.
acme://product/12345تطبيقات iOS / Android فقط؛ يتطلب معالجة URL scheme في تطبيقك.

يعرض محرر الحملة السطر المساعد: "https:// works on all platforms. acme:// schemes only resolve inside your iOS / Android apps."

صورة، اختيارية

أرفق صورة jpeg / png تظهر بجوار الإشعار. تصفح مكتبة الوسائط أو الصق URL.

أزرار الإجراء، عبر المنصات

أضف حتى زري إجراء عبر المنصات. لكل زر تسمية وقيمة، URL https://… أو action:dismiss لمعالجات In-app:

  • Button 1: "Track order" ← https://acme.com/track/{{ event.order_id }}.
  • Button 2: "Talk to support" ← action:dismiss.

الحدود حسب المنصة: Web 2 · iOS 4 · Android 3. تعرض الواجهة 2 of 2 buttons used. Web shows up to 2 · iOS up to 4 · Android up to 3.

Group key

مفتاح يتيح للإشعار الجديد استبدال الإشعار السابق بدل تراكمهما عند مشاركة المفتاح نفسه. المفهوم نفسه يحمل أسماء مختلفة: Web tag وAndroid collapse_key وiOS apns-collapse-id، ويربط الحقل بها جميعًا. مفيد لإشعار واحد قيد التنفيذ، مثل "out for delivery"، بدل خمسة.

سلوك تطبيق الجوال، iOS وAndroid فقط

الإعدادالوصف
SoundDefault أو Silent. للتطبيق فقط.
Badge incrementالرقم الذي يضاف إلى شارة أيقونة تطبيق iOS.

سلوك Web، Web فقط

الإعدادالوصف
Keep on screen until dismissedيضبط requireInteraction: true في Web Push API. تُخفى إشعارات المتصفح بعد ثوانٍ افتراضيًا، بينما تبقى Push الجوال حتى النقر.
Web site nameيظهر في رأس Chrome toast بجوار favicon الموقع.

5. التخصيص باستخدام Liquid

استخدم قوالب Liquid لتخصيص الرسائل:

Hi {{user.firstName}},

Your {{cart.itemCount}} items are waiting!
Cart total: ${{cart.total}}

Complete your purchase now and save 20%.

المتغيرات المتاحة:

  • {{user.firstName}}, {{user.lastName}}.
  • {{user.email}}.
  • السمات المخصصة: {{user.plan}}, {{user.city}}.
  • خصائص الأحداث من المشغّل.

تعرّف إلى قوالب Liquid.

6. الجدولة

اختر وقت إرسال إشعار Push.

الإرسال فورًا

أرسل بمجرد تفعيل الحملة.

إرسال مجدول

أرسل في تاريخ ووقت محددين:

  • Date: 2024-01-20.
  • Time: 10:00 AM.
  • Timezone: America/New_York.

مشغّل بالسلوك

أرسل عند تنفيذ المستخدمين إجراءات محددة:

  • Trigger: "Abandoned Cart".
  • Re-entry control: كل مرة / مرة لكل مستخدم / فترة انتظار بين الإرسالات.
  • Active window: تواريخ بداية ونهاية اختيارية للمشغّل.

حدود الوقت، مثل "لا Push الساعة 3 صباحًا"، إعداد على مستوى مساحة العمل: اضبط نوافذ الهدوء لكل قناة من Settings ← Quiet Time.

أفضل أوقات الإرسال
  • الصباح، 8–10 AM: معدلات فتح مرتفعة.
  • الغداء، 12–1 PM: تفاعل جيد.
  • المساء، 7–9 PM: ذروة استخدام الجوال.
  • تجنب: آخر الليل، 11 PM – 6 AM.

7. حدود التكرار

تتحكم Touching Rules في مساحة العمل، Settings ← Touching Rules، في عدد إشعارات Push التي يتلقاها المستخدم، لا إعداد لكل حملة:

  • قاعدة لكل قناة لـ Push: الحد الأقصى للرسائل في اليوم/الأسبوع/الشهر، الافتراضي 10 يوميًا، ويمكن تحديدها بالوسوم.
  • سقف اختياري عبر القنوات لكل القنوات.

للإرسالات الحرجة فعلًا، تستطيع الحملة تفعيل bypass frequency limits في الخيارات المتقدمة لخطوة Delivery.

احترم تجربة المستخدم

قد يؤدي الإفراط في Push إلى:

  • تعطيل المستخدمين للإشعارات.
  • إزالة التطبيقات.
  • انطباع سلبي عن العلامة.

اتبع إرشادات المنصات:

  • iOS: كن محترمًا وذا صلة.
  • Android: احترم تفضيلات المستخدم.

8. اختبار A/B

اختبر نسخ رسائل مختلفة:

النسخة A، 50%

  • العنوان: "Your cart is waiting!".
  • النص: "Complete your purchase and save 20%".

النسخة B، 50%

  • العنوان: "Don't miss out! Limited time offer".
  • النص: "20% off your cart - expires in 6 hours".

يعيّن Joryio المستخدمين للنسخ تلقائيًا ويتتبع الأداء.

9. تتبع التحويل

عرّف ما يُعد تحويلًا في خطوة Conversion:

  • Primary Conversion: مثل "Order Completed"، أحداث شائعة منتقاة، ومنها "Tapped push notification"، إضافة إلى أحداثك المخصصة.
  • Attribution Window: 24h / 72h / 7 days، الافتراضي، / 14 days / 30 days.
  • Attribution Model: first touch / last touch، الافتراضي، / linear.

بالإعدادات الافتراضية، يتتبع ذلك عدد المستخدمين الذين يكملون شراء خلال 7 أيام من تلقي Push.

خصائص خاصة بالمنصة

كيفية وصول حقول Compose المشتركة إلى كل منصة:

iOS

  • Image: تُسلّم كمرفق إشعار غني ويظهر عند توسيع الإشعار.
  • Badge increment: يضيف الرقم الذي تضبطه إلى شارة أيقونة التطبيق.
  • Sound: Default أو Silent.
  • Group key: يربط بـ apns-collapse-id؛ الإشعار الجديد يستبدل السابق بالمفتاح نفسه.

Android

  • Image: تظهر كصورة موسعة بنمط big-picture.
  • Group key: يربط بـ collapse_key.
  • Action buttons: حتى 3 أزرار.

Web

  • Keep on screen until dismissed: يضبط requireInteraction كي لا يختفي toast تلقائيًا.
  • Web site name: يظهر في رأس toast المتصفح.
  • Group key: يربط بـ tag في Web Notification.
  • Action buttons: حتى زرين.

اختبار حملتك

1. وضع الاختبار

قبل التفعيل، اختبر الحملة:

  1. انقر Send test push على نسختك.
  2. اختر Random user أو ابحث عن existing user؛ يصل الاختبار إلى أجهزته المسجلة ويُحل التخصيص وفق بياناته. لا يتوفر مستخدم مخصص لأنه لا يملك جهازًا مسجلاً.
  3. أرسل الاختبار.

2. تحقق من التسليم

تحقق من أن الإشعار:

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

3. راجع التحليلات

بعد إرسال الاختبارات، تحقق من:

  • تسجيل الجهاز بنجاح.
  • صلاحية الرمز ونشاطه.
  • عدم وجود أخطاء تسليم.

مراقبة الأداء

المقاييس الفورية

تتبع أداء الحملة في الوقت الفعلي:

المقياسالوصف
Sentإجمالي الإشعارات المرسلة
Deliveredسُلّمت بنجاح إلى الأجهزة
Openedنقر المستخدمون الإشعار
Conversionsأكمل المستخدمون حدث التحويل
Failuresإخفاقات التسليم، مثل الرموز غير الصالحة

إحصاءات التسليم

  • Delivery Rate: Delivered / Sent.
  • Open Rate: Opened / Delivered.
  • Conversion Rate: Conversions / Opened.

الأداء حسب المنصة

قارن أداء iOS وAndroid:

  • معدلات الفتح.
  • معدلات التحويل.
  • أفضل النسخ أداءً.

الأداء حسب النسخة

في اختبارات A/B، اعرف النسخة الأفضل:

  • النسخة A: معدل فتح 12.5% وتحويل 3.2%.
  • النسخة B: معدل فتح 15.8% وتحويل 4.1%، الفائزة.

أفضل الممارسات

1. اطلب الإذن بوعي

اطلب إذن Push في الوقت الصحيح:

  • بعد أن يرى المستخدم قيمة في التطبيق.
  • مع سياق: "Get notified when your order ships".
  • لا فور الإطلاق الأول.

2. قسّم جمهورك

لا ترسل للجميع:

  • استهدف وفق السلوك.
  • خصّص وفق التفضيلات.
  • احترم إلغاء الاشتراك.

3. اكتب نصًا مقنعًا

  • قيمة واضحة: ماذا سيكسب المستخدم؟
  • أنشئ الإلحاح: "24 hours left".
  • خصّص: استخدم الاسم أو البيانات.
  • CTA قوي: "Shop Now" أو "Claim Offer".

4. التوقيت مهم

أرسل في أوقات مناسبة:

  • ضع المنطقة الزمنية للمستخدم في الحسبان.
  • احترم الساعات الهادئة.
  • اختبر أوقات إرسال مختلفة.

5. لا تفرط في الإرسال

احترم حدود التكرار:

  • بحد أقصى 3–5 أسبوعيًا.
  • فجوات لا تقل عن 4 ساعات.
  • دع المستخدمين يتحكمون في التكرار.

6. اختبر كل شيء

قبل الإطلاق:

  • اختبر على أجهزة حقيقية.
  • تحقق من عمل deep links.
  • افحص إصدارات OS مختلفة.
  • اختبر كل نسخ A/B.

7. راقب وحسّن

حسّن باستمرار:

  • تتبع معدلات الفتح والتحويل.
  • اختبر A/B نسخ الرسائل.
  • أزل الرموز غير الصالحة.
  • تعلم من الأفضل أداءً.

استكشاف الأخطاء وإصلاحها

الإشعارات لا تُرسل

تحقق من:

  1. ضبط بيانات اعتماد Push بصورة صحيحة.
  2. منح المستخدمين إذن Push.
  3. تسجيل رموز الأجهزة بنجاح.
  4. أن الحملة مفعلة وليست مسودة.

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

الأسباب الشائعة:

  • رموز أجهزة غير صالحة أو منتهية.
  • أزال المستخدمون التطبيق.
  • عطّل المستخدمون إذن Push.
  • انتهاء الشهادة، iOS.

الحل:

  • نظف الرموز غير الصالحة دوريًا.
  • أعد طلب الإذن من المستخدمين الذين عطلوه.
  • راقب تواريخ انتهاء الشهادات.

معدلات فتح منخفضة

مشكلات محتملة:

  • نص رسالة ضعيف.
  • عدم صلة بالجمهور.
  • الإرسال في وقت خاطئ.
  • الإرسال الزائد، إرهاق الإشعارات.

الحلول:

  • حسّن النص والتخصيص.
  • استهداف جمهور أفضل.
  • حسّن أوقات الإرسال.
  • طبّق حدود التكرار.

حدود إشعارات Push

حدود المنصات التي تفرضها Apple وGoogle:

iOS، APNS

  • حجم الحمولة: 4 KB كحد أقصى.

Android، FCM

  • حجم الحمولة: 4 KB كحد أقصى.
  • TTL: 4 أسابيع كحد أقصى.

الخطوات التالية