ทำความเข้าใจตัวระบุอุปกรณ์ใน Pushwoosh
มีสองวิธีในการระบุอุปกรณ์ที่ลงทะเบียนกับ Pushwoosh – นั่นคือ hardware ID (HWID) และ push token
HWID
Anchor link toHWID (หรือ Hardware ID) คือตัวระบุหลักที่ Pushwoosh SDK กำหนดให้กับอุปกรณ์
Android HWID
Anchor link toสำหรับอุปกรณ์ Android, HWID คือชุดตัวอักษรและตัวเลขแบบสุ่มที่สร้างขึ้นโดยแอปแรกที่ติดตั้ง Pushwoosh SDK บนอุปกรณ์นั้น จากนั้นจะมีการแชร์ HWID นี้กับแอปอื่นๆ ที่มี Pushwoosh SDK อยู่ด้วย ส่งผลให้แอปเหล่านั้นทั้งหมดมี HWID เดียวกัน
อย่างไรก็ตาม หากผู้ใช้ลบแอปทั้งหมดที่มี Pushwoosh SDK แล้วติดตั้งบางแอปใหม่อีกครั้ง HWID ใหม่จะถูกสร้างขึ้นอีกครั้ง
ตัวอย่าง Android HWID: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e
iOS HWID
Anchor link toสำหรับอุปกรณ์ iOS จะใช้ IDFV (Identifier for Vendor) เป็น HWID ของอุปกรณ์ ซึ่งจะไม่เปลี่ยนแปลงตราบใดที่ยังมีแอปอย่างน้อยหนึ่งแอปจากผู้จำหน่าย (vendor) เดียวกันติดตั้งอยู่บนอุปกรณ์
ตัวอย่าง iOS HWID (ต้องเป็นตัวพิมพ์ใหญ่เท่านั้น!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
Push token
Anchor link toPush token (หรือ device token) คือคีย์เฉพาะสำหรับคู่แอป-อุปกรณ์ ที่ออกให้โดยเกตเวย์การแจ้งเตือนแบบพุชของ Apple หรือ Google ซึ่งช่วยให้เกตเวย์และผู้ให้บริการการแจ้งเตือนแบบพุชสามารถกำหนดเส้นทางข้อความและรับรองว่าการแจ้งเตือนจะถูกส่งไปยังคู่แอป-อุปกรณ์เฉพาะที่ตั้งใจไว้ได้อย่างถูกต้อง
iOS push token
Anchor link topush token ของอุปกรณ์ iOS เป็นสตริงที่ประกอบด้วยสัญลักษณ์เลขฐานสิบหก 64 ตัว ตัวอย่าง iOS push token: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Android push token
Anchor link topush token ของอุปกรณ์ Android อาจมีความยาวแตกต่างกันไป (โดยปกติจะน้อยกว่า 255 ตัวอักษร) และโดยทั่วไปจะขึ้นต้นด้วย APA91b…; อย่างไรก็ตาม อาจมีคำนำหน้า (prefix) ที่คั่นด้วยเครื่องหมายโคลอน (:) ด้วย ตัวอย่าง Android push token: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq
การรวบรวมบันทึก (log), HWID, และ push token จากอุปกรณ์
Anchor link toขั้นแรก หากคุณสามารถเข้าถึงซอร์สโค้ดของแอปได้ โปรดตรวจสอบให้แน่ใจว่า Pushwoosh_LOG_LEVEL
ในแอปของคุณถูกตั้งค่าเป็น VERBOSE
หากต้องการทำสิ่งนี้ ให้ตรวจสอบคีย์สตริง Pushwoosh_LOG_LEVEL
ในไฟล์ Info.plist
ของคุณ หากไม่มี ให้ข้ามไปขั้นตอนถัดไป ค่าที่เป็นไปได้สำหรับคีย์นี้มีดังนี้:
NONE
- ไม่มีบันทึกจาก SDKERROR
- แสดงเฉพาะข้อผิดพลาดในคอนโซลWARNING
- แสดงคำเตือนด้วยINFO
- เพิ่มข้อความให้ข้อมูลDEBUG
- เพิ่มข้อมูลดีบักVERBOSE
- บันทึกทั้งหมดจาก SDK
ค่าคีย์ VERBOSE
จะช่วยให้ Pushwoosh SDK แสดงข้อมูลที่สำคัญเกี่ยวกับการดำเนินการลงทะเบียนได้
2. จากนั้น เชื่อมต่ออุปกรณ์กับ Mac ของคุณและเปิด Xcode ไปที่ Window->Device and Simulators

3. ในหน้าต่างที่เปิดขึ้นมา ให้เลือกอุปกรณ์ที่เชื่อมต่ออยู่ของคุณ และคลิกที่ไอคอนรูปสามเหลี่ยมชี้ขึ้นที่ด้านล่างซ้ายเพื่อดูคอนโซลของอุปกรณ์:

ตั้งแต่ Xcode เวอร์ชัน 9.3 เป็นต้นไป กระบวนการดึงบันทึกคอนโซลของอุปกรณ์มีการเปลี่ยนแปลงเล็กน้อย สิ่งที่คุณต้องทำคือไปที่ Launchpad และเปิดแอปพลิเคชัน “Console” จากนั้นเลือกอุปกรณ์ของคุณในแถบด้านซ้าย เพียงเท่านี้!

4. ต่อไป ให้เปิดแอปของคุณบนอุปกรณ์และรอให้หน้าต่างโต้ตอบ (dialog) ปรากฏขึ้นมา จากนั้นอนุญาตการแจ้งเตือนแบบพุชสำหรับแอปของคุณ
5. หลังจากทำตามขั้นตอนเหล่านี้แล้ว ให้เลือกบันทึกอุปกรณ์ทั้งหมดจากหน้าต่างคอนโซลและคัดลอกไปยังโปรแกรมแก้ไขข้อความใดก็ได้
คำขอ Pushwoosh API /registerDevice
คือสิ่งที่คุณกำลังมองหา:

หากอุปกรณ์ลงทะเบียนอย่างถูกต้อง คำขอนี้จะต้องมีพารามิเตอร์ต่อไปนี้ รวมถึงค่า “hwid” และ “push token”:
x| Pushwoosh request:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"gateway":"production","jailbroken":0,"app_version":"1.9","application":"D868A-C13C1","sounds":["bubble.wav"],"device_type":1,"userId":"1457691684303547","language":"en","hwid":"FBCA07FE-05EE-4770-B4BA-AB6737BC1A98","package":"com.pushwoosh.pushon","timezone":"25200","push_token":"ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7","os_version":"11.2.2","v":"5.5.1","device_model":"iPhone7,1"}}| Status: "200 no error"| Response: {"status_code":200,"status_message":"OK","response":{"iosCategories":[{"categoryId":0,"buttons":[{"id":"33389","label":"test","type":"0","startApplication":0},{"id":"1233","label":"ajhdkj","type":"1","startApplication":0}]}]}}x
ข้อความแจ้งเตือนพร้อม push token ของอุปกรณ์ของคุณควรจะปรากฏขึ้นด้วย:
<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7
Android
Anchor link to1. หากคุณสามารถเข้าถึงซอร์สโค้ดของแอปได้ โปรดตรวจสอบให้แน่ใจว่าระดับการบันทึกของ Pushwoosh ถูกตั้งค่าเป็น NOISE
โดยเพิ่มข้อมูลเมตา com.pushwoosh.log_level
ที่มีค่าเป็น NOISE
ลงใน AndroidManifest.xml
2. ต่อไป ให้เปิด Android Studio บน Mac/PC ของคุณ และไปที่ Tools -> Android -> Android Device Monitor

