انتقل إلى المحتوى

فهم معرفات الأجهزة في Pushwoosh

هناك طريقتان لتحديد جهاز معين مسجل في Pushwoosh – معرف الجهاز (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

رمز الدفع (device token) هو مفتاح فريد لمزيج التطبيق والجهاز تصدره بوابات إشعارات الدفع من Apple أو Google. يسمح للبوابات ومقدمي إشعارات الدفع بتوجيه الرسائل وضمان تسليم الإشعار إلى مزيج التطبيق والجهاز الفريد المخصص له.

رمز الدفع لـ iOS

Anchor link to

رموز الدفع لأجهزة iOS هي سلاسل نصية مكونة من 64 رمزًا سداسيًا عشريًا. مثال على رمز الدفع لـ iOS: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f

رمز الدفع لـ Android

Anchor link to

يمكن أن تختلف رموز الدفع لأجهزة Android في الطول (عادةً أقل من 255 حرفًا) وعادةً ما تبدأ بـ APA91b…؛ ومع ذلك، قد تحتوي أيضًا على بادئة مفصولة بنقطتين رأسيتين. مثال على رمز الدفع لـ Android: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq

جمع السجلات و HWID ورمز الدفع من جهاز

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.
نافذة أجهزة ومحاكيات Xcode تظهر جهاز iOS متصل
  1. في النافذة المفتوحة، حدد جهازك المتصل وانقر على المثلث المتجه لأعلى في أسفل اليسار لرؤية وحدة تحكم الجهاز:
عرض وحدة تحكم جهاز Xcode يظهر سجلات الجهاز مع تمييز زر المثلث لأعلى

بدءًا من إصدار Xcode 9.3، تغيرت عملية الحصول على سجل وحدة تحكم الجهاز قليلاً. كل ما عليك فعله هو الذهاب إلى Launchpad الخاص بك وبدء تطبيق “Console”. حدد جهازك في الشريط الجانبي الأيسر. هذا كل شيء!

تطبيق Console في macOS يظهر جهاز iOS متصل محدد في الشريط الجانبي الأيسر مع عرض سجلات الجهاز
  1. بعد ذلك، ابدأ تشغيل تطبيقك على الجهاز وانتظر نافذة الحوار. اسمح بإشعارات الدفع لتطبيقك.

  2. بعد هذه الخطوات، حدد سجل الجهاز بالكامل من نافذة وحدة التحكم وانسخه إلى أي محرر نصوص.

طلب Pushwoosh API /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

يجب أن يكون الإشعار الذي يحتوي على رمز الدفع لجهازك موجودًا أيضًا:

<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

إليك المثال أدناه، كيف يبدو طلب Pushwoosh /registerDevice API ضمن سجل وحدة تحكم الجهاز:

سجل وحدة تحكم جهاز 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

يتم تضمين رمز الدفع في إشعار تسجيل الجهاز:

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