انتقل إلى المحتوى

إعداد High-speed delivery

نظرة عامة

Anchor link to

في Pushwoosh، يتم تعريف شرائح الجمهور باستخدام Segments.

بالنسبة لحملات push القياسية، يتم تجميع Segment بعد إرسال طلب /createMessage. هذا يعني أنه قد يكون هناك تأخير قصير قبل خروج الرسالة، خاصة إذا كان Segment معقدًا.

مع High-speed delivery، يتم تجميع Segments مسبقًا كل 10 دقائق. هذا يبقيها محدثة وجاهزة للاستخدام، بحيث يمكن إرسال الرسائل فورًا—دون انتظار تجميع Segment.

تعد High-speed delivery مفيدة بشكل خاص عندما يكون التوقيت حاسمًا. على سبيل المثال، يمكن للمنظمات الرياضية مثل UEFA و FIBA استخدامها لتقديم تحديثات في الوقت الفعلي حيث تهم كل ثانية.

يشرح هذا الدليل كيفية إعداد High-speed delivery باستخدام تطبيق رياضي كمثال. ستتعلم كيفية إنشاء شرائح جمهور (Audience segments) لإعلام المستخدمين بالمباريات القادمة والأحداث المباشرة.

لماذا High-speed delivery

Anchor link to

المتطلبات الأساسية لاستخدام High-speed delivery من قبل المنظمات الرياضية هي كما يلي:

  • تتم جدولة جميع المباريات مسبقًا، لذا فأنت تعرف متى تنشئ Segments الخاصة بها ويمكنك تجميع شرائح الجمهور مسبقًا.
  • كل مباراة مرتبطة بـ ID فريد. على سبيل المثال، معرف المباراة لنهائي دوري أبطال أوروبا هو 0123.
  • كل فريق مرتبط بـ ID فريد. على سبيل المثال، معرف Juventus هو 111، ومعرف Real Madrid هو 222، وما إلى ذلك.
  • هناك مجموعة من الأحداث المباشرة التي ترغب في إعلام المستخدمين بها (الأهداف، التشكيلات، ركلة البداية، وما إلى ذلك).

الإعداد

Anchor link to

يجب إنشاء جميع Segments لـ High-speed delivery مسبقًا—بشكل مثالي قبل بدء المباراة في حالة الاستخدام المذكورة. تطبق Pushwoosh شروط Segment على قاعدة مستخدمي التطبيق وتقوم بتجميع Segments مسبقًا كل 10 دقائق (هذه الفترة قابلة للتعديل).

عندما ترسل طلب API /createMessage مع محتوى push واسم Segment، يكون لدى Pushwoosh بالفعل قائمة مجمعة مسبقًا من المستلمين، مما يسمح بإرسال إشعار push فورًا.

إنشاء Tags

Anchor link to

أولاً، قم بإنشاء مجموعة من Tags لتطبيقها، وقم بتعيين قيم Tag لأجهزة المستخدمين. أنشئ Tags من النوع LIST المقابلة لأحداث المباراة المباشرة مثل kickoff (ركلة البداية)، goal (هدف)، red card (بطاقة حمراء)، وما إلى ذلك.

على سبيل المثال: MATCH-KICKOFF, MATCH-GOAL, MATCH-RED_CARD إنشاء Tags

قم بإنشاء نفس المجموعة من Tags التي تصف أحداث المباراة المباشرة للفرق. على سبيل المثال: TEAM-KICKOFF, TEAM-GOAL, TEAM-RED_CARD

من خلال الاشتراك في هذه Tags، يمكن لمستخدمي التطبيق اختيار الإشعارات التي يرغبون في تلقيها:

  • إشعارات حول المباراة المحددة (مثل مباراة Juventus - Real Madrid)؛
  • إشعارات حول مباريات الفريق المفضل (مثل مباريات Juventus فقط)؛
  • إشعارات حول الأحداث التي تقع أثناء المباراة (مثل الأهداف في مباراة Juventus - Real Madrid فقط)؛
  • إشعارات حول أحداث محددة من الفريق المفضل (مثل الأهداف والتشكيلات لمباريات Juventus).

تعيين Tags

Anchor link to

الآن يمكنك ملء قيم Tag المحددة مسبقًا عبر طلب API setTags، والاشتراك المستخدمين في فئات محددة من إشعارات push.

على سبيل المثال: عندما يشترك مستخدم لتلقي تحديثات ركلة البداية والأهداف لنهائي دوري أبطال أوروبا، استدعِ /setTags مع تضمين معرف المباراة:

{
"request": {
"application": "app_code",
"hwid": "device_hardware_id",
"tags": {
"MATCH_KICKOFF": "0123", // معرف المباراة
"MATCH_GOAL": "0123" // معرف المباراة
}
}
}

سيتلقى المستخدم إشعارات حول ركلة البداية والأهداف المسجلة في نهائي دوري أبطال أوروبا. عندما يشترك مستخدم لتلقي تحديثات الأهداف والبطاقات الحمراء لمباريات Real Madrid، استدعِ /setTags كما يلي:

{
"request": {
"application": "app_code",
"hwid": "device_hardware_id",
"tags": {
"TEAM_KICKOFF": "222", // معرف الفريق
"TEAM_GOAL": "222" // معرف الفريق
}
}
}

سيتلقى هذا المستخدم إشعارات حول ركلات البداية والأهداف كلما لعب Real Madrid.

إنشاء Segments

Anchor link to

الآن يمكنك إنشاء Segments لأحداث المباراة بناءً على Tags وقيمها (معرفات المباريات ومعرفات الفرق). يجب إنشاء Segments عبر طلب API /createFilter قبل 30 دقيقة من بدء المباراة.

لإعلام المستخدمين بالأهداف المسجلة في نهائي دوري أبطال أوروبا من المثال المذكور أعلاه، استدعِ /createFilter بالمعلمات التالية: اسم Segment: 0123_GOAL شروط Segment: #TEAM-GOAL(111, 222) OR #MATCH-GOAL(0123)

{
"request": {
"auth": "auth_token",
"name": "0123_GOAL",
"conditions": [
["TEAM-GOAL", "IN", ["111", "222"]],
["MATCH-GOAL", "IN", ["0123"]]
],
"operator": "OR", // اختياري. قيم المشغل: 'AND', 'OR'
"application" : "AAAAA-00000"
}
}

سيقوم هذا الطلب بتجميع Segment للمستخدمين المشتركين في تحديثات الأهداف لنهائي دوري أبطال أوروبا (match ID=0123) أو المستخدمين الذين يتابعون إما Juventus أو Real Madrid (team ID=111,222).

لإعداد High-Speed Delivery في Pushwoosh Control Panel الخاص بك، أنشئ Segment جديدًا بقيم Tag المقابلة واربطه بالتطبيق الذي سترسل إليه pushes. يتم تجميع Segments الخاصة بالتطبيق مسبقًا كل 10 دقائق للحفاظ على شرائح الجمهور محدثة دائمًا.

إنشاء Segment جديد

عندما يقع حدث المباراة (تسجيل هدف، ركلة بداية المباراة، بطاقة حمراء، وما إلى ذلك)، استدعِ /createMessage مع محتوى إشعار push واسم Segment المتضمن:

{
"request": {
"application": "AAAAA_00000",
"auth": "auth_token",
"notifications": [
{
"content": "12’ Juventus goal! Juventus 1 – 0 Real Madrid",
"filter": "0123_GOAL",
"send_date": "now"
}
]
}
}

بمجرد تلقينا استدعاء /createMessage، يكون لدينا بالفعل قائمة مجمعة مسبقًا من الأجهزة التي تطابق معايير Segment، ونقوم بإرسال الإشعار فورًا نحو بوابات APNs و FCM.

حذف Segments

Anchor link to

بعد انتهاء المباراة، يجب حذف جميع Segments المقابلة حتى لا يتم إنفاق موارد الحوسبة على إعادة تجميع Segments التي لم تعد ذات صلة، خاصة على حساب Segments للمباريات المجدولة تالياً. احذف Segments عبر طلب API /deleteFilter، على سبيل المثال:

{
"request": {
"auth": "auth_token",
"name": "0123_GOAL"
}
}

لتجنب الحذف اليدوي لـ Segments، قم بتعيين تاريخ انتهاء صلاحية Segment عبر طلب /createFilter بحيث يتم حذف Segment تلقائيًا في التاريخ المحدد:

{
"request": {
"auth": "auth_token",
"name": "0123_GOAL",
"conditions": [
["TEAM-GOAL", "IN", ["111", "222"]],
["MATCH-GOAL", "IN", ["0123"]]
],
"operator": "OR", // اختياري. القيم: 'AND', 'OR'
"application": "AAAAA-00000",
"expiration_date": "YYYY-MM-DD" // اختياري. انتهاء صلاحية Segment (Filter)
}
}
Was this page useful?