# ตั้งค่า User ID ที่กำหนดเองและเชื่อมโยงกับอุปกรณ์หลายเครื่อง

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

## User ID คืออะไร?

User ID คือตัวระบุที่ไม่ซ้ำกันซึ่งกำหนดให้กับผู้ใช้แต่ละคน User ID เดียวสามารถเชื่อมโยงกับอุปกรณ์ได้หลายเครื่อง โดยแต่ละวิธีการติดต่อ (แอปมือถือ, ที่อยู่อีเมล, หมายเลขโทรศัพท์) จะถูก[ปฏิบัติเหมือนเป็นอุปกรณ์แยกต่างหาก](/th/product/pushwoosh-knowledge-hub/omnichannel-campaigns/#understanding-how-pushwoosh-handles-devices)

การเชื่อมโยงอุปกรณ์ทั้งหมด (วิธีการติดต่อ) ภายใต้ User ID เดียวช่วยให้คุณสามารถเข้าถึงผู้ใช้ผ่านช่องทางต่างๆ และประสานงานการส่งข้อความใน[แคมเปญ omnichannel](/th/product/pushwoosh-knowledge-hub/omnichannel-campaigns/)

<Aside type="note">
ผู้ใช้แต่ละคนสามารถมีอุปกรณ์ได้สูงสุด **20 เครื่อง**ที่เชื่อมโยงกับ User ID ของพวกเขา หากมีการลงทะเบียนอุปกรณ์ใหม่เกินขีดจำกัดนี้ อุปกรณ์ที่ไม่มีการใช้งานที่เก่าที่สุดจะถูกลบออกโดยอัตโนมัติ [เรียนรู้เพิ่มเติม](/th/developer/pushwoosh-knowledge-hub/users-userids/#device-limit-per-user)
</Aside>

> สำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีการทำงานของ User ID และความสัมพันธ์กับอุปกรณ์ โปรดดู[คู่มือนี้](/th/developer/pushwoosh-knowledge-hub/users-userids/)

## ทำไมคุณต้องตั้งค่า User ID ที่กำหนดเอง

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

หากคุณต้องการให้ Pushwoosh รู้จักอุปกรณ์หลายเครื่องว่าเป็นของผู้ใช้คนเดียวกัน คุณต้องตั้งค่า User ID ที่กำหนดเองและกำหนดให้กับอุปกรณ์ทั้งหมดของผู้ใช้นั้น

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

### จำนวนผู้ใช้ที่แม่นยำสำหรับการเรียกเก็บเงิน

Pushwoosh คิดค่าบริการตามจำนวนผู้ใช้ที่ไม่ซ้ำกันในฐานข้อมูลของคุณ

> [เรียนรู้เพิ่มเติมเกี่ยวกับราคาของ Pushwoosh](https://pushwoosh.com/pricing)

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

### การส่งข้อความที่สอดคล้องกันข้ามช่องทาง

เพื่อประสบการณ์ที่เป็นหนึ่งเดียวกันใน push notifications, อีเมล, SMS, in-app, WhatsApp และช่องทางอื่นๆ ข้อมูลผู้ใช้ทั้งหมดจะต้องเชื่อมโยงภายใต้ User ID เดียว

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

> เรียนรู้เพิ่มเติมเกี่ยวกับ [แคมเปญ Omnichannel](/th/product/pushwoosh-knowledge-hub/omnichannel-campaigns/)

### โปรไฟล์ผู้ใช้ที่คงอยู่ถาวร

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

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

คุณสามารถดูและจัดการข้อมูลนี้ได้ใน [User Explorer](/th/product/audience-data-and-segmentation/user-explorer/) ซึ่งช่วยให้คุณสามารถกำหนดเป้าหมายได้แม่นยำยิ่งขึ้นและมอบความเป็นส่วนตัวที่ดีขึ้น
## วิธีการกำหนดและจัดการ User ID

Pushwoosh มีหลายวิธีในการกำหนดและจัดการ User ID:
### เมธอด setUserID SDK

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

นี่คือช่วงเวลาสำคัญบางส่วนที่คุณสามารถตั้งค่าหรืออัปเดต User ID ที่กำหนดเองได้:

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

**ตัวอย่าง iOS**

`[[Pushwoosh sharedInstance] setUserId:@"userId"];`

**ตัวอย่าง Android**

`Pushwoosh.getInstance().setUserId("testUser");`

**ตัวอย่าง Web**

`api.registerUser('user123');`


### การจัดการ User ID ระหว่างการเข้าสู่ระบบและออกจากระบบ

เมื่อผู้ใช้ออกจากระบบ ขอแนะนำให้รีเซ็ต User ID ของพวกเขาเป็นค่าเริ่มต้นโดยใช้การเรียก `setUserId` อีกครั้ง เมื่อผู้ใช้เข้าสู่ระบบอีกครั้ง ให้อัปเดต User ID เป็นค่าที่กำหนดเองเฉพาะสำหรับผู้ใช้นั้น

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

### เมธอด API registerEmail หรือ registerEmailUser

ใช้เมธอด API [registerEmail](/th/developer/api-reference/email-api#registeremail) หรือ [registerEmailUser](/th/developer/api-reference/email-api#registeremailuser) เพื่อเชื่อมโยง User ID ภายนอกกับที่อยู่อีเมลที่ระบุ

โปรดทราบว่า [registerEmailUser](/th/developer/api-reference/email-api#registeremailuser) ไม่ได้ลงทะเบียนที่อยู่อีเมลในฐานผู้ใช้ของคุณ ควรใช้เพื่อกำหนด user ID ให้กับที่อยู่อีเมลที่ลงทะเบียนแล้วโดยคำขอ registerEmail เท่านั้น

### เมธอด API registerDevice

แม้ว่าจะใช้เป็นหลักในการลงทะเบียนอุปกรณ์ใหม่ใน Pushwoosh แต่เมธอดนี้ยังสามารถตั้งค่า User ID ในขณะที่ลงทะเบียนอุปกรณ์ได้อีกด้วย

หากคุณส่ง User ID ที่กำหนดเองในการเรียกนี้ (ตัวอย่างเช่น "userId": "Alex") มันจะถูกเชื่อมโยงกับอุปกรณ์ หากไม่มีการให้ User ID อุปกรณ์จะถูกเชื่อมโยงกับ User ID ที่ไม่ระบุชื่อซึ่งเท่ากับ hardware ID (HWID)

เพื่อเชื่อมโยงหมายเลขโทรศัพท์ของลูกค้ากับ **UserId** โดยใช้เมธอด [**/registerDevice**](/th/developer/api-reference/device-api/#registerdevice) โปรดระบุหมายเลขโทรศัพท์ในพารามิเตอร์ "hwid"

### เมธอด API registerUser

เมธอด API นี้ช่วยให้คุณสามารถเชื่อมโยง User ID ภายนอกกับอุปกรณ์ที่ระบุ หรือโอนย้ายอุปกรณ์ระหว่างผู้ใช้ในขณะที่ยังคงรักษา device tags ไว้ ตัวอย่างเช่น เมื่อผู้ใช้ออกจากระบบและผู้ใช้ใหม่เข้าสู่ระบบ

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