Braze คอนเนกชัน
Braze คอนเนกชันช่วยให้คุณพุชข้อมูลผู้เล่นไปยัง Braze โดยตรงผ่าน /users/track API ทุกอีเวนต์ทริกเกอร์จะส่งทั้งแอตทริบิวต์ผู้ใช้และอีเวนต์แบบกำหนดเองไปยัง Braze ทำให้คุณสามารถสร้างเซกเมนต์ ทริกเกอร์แคมเปญ และจัดการ Canvas flow ตามกิจกรรมในเกมได้
สิ่งที่ต้องมี
หัวข้อที่มีชื่อว่า “สิ่งที่ต้องมี”| ข้อกำหนด | หาได้ที่ |
|---|---|
| Braze REST API Key | Braze Dashboard → Settings → API Keys (ต้องมีสิทธิ์ users.track) |
| REST Endpoint | Braze Dashboard → Settings → API Keys (เช่น https://rest.iad-01.braze.com) |
การตั้งค่า
หัวข้อที่มีชื่อว่า “การตั้งค่า”- ไปที่คอนเนกชันจากเมนูหลัก
- คลิกเพิ่มคอนเนกชันและเลือก Braze
- กรอก API Key และ REST Endpoint
- บันทึกคอนเนกชัน
- เชื่อมต่อกับสตรีมและเลือกอีเวนต์ทริกเกอร์
การระบุตัวตนผู้ใช้
หัวข้อที่มีชื่อว่า “การระบุตัวตนผู้ใช้”DailyPlay ระบุตัวตนผู้ใช้ใน Braze ผ่าน URL parameter ที่ส่งมาเมื่อผู้เล่นเข้าถึงสตรีม Braze รองรับตัวระบุ 2 ประเภท:
| URL Parameter | Braze API Field | คำอธิบาย |
|---|---|---|
braze_id | braze_id | ตัวระบุผู้ใช้ภายในของ Braze |
external_id | external_id | User ID ของระบบคุณที่แมปใน Braze |
user_id | external_id | Alias — ใช้เหมือนกับ external_id |
DailyPlay ตรวจสอบตัวระบุตามลำดับความสำคัญ: braze_id → external_id → user_id หากไม่มีใน URL
parameter จะใช้ player_uuid ของ DailyPlay เป็น external_id
ตัวอย่าง Stream URL
หัวข้อที่มีชื่อว่า “ตัวอย่าง Stream URL”https://app.dailyplay.ai/stream/my-org/my-stream?external_id=usr_123แอตทริบิวต์ที่ส่งไปยัง Braze
หัวข้อที่มีชื่อว่า “แอตทริบิวต์ที่ส่งไปยัง Braze”แต่ละอีเวนต์ทริกเกอร์จะอัปเดตโปรไฟล์ผู้ใช้ใน Braze ด้วยแอตทริบิวต์แบบกำหนดเองดังนี้:
แอตทริบิวต์ระดับบนสุด
หัวข้อที่มีชื่อว่า “แอตทริบิวต์ระดับบนสุด”| แอตทริบิวต์ | ประเภท | คำอธิบาย |
|---|---|---|
country | string | รหัสประเทศของผู้เล่น (ตรวจจับอัตโนมัติ) |
device_type | string | ประเภทอุปกรณ์ของผู้เล่น (เช่น mobile, desktop) |
ออบเจกต์ dailyplay แบบซ้อน
หัวข้อที่มีชื่อว่า “ออบเจกต์ dailyplay แบบซ้อน”แอตทริบิวต์เฉพาะของ DailyPlay ทั้งหมดจัดกลุ่มภายใต้ออบเจกต์ dailyplay บนโปรไฟล์ผู้ใช้:
| แอตทริบิวต์ | ประเภท | คำอธิบาย |
|---|---|---|
dailyplay.last_game_id | string | ID ของเกมที่เล่นล่าสุด |
dailyplay.last_stream_name | string | ชื่อสตรีมที่เกมอยู่ |
dailyplay.last_stream_slug | string | URL slug ของสตรีม |
dailyplay.last_play_date | string | ISO 8601 timestamp ของการโต้ตอบครั้งล่าสุด |
dailyplay.stream_<stream_slug> | string | ประเภทอีเวนต์ที่บันทึกสำหรับสตรีมนี้ (เช่น play_complete) — ใช้สำหรับ funnel tracking |
dailyplay.last_game_score | number | คะแนนผู้เล่น (เฉพาะอีเวนต์ play_complete) |
dailyplay.last_play_duration | number | ระยะเวลาเล่น (วินาที) (เฉพาะอีเวนต์ play_complete) |
:::tip แอตทริบิวต์ dailyplay.stream_<stream_slug> เก็บประเภทอีเวนต์ล่าสุดต่อสตรีม ใช้ใน Braze
เพื่อสร้างเซกเมนต์ตาม journey เช่น กำหนดเป้าหมายผู้ใช้ที่ dailyplay.stream_welcome_stream เท่ากับ
play_complete :::
อีเวนต์แบบกำหนดเองที่ส่งไปยัง Braze
หัวข้อที่มีชื่อว่า “อีเวนต์แบบกำหนดเองที่ส่งไปยัง Braze”แต่ละทริกเกอร์จะส่งอีเวนต์แบบกำหนดเองใน Braze ตามรูปแบบชื่อ dailyplay_<event_type>:
| ชื่ออีเวนต์ | ทำงานเมื่อ |
|---|---|
dailyplay_stream_access | ผู้เล่นเปิดหน้าสตรีม |
dailyplay_play_start | ผู้เล่นเริ่มเล่นเกม |
dailyplay_play_complete | ผู้เล่นเล่นเกมจบ |
dailyplay_prize_redemption | ผู้เล่นรับรางวัลหรือบัตรกำนัล |
พร็อพเพอร์ตี้ของอีเวนต์
หัวข้อที่มีชื่อว่า “พร็อพเพอร์ตี้ของอีเวนต์”อีเวนต์แบบกำหนดเองทุกรายการมีพร็อพเพอร์ตี้ดังนี้:
| พร็อพเพอร์ตี้ | ประเภท | คำอธิบาย |
|---|---|---|
game_id | string | ID ของเกม |
stream_id | number | ID ของสตรีม (แคมเปญ) |
stream_name | string | ชื่อแสดงของสตรีม |
player_uuid | string | ตัวระบุผู้เล่น DailyPlay |
score | number | คะแนนผู้เล่น (เฉพาะ play_complete) |
play_duration_seconds | number | เวลาที่ใช้เล่นจบ (วินาที) (เฉพาะ play_complete) |
url_<param> | string | URL parameter เพิ่มเติมที่มี prefix url_ |
:::note พารามิเตอร์ระบุตัวตน (braze_id, external_id, user_id)
จะไม่รวมอยู่ในพร็อพเพอร์ตี้ของอีเวนต์ เนื่องจากใช้สำหรับการระบุตัวตนผู้ใช้แล้ว :::
ตัวอย่าง Payload
หัวข้อที่มีชื่อว่า “ตัวอย่าง Payload”ด้านล่างคือ payload /users/track ฉบับเต็มที่ DailyPlay ส่งไปยัง Braze สำหรับอีเวนต์
play_complete:
{ "attributes": [ { "external_id": "usr_123", "country": "US", "device_type": "mobile", "dailyplay": { "last_game_id": "163", "last_stream_name": "Summer Campaign", "last_stream_slug": "summer-campaign", "last_play_date": "2026-04-09T14:30:00.000Z", "stream_summer-campaign": "play_complete", "last_game_score": 85, "last_play_duration": 32 } } ], "events": [ { "external_id": "usr_123", "name": "dailyplay_play_complete", "time": "2026-04-09T14:30:00.000Z", "properties": { "game_id": "163", "stream_id": 453, "stream_name": "Summer Campaign", "player_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "score": 85, "play_duration_seconds": 32, "url_source": "email_campaign" } } ]}กรณีการใช้งานใน Braze
หัวข้อที่มีชื่อว่า “กรณีการใช้งานใน Braze”- แคมเปญแบบทริกเกอร์ — ส่งข้อความติดตามเมื่อ
dailyplay_play_completeทำงาน - เซกเมนเทชัน — สร้างเซกเมนต์จากแอตทริบิวต์
dailyplay.last_game_scoreหรือdailyplay.stream_<slug> - Canvas flow — ใช้อีเวนต์เกมเป็น entry trigger หรือ decision split ใน journey แบบหลายขั้นตอน
- รีเอ็นเกจเมนต์ — กำหนดเป้าหมายผู้ใช้ที่ทริกเกอร์
dailyplay_play_startแต่ไม่ทริกเกอร์dailyplay_play_complete