Passer au contenu

Comprendre les identifiants d'appareil dans Pushwoosh

Il existe deux manières d’identifier un appareil spécifique enregistré auprès de Pushwoosh : un identifiant matériel (HWID) et un jeton push.

Le HWID (ou Hardware ID) est un identifiant clé attribué à l’appareil par le SDK Pushwoosh.

HWID Android

Anchor link to

Pour les appareils Android, le HWID est un ensemble aléatoire de lettres et de chiffres généré par la première application avec le SDK Pushwoosh installé sur l’appareil. Il est ensuite partagé avec d’autres applications contenant le SDK Pushwoosh, de sorte que toutes ces applications auront le même HWID.

Cependant, si un utilisateur supprime toutes les applications avec le SDK Pushwoosh puis en réinstalle certaines, un nouveau HWID sera généré à nouveau.

Exemple de HWID Android : 5dcaed99-e1e0-44dc-bde2-b96188b99e9e

Pour les appareils iOS, l’IDFV (Identifier for Vendor) est utilisé comme HWID de l’appareil. Il ne changera pas tant qu’au moins une application du même fournisseur est installée sur l’appareil.

Exemple de HWID iOS (en majuscules uniquement !) : CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

Jeton push

Anchor link to

Le jeton push (jeton d’appareil) est une clé unique pour la combinaison application-appareil, émise par les passerelles de notification push d’Apple ou de Google. Il permet aux passerelles et aux fournisseurs de notifications push d’acheminer les messages et de garantir que la notification est livrée à la combinaison application-appareil unique à laquelle elle est destinée.

Jeton push iOS

Anchor link to

Les jetons push des appareils iOS sont des chaînes de 64 symboles hexadécimaux. Exemple de jeton push iOS : 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f

Jeton push Android

Anchor link to

Les jetons push des appareils Android peuvent avoir une longueur variable (généralement inférieure à 255 caractères) et commencent généralement par APA91b… ; cependant, ils peuvent aussi avoir un préfixe séparé par un deux-points. Exemple de jeton push Android : APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq

Collecte des journaux, du HWID et du jeton push à partir d’un appareil

Anchor link to
  1. Tout d’abord, si vous avez accès au code source de votre application, assurez-vous que Pushwoosh_LOG_LEVEL dans votre application est défini sur VERBOSE. Pour ce faire, vérifiez la clé de chaîne Pushwoosh_LOG_LEVEL dans votre fichier Info.plist. Si ce n’est pas le cas, passez à l’étape suivante. Voici les valeurs possibles pour cette clé :
  • NONE - Aucun journal du SDK
  • ERROR - Afficher uniquement les erreurs dans la console
  • WARNING - Afficher également les avertissements
  • INFO - Ajouter des messages d’information
  • DEBUG - Ajouter des informations de débogage
  • VERBOSE - Tous les journaux du SDK

La valeur de clé VERBOSE permet au SDK Pushwoosh d’afficher des informations importantes concernant les actions d’enregistrement.

  1. Ensuite, connectez l’appareil à votre Mac et lancez Xcode. Allez dans Fenêtre -> Appareils et simulateurs.
  1. Dans la fenêtre qui s’ouvre, sélectionnez votre appareil connecté et cliquez sur le triangle pointant vers le haut en bas à gauche pour voir la console de l’appareil :

À partir de la version Xcode 9.3, le processus d’obtention du journal de la console de l’appareil a légèrement changé. Tout ce que vous avez à faire est d’aller dans votre Launchpad et de lancer l’application « Console ». Sélectionnez votre appareil dans la barre latérale de gauche. C’est tout !

  1. Ensuite, lancez votre application sur l’appareil et attendez la boîte de dialogue. Autorisez les notifications push pour votre application.

  2. Après ces étapes, sélectionnez l’intégralité du journal de l’appareil dans la fenêtre de la console et copiez-le dans n’importe quel éditeur de texte.

La requête API Pushwoosh /registerDevice est ce que vous recherchez :

Si l’appareil est enregistré correctly, cette requête doit contenir les paramètres suivants, y compris les valeurs “hwid” et “push token” :

Exemple
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

La notification avec le jeton push de votre appareil devrait également être présente :

<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7
  1. Si vous avez accès au code source de l’application, assurez-vous que le niveau de journalisation de Pushwoosh est défini sur NOISE. Pour ce faire, ajoutez les métadonnées com.pushwoosh.log_level avec la valeur NOISE à votre AndroidManifest.xml.

  2. Ensuite, exécutez Android Studio sur votre Mac/PC et allez dans Outils -> Android -> Moniteur d’appareil Android.

  1. Connectez votre appareil au Mac/PC et lancez l’application. Attendez environ 30 secondes, sélectionnez l’intégralité du journal de l’appareil dans la fenêtre de la console et copiez-le dans n’importe quel éditeur de texte.

Veuillez noter que dans les dernières versions d’Android Studio, vous pouvez également utiliser l’outil Logcat pour obtenir le journal de la console de l’appareil. Lancez Android Studio et allez dans Affichage -> Fenêtres d’outils -> Logcat :

Après cela, vous pouvez localiser le journal de l’appareil dans la fenêtre Logcat :

Voici un exemple ci-dessous de l’apparence de la requête API Pushwoosh /registerDevice dans le journal de la console de l’appareil :

Trouvez la valeur des paramètres “hwid” et “push token” dans la requête :

Exemple
[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

Le jeton push est inclus dans l’avis d’enregistrement de l’appareil :

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 (bureau)

Anchor link to
  1. Allez sur votre site web.

  2. Faites un clic droit n’importe où sur la page et appuyez sur « Inspecter ».

  1. Dans la fenêtre qui s’ouvre, allez à l’onglet « Application ».

  2. Ensuite, dans la barre latérale de gauche, choisissez IndexedDB -> Pushwoosh_SDK_Store -> keyValue. Ici, trouvez les paramètres HWID et jeton push.

Chrome (mobile)

Anchor link to
  1. Connectez votre appareil mobile à l’ordinateur.

  2. Allez sur chrome://inspect/#devices dans votre navigateur Chrome de bureau.

  3. Ouvrez votre site web sur votre Chrome mobile.

  4. Une fois le site web ouvert sur votre Chrome mobile, vous verrez la page correspondante dans la page Chrome de bureau. Veuillez consulter la capture d’écran ci-dessous :

  1. Appuyez sur le bouton « Inspecter » mis en évidence dans la capture d’écran ci-dessus.

  2. La fenêtre suivante apparaîtra dans votre Chrome de bureau. Là, dans l’onglet « Application », ouvrez IndexedDB -> PUSHWOOSH_SDK_STORE. Ensuite, cliquez sur keyValue et ouvrez la section API_PARAMS :

Dans la section API_PARAMS, vous trouverez les paramètres “hwid” et “push token” avec leurs valeurs.

  1. Allez sur votre site web.
  2. Faites un clic droit n’importe où sur la page et sélectionnez Inspecter l’élément.
  3. Allez à l’onglet Stockage -> Bases de données indexées -> PUSHWOOSH_SDK_STORE -> keyValue.
  4. Développez API_PARAMS et trouvez les valeurs “hwid” et “push token” ici.