# ผู้ใช้ (User ID)

User ID คือตัวระบุที่ไม่ซ้ำกันซึ่งถูกกำหนดให้กับผู้ใช้แต่ละคนเพื่อรักษาข้อมูลผู้ใช้ให้สอดคล้องกันในทุกอุปกรณ์ของพวกเขา ซึ่งช่วยให้คุณสามารถมอบประสบการณ์ผู้ใช้ที่ราบรื่นให้กับผู้ชมของคุณในทุกอุปกรณ์

## ผู้ใช้และอุปกรณ์เกี่ยวข้องกันอย่างไร?

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

ผู้ใช้ (User ID) ไม่ใช่เอนทิตีที่อยู่ได้ด้วยตัวเอง แต่ต้องอาศัยการมีอยู่ของอุปกรณ์ที่เชื่อมโยงอยู่ หากอุปกรณ์ที่เชื่อมโยงล่าสุดถูกลบออกหรือเชื่อมโยงกับผู้ใช้อื่น ผู้ใช้นั้นจะถูกลบออกจากระบบโดยอัตโนมัติ

ผู้ใช้ (User ID) ยังทำหน้าที่เป็นเอนทิตีที่สามารถจัดกลุ่มอุปกรณ์หลายเครื่องไว้ด้วยกัน โดยแต่ละเครื่องจะมี Hardware ID (HWID) ที่ไม่ซ้ำกัน

<img src="/user-ids-users-userids-1.webp" alt="แผนภาพแสดงความสัมพันธ์ระหว่าง User ID และอุปกรณ์หลายเครื่อง ซึ่งแต่ละเครื่องมี Hardware ID ที่ไม่ซ้ำกัน"/>

### ขีดจำกัดอุปกรณ์ต่อผู้ใช้

ผู้ใช้แต่ละคนสามารถมีอุปกรณ์เชื่อมโยงกับ User ID ได้สูงสุด 20 เครื่อง เมื่อมีการลงทะเบียนอุปกรณ์เครื่องที่ 21 ระบบจะลบอุปกรณ์ที่มีอยู่ออกหนึ่งเครื่องโดยอัตโนมัติเพื่อเพิ่มพื้นที่

**วิธีการเลือกอุปกรณ์ที่จะลบ**

1. หากอุปกรณ์ที่เชื่อมโยงทั้งหมดเป็นอุปกรณ์สำหรับอีเมลเท่านั้น อุปกรณ์อีเมลแบบสุ่มจะถูกลบออก
2. มิฉะนั้น ระบบจะค้นหาอุปกรณ์ที่ไม่ใช่อีเมลที่เก่าที่สุดโดยพิจารณาจากเวลาที่เปิดแอปครั้งล่าสุดและลบออก
3. หากไม่มีข้อมูลกิจกรรมเพื่อเปรียบเทียบ (เช่น อุปกรณ์ถูกเพิ่มผ่าน API โดยไม่มีการใช้งานแอปจริง) อุปกรณ์ที่ไม่ใช่อีเมลแบบสุ่มจะถูกลบออก

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

## ประเภทของผู้ใช้

ผู้ใช้มีสองประเภท: ผู้ใช้ที่ไม่ระบุตัวตน (anonymous) และผู้ใช้ที่รู้จัก (known users) ผู้ใช้ที่ไม่ระบุตัวตนจะมี User ID เท่ากับ HWID ของอุปกรณ์ ซึ่งสามารถแทนที่ด้วย User ID จริงได้ในภายหลัง

