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

รวบรวมข้อมูลผู้เล่น

Pushwoosh จำเป็นต้องรู้ว่าผู้เล่นของคุณเป็นใครและทำอะไรในเกม อีเวนต์จะบันทึกการกระทำ ส่วนแท็กจะเก็บสถานะปัจจุบันของผู้เล่นแต่ละคน

ระบุตัวผู้เล่นด้วย User ID

Anchor link to

Pushwoosh จะเชื่อมโยงอุปกรณ์ทั้งหมดของผู้เล่นเข้ากับ User ID เดียว เซกเมนต์และ Journey ของคุณจึงนับคนหนึ่งคนเป็นผู้เล่นหนึ่งคน อีเวนต์และแท็ก User-specific ที่อุปกรณ์บันทึกไว้ก่อนผู้เล่นเข้าสู่ระบบจะยังคงอยู่กับ ID เดิมของอุปกรณ์ ส่วนแท็ก Device-specific จะย้ายไปพร้อมกับอุปกรณ์

โดยค่าเริ่มต้น Pushwoosh จะใช้ ID ฮาร์ดแวร์ (HWID) ของแต่ละอุปกรณ์เป็น User ID ของอุปกรณ์นั้น ผู้เล่นที่เล่นบนสองอุปกรณ์จึงถูกนับเป็นผู้เล่นสองคน หากต้องการหลีกเลี่ยงกรณีนี้สำหรับผู้เล่นที่เข้าสู่ระบบ ให้ตั้ง ID บัญชีของคุณเองเป็น User ID ของผู้เล่น:

  1. เลือก ID ที่จะใช้ ใช้ ID บัญชีที่เกมของคุณกำหนดให้ผู้เล่นแต่ละคนอยู่แล้ว
  2. ขอให้นักพัฒนาเรียก setUserId ด้วย ID นี้เมื่อผู้เล่นเข้าสู่ระบบ
  3. ตรวจสอบผลลัพธ์ เข้าสู่ระบบเกมบนอุปกรณ์ทดสอบ จากนั้นเปิด กลุ่มเป้าหมาย → User Explorer ค้นหาตาม User Id แล้วป้อน ID บัญชี โปรไฟล์ของผู้เล่นจะเปิดขึ้น

ผู้เล่นที่ไม่เคยเข้าสู่ระบบจะใช้ HWID เป็น User ID ต่อไป และ Pushwoosh จะตั้งค่านี้ให้

หากต้องการเรียนรู้เพิ่มเติมว่า User ID เกี่ยวข้องกับอุปกรณ์อย่างไร โปรดดู ผู้ใช้ (User ID)

ตั้งค่าอีเวนต์ที่จะติดตาม

Anchor link to

อีเวนต์คือวิธีที่ Pushwoosh รู้ว่าผู้เล่นทำอะไร ให้สร้างอีเวนต์ก่อน: เซกเมนต์ จะจัดกลุ่มผู้เล่นตามอีเวนต์ที่ผู้เล่นทริกเกอร์ และ Journey จะเริ่มทำงานเมื่อเกิดอีเวนต์

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

อีเวนต์มีสองประเภท:

อีเวนต์เริ่มต้น

Anchor link to

