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

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

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

HWID (หรือ Hardware ID) เป็นตัวระบุหลักที่ Pushwoosh SDK กำหนดให้กับอุปกรณ์

Android HWID

Anchor link to

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

อย่างไรก็ตาม หากผู้ใช้ลบแอปทั้งหมดที่มี Pushwoosh SDK แล้วติดตั้งใหม่บางส่วน HWID ใหม่จะถูกสร้างขึ้นอีกครั้ง

ตัวอย่าง Android HWID: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e

สำหรับอุปกรณ์ iOS, IDFV (Identifier for Vendor) จะถูกใช้เป็น HWID ของอุปกรณ์ มันจะไม่เปลี่ยนแปลงตราบใดที่ยังมีแอปอย่างน้อยหนึ่งแอปจากผู้ขายรายเดียวกันติดตั้งอยู่บนอุปกรณ์

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

Push token

Anchor link to

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

iOS push token

Anchor link to

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

Android push token

Anchor link to

Android device push token อาจมีความยาวแตกต่างกัน (โดยปกติจะต่ำกว่า 255 ตัวอักษร) และโดยทั่วไปจะขึ้นต้นด้วย APA91b…; อย่างไรก็ตาม อาจมีคำนำหน้าคั่นด้วยเครื่องหมายโคลอน ตัวอย่าง Android push token: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq

การรวบรวมบันทึก, 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 แสดงข้อมูลสำคัญเกี่ยวกับการดำเนินการลงทะเบียน

  1. จากนั้น เชื่อมต่ออุปกรณ์กับ Mac ของคุณและเปิด Xcode ไปที่ Window->Device and Simulators
หน้าต่าง Devices and Simulators ของ Xcode แสดงอุปกรณ์ iOS ที่เชื่อมต่อ
  1. ในหน้าต่างที่เปิดขึ้น ให้เลือกอุปกรณ์ที่เชื่อมต่อของคุณและคลิกที่สามเหลี่ยมชี้ขึ้นที่ด้านล่างซ้ายเพื่อดูคอนโซลของอุปกรณ์:
มุมมองคอนโซลอุปกรณ์ของ Xcode แสดงบันทึกอุปกรณ์พร้อมปุ่มสามเหลี่ยมชี้ขึ้นที่ถูกไฮไลต์

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

แอปพลิเคชัน Console ของ macOS แสดงอุปกรณ์ iOS ที่เชื่อมต่อที่ถูกเลือกในแถบด้านข้างซ้ายพร้อมบันทึกอุปกรณ์ที่แสดง
  1. ต่อไป เปิดแอปของคุณบนอุปกรณ์และรอหน้าต่างโต้ตอบ อนุญาตการแจ้งเตือนแบบพุชสำหรับแอปของคุณ

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

คำขอ API ของ Pushwoosh /registerDevice คือสิ่งที่คุณกำลังมองหา:

บันทึกคอนโซลอุปกรณ์แสดงคำขอ API registerDevice พร้อมพารามิเตอร์ hwid และ push token ที่มองเห็นได้

หากอุปกรณ์ลงทะเบียนอย่างถูกต้อง คำขอนี้ต้องมีพารามิเตอร์ต่อไปนี้ รวมถึงค่า “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

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

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

อินเทอร์เฟซ Android Studio แสดงหน้าต่างเครื่องมือ Logcat ที่เข้าถึงจากเมนู View

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

หน้าต่าง Logcat ของ Android Studio แสดงบันทึกอุปกรณ์พร้อมคำขอ API registerDevice ที่มองเห็นได้

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

บันทึกคอนโซลอุปกรณ์ Android แสดงคำขอ API registerDevice พร้อมพารามิเตอร์ hwid และ push token ที่ถูกไฮไลต์

ค้นหาค่าพารามิเตอร์ “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”

เครื่องมือสำหรับนักพัฒนาเบราว์เซอร์ Chrome เปิดขึ้นพร้อมตัวเลือกเมนูบริบท Inspect Element ที่มองเห็นได้
  1. ในหน้าต่างที่เปิดขึ้น ให้ไปที่แท็บ “Application”

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

แท็บ Application ของเครื่องมือสำหรับนักพัฒนา Chrome แสดง IndexedDB พร้อม Pushwoosh SDK Store และ keyValue ที่มี HWID และ push token

Chrome (มือถือ)

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

  2. ไปที่ chrome://inspect/#devices บน Chrome เดสก์ท็อปของคุณ

  3. เปิดเว็บไซต์ของคุณบน Chrome มือถือของคุณ

  4. เมื่อเว็บไซต์เปิดบน Chrome มือถือของคุณ คุณจะเห็นหน้าที่สอดคล้องกันภายในหน้า Chrome เดสก์ท็อป โปรดดูภาพหน้าจอด้านล่าง:

หน้ารีโมทดีบักของ Chrome แสดงอุปกรณ์มือถือที่เชื่อมต่อพร้อมปุ่ม Inspect ที่ถูกไฮไลต์
  1. กดปุ่ม “Inspect” ที่ไฮไลต์ในภาพหน้าจอด้านบน

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

แท็บ Application ของเครื่องมือสำหรับนักพัฒนา Chrome แสดง IndexedDB PUSHWOOSH SDK STORE พร้อมส่วน API_PARAMS ที่มี hwid และ push token

ในส่วน API_PARAMS คุณจะพบพารามิเตอร์ “hwid” และ “push token” พร้อมค่าของมัน

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