3. เชื่อมต่ออุปกรณ์ของคุณกับ Mac/PC และเปิดแอป รอประมาณ 30 วินาที จากนั้นเลือกบันทึกอุปกรณ์ทั้งหมดจากหน้าต่างคอนโซลและคัดลอกไปยังโปรแกรมแก้ไขข้อความใดก็ได้

โปรดทราบว่าใน Android Studio เวอร์ชันล่าสุด คุณยังสามารถใช้เครื่องมือ Logcat เพื่อดึงบันทึกคอนโซลของอุปกรณ์ได้อีกด้วย เปิด Android Studio และไปที่ View -> Tool Windows -> Logcat:

หลังจากนั้น คุณจะพบบันทึกของอุปกรณ์ในหน้าต่าง Logcat:

นี่คือตัวอย่างด้านล่างที่แสดงลักษณะของคำขอ Pushwoosh /registerDevice API ภายในบันทึกคอนโซลของอุปกรณ์:

ค้นหาค่าพารามิเตอร์ “hwid” และ “push token” ในคำขอ:
[RequestManager]x| Pushwoosh request:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"application":"D868A-C13C1","hwid":"fc79efabee7649ec","v":"5.5.2","device_type":3,"userId":"fc79efabee7649ec","device_name":"Phone","language":"en","timezone":25200,"android_package":"com.pushwoosh.pushon","jailbroken":0,"device_model":"Sony F8332","os_version":"8.0.0","idfa":"d43ad490-4e6a-48a8-b8b9-f20b76fbf07b","app_version":"1.5","push_token":"dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_","sounds":"[]"}}| Response: {"status_code":200,"status_message":"OK","response":null}x[RequestManager] registerDevice response success
Push token จะรวมอยู่ในข้อความแจ้งการลงทะเบียนอุปกรณ์:
I/Pushwoosh(12733): [DeviceRegistrar] Registered for pushes: dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_03-30 14:45:10.539: D/PushOn(12733): Registered for push notifications
Chrome (เดสก์ท็อป)
Anchor link to1. ไปที่เว็บไซต์ของคุณ
2. คลิกขวาที่ใดก็ได้บนหน้าเว็บและกด “Inspect”