SDK จะส่งอีเวนต์เหล่านี้ให้คุณ คุณต้องใช้อีเวนต์เหล่านี้สำหรับ Journey ส่วนใหญ่ในเพลย์บุ๊กนี้ ได้แก่ การเริ่มต้นใช้งาน การดึงผู้เล่นกลับมา และข้อเสนอการซื้อ

  • PW_DeviceRegistered: อุปกรณ์ได้รับ push token แรก SDK จะขอ token ก็ต่อเมื่อเกมเรียก registerForPushNotifications ซึ่งบน iOS จะแสดงข้อความขออนุญาตด้วย และ token จะมาถึงไม่ว่าผู้เล่นจะตอบอย่างไร หากเกมขออนุญาตหลังการเปิดครั้งแรก อีเวนต์จะทำงานในตอนนั้น ไม่ใช่ตอนติดตั้ง หากต้องการจับผู้เล่นใหม่ ให้ใช้อีเวนต์ Tutorial started แทน
  • PW_ApplicationOpen: ผู้เล่นเปิดเกม คุณต้องใช้อีเวนต์นี้เพื่อหาผู้เล่นที่ยังเล่นอยู่และผู้เล่นที่เลิกเล่นไปแล้ว เพื่อดึงพวกเขากลับมา
  • PW_InAppPurchase: ผู้เล่นซื้อบางอย่างในเกม คุณต้องใช้อีเวนต์นี้เพื่อแยกผู้เล่นที่จ่ายเงินออกจากผู้เล่นที่ไม่จ่ายเงิน เช่น เพื่อเสนอการซื้อครั้งแรกเฉพาะผู้เล่นที่ไม่เคยจ่ายเงิน นักพัฒนาจะเปิดการติดตามการซื้อใน iOS SDK หรือส่งการซื้อจากโค้ด และบน Android จะส่งจากโค้ดเสมอ บน iOS อีเวนต์นี้จะทำงานเฉพาะกับผลิตภัณฑ์ที่กำหนดค่าไว้ใน App Store Connect
  • ไม่บังคับ: PW_UserIdle: ทำงานเมื่อผู้เล่นหยุดแตะหน้าจอตามระยะเวลาที่คุณกำหนด อย่างน้อย 30 วินาที ใช้เริ่ม Journey ที่แสดงคำแนะนำแบบ in-app เมื่อผู้เล่นติดขัด นักพัฒนาจะเปิดใช้ในการกำหนดค่า SDK
  • ไม่บังคับ: PW_ApplicationExit: ทำงานเมื่อผู้เล่นออกจากเกมและไม่กลับมาภายใน 10 ถึง 30 วินาที ใช้เริ่ม Journey การดึงผู้เล่นกลับมาสำหรับผู้เล่นที่ออกไประหว่างทาง นักพัฒนาจะเปิดใช้ในการกำหนดค่า SDK

อีเวนต์จะปรากฏใน กลุ่มเป้าหมาย → อีเวนต์ หลังจาก SDK ส่งอีเวนต์นั้นเป็นครั้งแรก

หากต้องการเพิ่มอีเวนต์เริ่มต้นอื่นๆ ลงในรายการล่วงหน้า เช่น เพื่อสร้างเซกเมนต์ก่อนที่การอัปเดตเกมจะเผยแพร่:

  1. เปิด กลุ่มเป้าหมาย → อีเวนต์ แล้วคลิก สร้างเหตุการณ์
  2. เลือก เหตุการณ์เริ่มต้น
  3. เลือกอีเวนต์แล้วคลิก เปิดใช้งาน

รายการในขั้นตอนที่ 3 ไม่มี PW_UserIdle และ PW_ApplicationExit อีเวนต์ทั้งสองจะปรากฏใน กลุ่มเป้าหมาย → อีเวนต์ หลังจาก SDK ส่งเป็นครั้งแรกเท่านั้น

สำหรับรายละเอียดเกี่ยวกับอีเวนต์เหล่านี้และอีเวนต์เริ่มต้นอื่นๆ โปรดดู อีเวนต์เริ่มต้น

อีเวนต์ที่กำหนดเอง

Anchor link to

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

เลือกอีเวนต์ที่จะติดตาม

Anchor link to

เลือกอีเวนต์ที่เกมของคุณต้องใช้และแอตทริบิวต์ที่แต่ละอีเวนต์มี เช่น level_id สำหรับ Level completed ตารางนี้แสดงตัวอย่าง: ใช้ตามเดิม เปลี่ยนชื่อ หรือเพิ่มอีเวนต์ของคุณเอง ติดตามเฉพาะอีเวนต์ที่ Journey ที่คุณเปิดใช้ต้องการ

อีเวนต์ทำงานเมื่อใดแอตทริบิวต์หลักใช้ขับเคลื่อนอะไร
New levelผู้เล่นไปถึงด่านใหม่level_id (String)ไม่บังคับ: เซกเมนต์ตามหมุดหมายของคุณเอง
Level completedผู้เล่นผ่านด่านlevel_id (String)เซกเมนต์ผู้เล่นที่มีส่วนร่วมแต่ยังไม่จ่ายและผู้เล่นที่ติดด่าน, Journey ความช่วยเหลือสำหรับผู้เล่นที่ติดด่าน
Level failedผู้เล่นผ่านด่านไม่สำเร็จlevel_id (String)เซกเมนต์และ Journey ผู้เล่นที่ติดด่าน
Tutorial startedผู้เล่นเริ่มบทสอนในเกมtutorial_name (String)Journey การเริ่มต้นใช้งาน, เซกเมนต์ผู้เล่นที่ทิ้งบทสอน
Tutorial completedผู้เล่นจบบทสอนในเกมtutorial_name (String), completion (Boolean)Journey การเริ่มต้นใช้งาน, โฟลว์ขอสิทธิ์การแจ้งเตือนแบบพุช
Virtual currency earnedยอดสกุลเงินในเกมของผู้เล่นเพิ่มขึ้นcurrency_name (String), quantity (Integer)ไม่บังคับ: เซกเมนต์ตามสกุลเงินของคุณเอง
Achievement unlockedผู้เล่นปลดล็อกความสำเร็จachievement_name (String), level (Integer)เซกเมนต์นักล่าความสำเร็จ
Daily reward claimedผู้เล่นรับรางวัลรายวันday_number (Integer)Journey เตือนรับรางวัลรายวัน
Live event joinedผู้เล่นเข้าร่วมไลฟ์อีเวนต์event_id (String)เป้าหมาย Conversion ของ Journey ไลฟ์อีเวนต์
Store openedผู้เล่นเปิดร้านค้าในเกมsection (String)Journey สำหรับผู้เล่นที่ออกจากร้านค้าโดยไม่ซื้อ

