ข้ามไปยังเนื้อหา

การตั้งค่าการจัดส่งความเร็วสูง

ภาพรวม

Anchor link to

ใน Pushwoosh กลุ่มเป้าหมายจะถูกกำหนดโดยใช้ Segments

สำหรับแคมเปญพุชมาตรฐาน เซกเมนต์จะถูกคอมไพล์หลังจากส่งคำขอ /createMessage แล้ว ซึ่งหมายความว่าอาจมีความล่าช้าเล็กน้อยก่อนที่ข้อความจะถูกส่งออกไป โดยเฉพาะอย่างยิ่งหากเซกเมนต์มีความซับซ้อน

ด้วยการจัดส่งความเร็วสูง เซกเมนต์จะถูกคอมไพล์ล่วงหน้าทุกๆ 10 นาที ซึ่งจะทำให้เซกเมนต์เป็นปัจจุบันและพร้อมใช้งานอยู่เสมอ ดังนั้นข้อความจึงสามารถส่งได้ทันที โดยไม่ต้องรอให้เซกเมนต์คอมไพล์

การจัดส่งความเร็วสูงมีประโยชน์อย่างยิ่งเมื่อเวลาเป็นสิ่งสำคัญ ตัวอย่างเช่น องค์กรด้านกีฬาอย่าง UEFA และ FIBA สามารถใช้ฟีเจอร์นี้เพื่อส่งอัปเดตแบบเรียลไทม์ซึ่งทุกวินาทีมีความหมาย

คู่มือนี้จะอธิบายวิธีตั้งค่าการจัดส่งความเร็วสูงโดยใช้แอปเกี่ยวกับกีฬาเป็นตัวอย่าง คุณจะได้เรียนรู้วิธีสร้างกลุ่มเป้าหมายเพื่อแจ้งเตือนผู้ใช้เกี่ยวกับการแข่งขันที่กำลังจะมาถึงและกิจกรรมสด

ทำไมต้องใช้การจัดส่งความเร็วสูง

Anchor link to

ข้อกำหนดเบื้องต้นสำหรับการใช้การจัดส่งความเร็วสูงโดยองค์กรด้านกีฬามีดังนี้:

  • การแข่งขันทั้งหมดมีการกำหนดเวลาไว้ล่วงหน้า ดังนั้นคุณจะทราบว่าเมื่อใดควรสร้าง Segments ที่เกี่ยวข้องและสามารถคอมไพล์กลุ่มเป้าหมายล่วงหน้าได้
  • ทุกการแข่งขันจะเชื่อมโยงกับ ID ที่ไม่ซ้ำกัน ตัวอย่างเช่น ID การแข่งขันสำหรับ Champions League Final คือ 0123
  • ทุกทีมจะเชื่อมโยงกับ ID ที่ไม่ซ้ำกัน ตัวอย่างเช่น ID ของ Juventus คือ 111, ID ของ Real Madrid คือ 222 เป็นต้น
  • มีชุดของกิจกรรมสดที่คุณต้องการแจ้งเตือนผู้ใช้ (เช่น ประตู, รายชื่อผู้เล่น, การเริ่มการแข่งขัน เป็นต้น)

การตั้งค่า

Anchor link to

เซกเมนต์ทั้งหมดสำหรับการจัดส่งความเร็วสูงควรถูกสร้างขึ้นล่วงหน้า — ในกรณีตัวอย่างนี้ คือควรสร้างก่อนการแข่งขันจะเริ่ม Pushwoosh จะใช้เงื่อนไขของเซกเมนต์กับฐานผู้ใช้ของแอปและคอมไพล์เซกเมนต์ล่วงหน้าทุกๆ 10 นาที (ช่วงเวลานี้สามารถปรับได้)

เมื่อคุณส่งคำขอ API /createMessage พร้อมเนื้อหาพุชและชื่อเซกเมนต์ Pushwoosh จะมีรายชื่อผู้รับที่คอมไพล์ไว้ล่วงหน้าแล้ว ทำให้สามารถส่งการแจ้งเตือนพุชได้ทันที

สร้าง 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 และสมัครรับการแจ้งเตือนพุชในหมวดหมู่เฉพาะสำหรับผู้ใช้

ตัวอย่างเช่น: เมื่อผู้ใช้สมัครรับข้อมูลอัปเดตเกี่ยวกับการเริ่มการแข่งขันและประตูของ Champions League Final ให้เรียกใช้ /setTags โดยระบุ ID การแข่งขัน:

{
"request": {
"application": "app_code",
"hwid": "device_hardware_id",
"tags": {
"MATCH_KICKOFF": "0123", // match ID
"MATCH_GOAL": "0123" // match ID
}
}
}

ผู้ใช้จะได้รับการแจ้งเตือนเกี่ยวกับการเริ่มการแข่งขันและประตูที่ทำได้ใน Champions League Final เมื่อผู้ใช้สมัครรับข้อมูลอัปเดตเกี่ยวกับประตูและใบแดงของการแข่งขันของ Real Madrid ให้เรียกใช้ /setTags ดังนี้:

{
"request": {
"application": "app_code",
"hwid": "device_hardware_id",
"tags": {
"TEAM_KICKOFF": "222", // team ID
"TEAM_GOAL": "222" // team ID
}
}
}

ผู้ใช้นี้จะได้รับการแจ้งเตือนเกี่ยวกับการเริ่มการแข่งขันและประตูเมื่อใดก็ตามที่ Real Madrid กำลังแข่งขัน

สร้าง Segments

Anchor link to

ตอนนี้คุณสามารถสร้าง Segments สำหรับกิจกรรมการแข่งขันโดยอิงจาก Tags และค่าของมัน (ID การแข่งขันและ ID ทีม) ควรสร้าง Segments ผ่านคำขอ API /createFilter 30 นาทีก่อนการแข่งขันจะเริ่ม

เพื่อแจ้งเตือนผู้ใช้เกี่ยวกับประตูที่ทำได้ใน Champions League Final จากตัวอย่างข้างต้น ให้เรียกใช้ /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", // optional. Operator values: 'AND', 'OR'
"application" : "AAAAA-00000"
}
}

คำขอนี้จะคอมไพล์เซกเมนต์ของผู้ใช้ที่สมัครรับข้อมูลอัปเดตประตูของ Champions League Final (ID การแข่งขัน=0123) หรือผู้ใช้ที่ติดตาม Juventus หรือ Real Madrid (ID ทีม=111,222)

หากต้องการตั้งค่า High-Speed Delivery ใน Pushwoosh Control Panel ของคุณ ให้ สร้าง Segment ใหม่ ด้วยค่า Tag ที่สอดคล้องกัน และเชื่อมโยงกับแอปที่คุณจะส่งพุชไปให้ Segments เฉพาะแอปจะถูกคอมไพล์ล่วงหน้าทุกๆ 10 นาที เพื่อให้กลุ่มเป้าหมายเป็นปัจจุบันอยู่เสมอ

สร้าง Segment ใหม่

เมื่อมีกิจกรรมการแข่งขันเกิดขึ้น (ทำประตู, เริ่มการแข่งขัน, ใบแดง, ฯลฯ) ให้เรียกใช้ /createMessage พร้อมเนื้อหาการแจ้งเตือนพุชและชื่อ 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", // optional. Values: 'AND', 'OR'
"application": "AAAAA-00000",
"expiration_date": "YYYY-MM-DD" // optional. Segment (Filter) expiry
}
}