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

ทำความเข้าใจตัวระบุอุปกรณ์ใน Pushwoosh

มีสองวิธีในการระบุอุปกรณ์ที่ลงทะเบียนกับ Pushwoosh – นั่นคือ hardware ID (HWID) และ push token

HWID (หรือ 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 จะใช้ IDFV (Identifier for Vendor) เป็น HWID ของอุปกรณ์ ซึ่งจะไม่เปลี่ยนแปลงตราบใดที่ยังมีแอปอย่างน้อยหนึ่งแอปจากผู้จำหน่าย (vendor) เดียวกันติดตั้งอยู่บนอุปกรณ์

ตัวอย่าง iOS HWID (ต้องเป็นตัวพิมพ์ใหญ่เท่านั้น!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

Push token

Anchor link to

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

iOS push token

Anchor link to

push token ของอุปกรณ์ iOS เป็นสตริงที่ประกอบด้วยสัญลักษณ์เลขฐานสิบหก 64 ตัว ตัวอย่าง iOS push token: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f

Android push token

Anchor link to

push 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 - ไม่มีบันทึกจาก SDK
  • ERROR - แสดงเฉพาะข้อผิดพลาดในคอนโซล
  • 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

1. หากคุณสามารถเข้าถึงซอร์สโค้ดของแอปได้ โปรดตรวจสอบให้แน่ใจว่าระดับการบันทึกของ 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 to

1. ไปที่เว็บไซต์ของคุณ

2. คลิกขวาที่ใดก็ได้บนหน้าเว็บและกด “Inspect”

3. ในหน้าต่างที่เปิดขึ้นมา ให้ไปที่แท็บ “Application”

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

Chrome (มือถือ)

Anchor link to

1. เชื่อมต่ออุปกรณ์มือถือของคุณกับคอมพิวเตอร์

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” พร้อมค่าของมัน

  1. ไปที่เว็บไซต์ของคุณ
  2. คลิกขวาที่ใดก็ได้บนหน้าเว็บและเลือก Inspect Element
  3. ไปที่แท็บ Storage -> Indexed Databases -> PUSHWOOSH_SDK_STORE -> keyValue
  4. ขยายส่วน API_PARAMS และค้นหาค่า “hwid” และ “push token” ที่นี่