ผู้ใช้ที่รู้จักจะมี User ID ที่แตกต่างออกไป คุณสามารถระบุ User ID เมื่อลงทะเบียนอุปกรณ์ใหม่ผ่านการเรียก API [`/registerDevice`](/th/developer/api-reference/device-api/#registerdevice)

## การรับและจัดการ User ID

Pushwoosh มีหลายวิธีในการเข้าถึงและจัดการผู้ใช้:

### การสร้างผู้ใช้

โดยค่าเริ่มต้น เมื่อแอปที่มี Pushwoosh SDK ที่ผสานรวมอยู่ถูกเปิดใช้งานเป็นครั้งแรก แอปจะตั้งค่า HWID ของอุปกรณ์เป็น User ID คุณสามารถเรียกเมธอด [`setUserID`](/th/developer/first-steps/collecting-user-ids/) จาก Pushwoosh SDK เมื่อเข้าสู่ระบบเพื่อตั้งค่าใดๆ ที่ต้องการเพื่อเชื่อมโยงอุปกรณ์กับผู้ใช้รายใดรายหนึ่ง เมื่อผู้ใช้ออกจากระบบ คุณสามารถรีเซ็ตค่านี้เป็นค่าเริ่มต้นได้ด้วยการเรียก [`setUserID`](/th/developer/first-steps/collecting-user-ids/) อีกครั้ง เช่น รีเซ็ตเป็นค่า HWID เริ่มต้น

### การนำเข้าผู้ใช้

คุณสามารถนำเข้า User ID จากไฟล์ CSV สำหรับกลุ่มผู้ใช้ที่ต้องการได้อย่างง่ายดาย โปรดดูคำแนะนำโดยละเอียดของเราใน[คู่มือ Segments](/th/product/audience-data-and-segmentation/segmentation/create-segments/by-import)

### การส่งออกผู้ใช้

ในการส่งออก User ID คุณสามารถใช้คำขอ API [`/exportSegment`](/th/developer/api-reference/segmentation-filters-api/#exportsegment) ซึ่งมีตัวเลือกในการส่งออกข้อมูลในรูปแบบ CSV หรือ JSON

### การเข้าถึง User ID จากบันทึกของอุปกรณ์

User ID ยังสามารถเข้าถึงได้โดยตรงจากบันทึกของอุปกรณ์ สำหรับคำแนะนำทีละขั้นตอน โปรดดูบทความ [วิธีรับ Console Logs และ Device Tokens](https://help.pushwoosh.com/hc/en-us/articles/360000292586-How-to-obtain-console-logs-and-device-token?source=search\&auth\_token=eyJhbGciOiJIUzI1NiJ9.eyJhY2NvdW50X2lkIjoyOTA5MjksInVzZXJfaWQiOjEyNDkzMTI5MDkwMzMzLCJ0aWNrZXRfaWQiOjc4MzMyLCJjaGFubmVsX2lkIjo2MywidHlwZSI6IlNFQVJDSCIsImV4cCI6MTY5MzExNDk5Mn0.SpeS-IJ\_j3mB6Elf2ObMjev2MZSmDOLu4DYQdEcZvS8)

## แท็กผู้ใช้และอุปกรณ์

เช่นเดียวกับอุปกรณ์ ผู้ใช้ (User ID) สามารถมีชุด[แท็ก](/th/product/audience-data-and-segmentation/user-data-tags/)ของตัวเองซึ่งจะทำหน้าที่เป็นป้ายกำกับเพื่อจัดหมวดหมู่และระบุผู้ใช้หรืออุปกรณ์ตามลักษณะของพวกเขา

### วิธีสร้างแท็กเฉพาะผู้ใช้

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

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

<img src="/user-ids-users-userids-2.webp" alt="ฟอร์มสร้างแท็กใน Pushwoosh Control Panel แสดงตัวเลือกช่องทำเครื่องหมาย User-specific สำหรับการสร้างแท็กเฉพาะผู้ใช้"/>


## การจัดการการเปลี่ยนผ่านของผู้ใช้

ภายใน Pushwoosh การจัดการการเปลี่ยนผ่านของผู้ใช้เกี่ยวข้องกับสองสถานการณ์หลัก:

### การเปลี่ยนจากผู้ใช้ที่ไม่ระบุตัวตนเป็นผู้ใช้ที่รู้จัก

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

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

### การเปลี่ยนจากผู้ใช้ที่รู้จักคนหนึ่งไปยังอีกคนหนึ่ง

หากผู้ใช้ที่เชื่อมโยงกับอุปกรณ์ถูกเปลี่ยนโดยใช้ **setUserID** จาก Pushwoosh SDK อุปกรณ์จะถูกเชื่อมโยงกับโปรไฟล์ผู้ใช้ใหม่

> เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่า User ID สำหรับ [Android](/th/developer/pushwoosh-sdk/android-sdk/android-faq/#how-do-i-set-a-userid) และ [iOS](/th/developer/pushwoosh-sdk/ios-sdk/ios-faq/#q-how-can-i-set-a-user-id-in-pushwoosh)

คุณยังสามารถใช้การเรียก API [`/registerUser`](/th/developer/api-reference/user-centric-api#registeruser) ได้

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

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

## เมธอด API สำหรับการจัดการผู้ใช้

Pushwoosh มีเมธอด API หลายอย่างเพื่อจัดการผู้ใช้ภายในแอปพลิเคชันของคุณ การทำความเข้าใจเมธอดเหล่านี้เป็นสิ่งสำคัญสำหรับการจัดการข้อมูลผู้ใช้และการกำหนดเป้าหมายอย่างมีประสิทธิภาพ นี่คือสี่เมธอดหลักที่เปลี่ยนแปลงสถานะหรือคุณลักษณะของผู้ใช้:

1. [`/applicationOpen`](/th/developer/api-reference/device-api#applicationopen)

* สร้างอุปกรณ์ที่ไม่มี push token และผู้ใช้ที่ไม่ระบุตัวตนหากยังไม่มี
* ตั้งค่าแท็กเฉพาะอุปกรณ์บนอุปกรณ์
* ไม่จัดการการเปลี่ยนแปลงที่เกี่ยวข้องกับผู้ใช้

2.  [`/registerDevice`](/th/developer/api-reference/device-api#registerdevice)

* สร้างอุปกรณ์ที่มี push token และผู้ใช้หากยังไม่มี
* เชื่อมโยงอุปกรณ์กับผู้ใช้จากคำขอ API (มิฉะนั้นจะเป็นผู้ใช้ที่ไม่ระบุตัวตน)
* กำหนดแท็กที่ระบุทั้งหมดให้กับทั้งอุปกรณ์และผู้ใช้ที่เกี่ยวข้อง

<Aside type="caution">
เพื่อป้องกันสภาวะการแข่งขันที่อาจเกิดขึ้น (race conditions) (ซึ่งการดำเนินการหลายอย่างพยายามแก้ไขข้อมูลที่ใช้ร่วมกันพร้อมกัน) โปรดงดเว้นการใช้ [`/registerDevice`](/th/developer/api-reference/device-api#registerdevice) พร้อมกันกับ [`/registerUser`](/th/developer/api-reference/user-centric-api#registeruser)
</Aside>
 
3. [`/registerUser`](/th/developer/api-reference/user-centric-api#registeruser)

* สร้างอุปกรณ์ที่ไม่มี push token และผู้ใช้หากยังไม่มี
* โอนย้ายอุปกรณ์ระหว่างผู้ใช้โดยยังคงแท็กของอุปกรณ์ไว้

4.  [`/setTags`](/th/developer/api-reference/device-api#settags)

* สร้างอุปกรณ์ที่ไม่มี push token และผู้ใช้ที่ไม่ระบุตัวตนหากยังไม่มี
* กำหนดแท็กอุปกรณ์ให้กับอุปกรณ์
* กำหนดแท็กผู้ใช้ให้กับผู้ใช้ที่ระบุในคำขอ (หากมีผู้ใช้ดังกล่าวอยู่)
* เมธอดนี้ไม่ได้โอนย้ายอุปกรณ์ และด้วยเหตุนี้จึงไม่สามารถสร้างผู้ใช้ที่รู้จักใหม่ได้ (คุณสามารถใช้เมธอด [`/registerUser`](/th/developer/api-reference/user-centric-api/#registeruser) เพื่อสร้างผู้ใช้ที่รู้จักใหม่ได้)

## หากผู้ใช้เชื่อมโยงกับอุปกรณ์หลายเครื่อง เครื่องใดจะได้รับข้อความระหว่าง Customer Journey?

เมื่อผู้ใช้มีอุปกรณ์หลายเครื่องที่เชื่อมโยงกับบัญชีของพวกเขา วิธีการส่งข้อความข้ามอุปกรณ์จะขึ้นอยู่กับประเภทของ Journey:

### Journey ที่เริ่มต้นตามกลุ่มเป้าหมาย (Audience-based entry) และ Journey ที่เริ่มต้นตาม webhook (webhook-based entry)

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

### Journey ที่เริ่มต้นตามทริกเกอร์ (Trigger-based entry)

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

### การส่งไปยังทุกอุปกรณ์

อย่างไรก็ตาม คุณสามารถเลือกที่จะลบล้างการตั้งค่าเริ่มต้นเหล่านี้และส่งข้อความไปยังอุปกรณ์ทั้งหมดที่เชื่อมโยงกับ User ID พร้อมกันได้ โดยในการตั้งค่าข้อความ ให้เลื่อนลงไปที่ **Options** และเปิดใช้งาน **Send to all user devices**

<img src="/user-ids-users-userids-3.webp" alt="การตั้งค่าข้อความใน Customer Journey แสดงตัวเลือกสลับ Send to all user devices ในส่วน Options"/>

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