3. ในหน้าต่างที่เปิดขึ้นมา ให้ไปที่แท็บ “Application”
4. จากนั้น ที่แถบด้านซ้าย ให้เลือก IndexedDB -> Pushwoosh_SDK_Store -> keyValue ที่นี่ คุณจะพบพารามิเตอร์ HWID และ push token

Chrome (มือถือ)
Anchor link to1. เชื่อมต่ออุปกรณ์มือถือของคุณกับคอมพิวเตอร์
2. ไปที่ chrome://inspect/#devices บน Chrome สำหรับเดสก์ท็อปของคุณ
3. เปิดเว็บไซต์ของคุณบน Chrome สำหรับมือถือ
4. เมื่อเว็บไซต์เปิดบน Chrome มือถือของคุณแล้ว คุณจะเห็นหน้าที่สอดคล้องกันภายในหน้า Chrome บนเดสก์ท็อป โปรดดูภาพหน้าจอด้านล่าง:

5. กดปุ่ม “Inspect” ที่ไฮไลต์ในภาพหน้าจอด้านบน
6. หน้าต่างต่อไปนี้จะปรากฏขึ้นบน Chrome เดสก์ท็อปของคุณ ที่นั่น ภายในแท็บ “Application” ให้เปิด IndexedDB -> PUSHWOOSH_SDK_STORE หลังจากนั้น คลิกที่ keyValue และเปิดส่วน API_PARAMS:

ในส่วน API_PARAMS คุณจะพบพารามิเตอร์ “hwid” และ “push token” พร้อมค่าของมัน
Safari
Anchor link to- ไปที่เว็บไซต์ของคุณ
- คลิกขวาที่ใดก็ได้บนหน้าเว็บและเลือก Inspect Element
- ไปที่แท็บ Storage -> Indexed Databases -> PUSHWOOSH_SDK_STORE -> keyValue
- ขยายส่วน API_PARAMS และค้นหาค่า “hwid” และ “push token” ที่นี่