ส่งอีเวนต์จากเกม

Anchor link to

ตกลงกับนักพัฒนาว่าเกมจะส่งอีเวนต์ใดบ้างและแต่ละอีเวนต์มีแอตทริบิวต์ใด ชื่อของอีเวนต์และแอตทริบิวต์ต้องตรงกันทุกตัวอักษร

ตัวอย่างเช่น นี่คือวิธีที่เกมส่ง Level completed พร้อมแอตทริบิวต์ level_id:

TagsBundle attributes = new TagsBundle.Builder()
.putString("level_id", "12")
.build();
InAppManager.getInstance().postEvent("Level completed", attributes);

หากอีเวนต์เกิดขึ้นบนเซิร์ฟเวอร์ที่ส่งเว็บฮุกของตัวเองอยู่แล้ว เช่น แบ็กเอนด์ของเกมหรือบริการทัวร์นาเมนต์ อีเวนต์นั้นสามารถส่งถึง Pushwoosh ผ่าน Inbound webhook แทน postEvent ได้ คุณแมปฟิลด์ที่ส่งมากับอีเวนต์ของ Pushwoosh ใน Control Panel และอีเวนต์นั้นจะเริ่ม Journey ได้เหมือนอีเวนต์อื่นๆ

หากต้องการตรวจสอบว่าอีเวนต์มาถึงแล้ว ให้เปิด กลุ่มเป้าหมาย → User Explorer หาผู้เล่นทดสอบ แล้วเปิดแท็บ ประวัติเหตุการณ์

ติดตามรายได้เป็น PW_Conversion

Anchor link to

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

การซื้อที่ iOS SDK ติดตามจะเข้าสู่ PW_Conversion เองโดยอัตโนมัติ เพราะมีแอตทริบิวต์ __amount และ __currency การซื้อจาก Android ต้องใช้วิธีใดวิธีหนึ่งต่อไปนี้:

  • หากเกมของคุณทำงานทั้งบน iOS และ Android ให้ขอให้นักพัฒนาส่งการซื้อบน Android เป็น PW_InAppPurchase พร้อมแอตทริบิวต์ตัวเลข __amount และ __currency ผ่าน postEvent แทนเมธอดการซื้อของ SDK แล้วการแมปอัตโนมัติแบบเดียวกันจะครอบคลุมทั้งสองแพลตฟอร์ม
  • หากเกมของคุณทำงานบน Android เท่านั้น ให้แมปการซื้อเองโดยไม่ต้องเขียนโค้ดใหม่ อีเวนต์หนึ่งรายการเก็บการแมปได้เพียงชุดเดียว ดังนั้นในเกมที่มีการซื้อบน iOS การแมปด้วยตนเองจะแทนที่การแมปอัตโนมัติ

หากต้องการแมปการซื้อเอง:

  1. เปิด กลุ่มเป้าหมาย → อีเวนต์ แล้วเปิดการตั้งค่าอีเวนต์ Conversion
  2. เพิ่ม PW_InAppPurchase เป็นอีเวนต์ Conversion
  3. เลือกแอตทริบิวต์ที่เก็บ ราคา และ สกุลเงิน
  4. คลิก นำไปใช้

สำหรับตัวเลือกการตั้งค่าทั้งหมด โปรดดู อีเวนต์ Conversion

ติดตามการสมัครสมาชิกจากสโตร์

Anchor link to

หากเกมของคุณขายการสมัครสมาชิก เช่น VIP pass หรือ battle pass Pushwoosh จะได้รับการเปลี่ยนแปลงสถานะจาก App Store และ Google Play การเปลี่ยนแปลงแต่ละครั้งจะมาถึงเป็นอีเวนต์ PW_Subscription* ตัวอย่างเช่น:

  • PW_SubscriptionStart: ผู้เล่นสมัครสมาชิก
  • PW_SubscriptionCancel: ผู้เล่นปิดการต่ออายุอัตโนมัติ
  • PW_SubscriptionBillingIssue: การชำระเงินเพื่อต่ออายุล้มเหลว

ใช้อีเวนต์เหล่านี้เพื่อเริ่ม Journey เช่น การแจ้งเตือนก่อนที่ pass ที่ยกเลิกแล้วจะหมดอายุ

อีเวนต์เหล่านี้ครอบคลุมเฉพาะการสมัครสมาชิก การซื้อครั้งเดียว เช่น แพ็กเหรียญ ยังคงมาถึงเป็น PW_InAppPurchase

จัดเก็บข้อมูลผู้เล่นในแท็ก

Anchor link to

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

  • ส่งข้อความเฉพาะผู้เล่นที่มีค่าบางอย่าง เช่น ส่งข้อเสนอเฉพาะผู้เล่นที่จ่ายเงิน
  • ใส่ค่าลงในข้อความ เช่น ด่านของผู้เล่น โปรดดู สร้าง Journey

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

แท็กของคุณเอง

Anchor link to

นักพัฒนาจะส่งค่าแท็กจากเกม หรือคุณสามารถ นำเข้าค่าจากไฟล์ CSV ได้ Pushwoosh จะสร้างแท็กเป็นแท็ก User-specific เมื่อนักพัฒนาส่งแท็กนั้นเป็นครั้งแรก หากต้องการเลือกประเภทของแท็กเอง ให้สร้างแท็กใน Control Panel ก่อน โปรดดู จัดการข้อมูลผู้ใช้ด้วย Tag

แท็กเหล่านี้เป็นตัวอย่าง เปลี่ยนชื่อให้ตรงกับคำศัพท์ในเกมของคุณ และเพิ่มแท็กของคุณเอง:

แท็กประเภทตัวอย่างใช้ขับเคลื่อนอะไร
player_levelInteger12กรองข้อความตามระดับความก้าวหน้า
is_paying_userBooleantrueแยกข้อความสำหรับผู้เล่นที่จ่ายเงินและไม่จ่ายเงิน
soft_currency_balanceInteger1500เสนอแพ็กสกุลเงินให้ผู้เล่นที่ยอดคงเหลือต่ำ
vip_tierStringgoldมอบข้อเสนอเฉพาะและสิทธิ์เข้าถึงก่อนให้ผู้เล่น VIP
favorite_modeStringpvpประกาศไลฟ์อีเวนต์สำหรับโหมดที่ผู้เล่นชอบ

เมื่อคุณสร้างแท็กใน Control Panel ให้เปิด เฉพาะผู้ใช้ ไว้ตามค่าเริ่มต้น จากนั้น Pushwoosh จะเก็บค่าหนึ่งค่าต่อ User ID ค่าจึงเป็นของผู้เล่น ไม่ใช่ของอุปกรณ์เครื่องใดเครื่องหนึ่ง หากปิด เฉพาะผู้ใช้ อุปกรณ์แต่ละเครื่องจะเก็บค่าของตัวเอง โปรดดู ระบุตัวผู้เล่นด้วย User ID

แท็กเริ่มต้น

Anchor link to

Pushwoosh จัดเก็บ แท็กเริ่มต้น เหล่านี้สำหรับทุกอุปกรณ์ คุณจึงไม่ต้องสร้างเอง:

  • Language: ภาษาของอุปกรณ์ Pushwoosh ใช้แท็กนี้เพื่อส่งข้อความถึงผู้เล่นแต่ละคนในภาษาของผู้เล่น
  • Last Application Open: เวลาที่เปิดเกมบนอุปกรณ์ครั้งล่าสุด ใช้เพื่อหาผู้เล่นที่เลิกเล่นแล้ว
  • Push Alerts Enabled: อนุญาตการแจ้งเตือนในการตั้งค่าอุปกรณ์หรือไม่ ใช้เพื่อแสดงข้อความ in-app เฉพาะผู้เล่นที่ยังไม่อนุญาต
  • First Install: เวลาที่ติดตั้งเกมบนอุปกรณ์เป็นครั้งแรก ใช้สำหรับวันครบรอบการติดตั้ง
  • Country: ประเทศของอุปกรณ์ ใช้เพื่อส่งข้อเสนอหรือประกาศไลฟ์อีเวนต์เฉพาะผู้เล่นในภูมิภาคเดียว