Zum Inhalt springen

Gerätekennungen in Pushwoosh verstehen

Es gibt zwei Möglichkeiten, ein bestimmtes bei Pushwoosh registriertes Gerät zu identifizieren – eine Hardware-ID (HWID) und einen Push-Token.

HWID (oder Hardware-ID) ist eine wichtige Kennung, die dem Gerät vom Pushwoosh SDK zugewiesen wird.

Android-HWID

Anchor link to

Bei Android-Geräten ist die HWID eine zufällige Folge von Buchstaben und Ziffern, die von der ersten App generiert wird, auf der das Pushwoosh SDK auf dem Gerät installiert ist. Sie wird später mit anderen Apps geteilt, die das Pushwoosh SDK enthalten, sodass alle diese Apps letztendlich dieselbe HWID haben.

Wenn ein Benutzer jedoch alle Apps mit dem Pushwoosh SDK löscht und dann einige neu installiert, wird erneut eine neue HWID generiert.

Beispiel für eine Android-HWID: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e

Bei iOS-Geräten wird der IDFV (Identifier for Vendor) als HWID des Geräts verwendet. Er ändert sich nicht, solange mindestens eine App desselben Anbieters auf dem Gerät installiert ist.

Beispiel für eine iOS-HWID (nur Großbuchstaben!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

Push-Token

Anchor link to

Ein Push-Token (Geräte-Token) ist ein eindeutiger Schlüssel für die Kombination aus App und Gerät, der von den Push-Benachrichtigungs-Gateways von Apple oder Google ausgestellt wird. Er ermöglicht es Gateways und Anbietern von Push-Benachrichtigungen, Nachrichten weiterzuleiten und sicherzustellen, dass die Benachrichtigung an die eindeutige App-Gerät-Kombination zugestellt wird, für die sie bestimmt ist.

iOS-Push-Token

Anchor link to

iOS-Geräte-Push-Tokens sind Zeichenketten mit 64 hexadezimalen Symbolen. Beispiel für einen iOS-Push-Token: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f

Android-Push-Token

Anchor link to

Android-Geräte-Push-Tokens können in der Länge variieren (normalerweise unter 255 Zeichen) und beginnen typischerweise mit APA91b…; sie können jedoch auch ein durch einen Doppelpunkt getrenntes Präfix haben. Beispiel für einen Android-Push-Token: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq

Sammeln von Protokollen, HWID und Push-Token von einem Gerät

Anchor link to

Wenn Sie Zugriff auf den Quellcode Ihrer App haben, stellen Sie zunächst sicher, dass Pushwoosh_LOG_LEVEL in Ihrer App auf VERBOSE gesetzt ist. Überprüfen Sie dazu den Zeichenkettenschlüssel Pushwoosh_LOG_LEVEL in Ihrer Info.plist-Datei. Wenn nicht, fahren Sie mit dem nächsten Schritt fort. Hier sind die möglichen Werte für diesen Schlüssel:

  • NONE - Keine Protokolle vom SDK
  • ERROR - Nur Fehler in der Konsole anzeigen
  • WARNING - Auch Warnungen anzeigen
  • INFO - Informationsmeldungen hinzufügen
  • DEBUG - Debuginformationen hinzufügen
  • VERBOSE - Alle Protokolle vom SDK

Der Schlüsselwert VERBOSE ermöglicht es dem Pushwoosh SDK, wichtige Informationen zu Registrierungsaktionen anzuzeigen.

  1. Schließen Sie als Nächstes das Gerät an Ihren Mac an und starten Sie Xcode. Gehen Sie zu Fenster -> Geräte und Simulatoren.
Xcode-Fenster 'Geräte und Simulatoren' zeigt verbundenes iOS-Gerät
  1. Wählen Sie im geöffneten Fenster Ihr verbundenes Gerät aus und klicken Sie auf das Aufwärts-Dreieck unten links, um die Gerätekonsole anzuzeigen:
Xcode-Gerätekonsolenansicht zeigt Geräteprotokolle mit hervorgehobener Aufwärts-Dreieck-Schaltfläche

Ab der Xcode-Version 9.3 ist der Prozess zum Abrufen des Gerätekonsolenprotokolls leicht geändert. Alles, was Sie tun müssen, ist, zu Ihrem Launchpad zu gehen und die „Konsole“-Anwendung zu starten. Wählen Sie Ihr Gerät in der linken Seitenleiste aus. Das ist alles!

macOS-Konsolenanwendung zeigt verbundenes iOS-Gerät in der linken Seitenleiste mit angezeigten Geräteprotokollen
  1. Starten Sie als Nächstes Ihre App auf dem Gerät und warten Sie auf das Dialogfenster. Erlauben Sie Push-Benachrichtigungen für Ihre App.

  2. Nach diesen Schritten wählen Sie das gesamte Geräteprotokoll aus dem Konsolenfenster aus und kopieren es in einen beliebigen Texteditor.

Die Pushwoosh-API-Anfrage /registerDevice ist das, wonach Sie suchen:

Gerätekonsolenprotokoll zeigt registerDevice-API-Anfrage mit sichtbaren hwid- und push_token-Parametern

Wenn das Gerät korrekt registriert ist, muss diese Anfrage die folgenden Parameter enthalten, einschließlich der Werte für „hwid“ und „push_token“:

Beispiel
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

Der Hinweis mit einem Push-Token Ihres Geräts sollte ebenfalls vorhanden sein:

<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7
  1. Wenn Sie Zugriff auf den Quellcode der App haben, stellen Sie sicher, dass der Pushwoosh-Protokolllevel auf NOISE gesetzt ist. Fügen Sie dazu die Metadaten com.pushwoosh.log_level mit dem Wert NOISE zur AndroidManifest.xml hinzu.

  2. Führen Sie als Nächstes Android Studio auf Ihrem Mac/PC aus und gehen Sie zu Tools -> Android -> Android Device Monitor.

Android Studio Android Device Monitor-Fenster zeigt verbundenes Android-Gerät
  1. Schließen Sie Ihr Gerät an den Mac/PC an und starten Sie die App. Warten Sie etwa 30 Sekunden, wählen Sie das gesamte Geräteprotokoll aus dem Konsolenfenster aus und kopieren Sie es in einen beliebigen Texteditor.
Android Device Monitor-Konsolenprotokollfenster zeigt Geräteprotokolle mit sichtbarer registerDevice-Anfrage

Bitte beachten Sie, dass Sie in den neuesten Versionen von Android Studio auch das Logcat-Tool verwenden können, um das Gerätekonsolenprotokoll zu erhalten. Führen Sie Android Studio aus und gehen Sie zu View -> Tool Windows -> Logcat:

Android Studio-Oberfläche zeigt das Logcat-Toolfenster, das über das Menü 'Ansicht' aufgerufen wird

Danach können Sie das Geräteprotokoll im Logcat-Fenster finden:

Android Studio Logcat-Fenster zeigt Geräteprotokolle mit sichtbarer registerDevice-API-Anfrage

Hier ist das Beispiel unten, wie die Pushwoosh /registerDevice API-Anfrage im Gerätekonsolenprotokoll aussieht:

Android-Gerätekonsolenprotokoll zeigt registerDevice-API-Anfrage mit hervorgehobenen hwid- und push_token-Parametern

Finden Sie den Wert der Parameter „hwid“ und „push_token“ in der Anfrage:

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

Der Push-Token ist in der Geräteregistrierungsbenachrichtigung enthalten:

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

Anchor link to
  1. Gehen Sie zu Ihrer Website.

  2. Klicken Sie mit der rechten Maustaste irgendwo auf die Seite und drücken Sie „Untersuchen“.

Chrome-Browser-Entwicklertools geöffnet mit sichtbarer Kontextmenüoption 'Element untersuchen'
  1. Gehen Sie im geöffneten Fenster zum Tab „Application“.

  2. Wählen Sie dann in der linken Seitenleiste IndexedDB -> Pushwoosh_SDK_Store -> keyValue. Hier finden Sie die Parameter HWID und Push-Token.

Chrome-Entwicklertools-Tab 'Application' zeigt IndexedDB mit Pushwoosh SDK Store und keyValue, die HWID und Push-Token enthalten

Chrome (Mobil)

Anchor link to
  1. Verbinden Sie Ihr mobiles Gerät mit dem Computer.

  2. Gehen Sie zu chrome://inspect/#devices auf Ihrem Desktop-Chrome.

  3. Öffnen Sie Ihre Website auf Ihrem mobilen Chrome.

  4. Sobald die Website auf Ihrem mobilen Chrome geöffnet ist, sehen Sie die entsprechende Seite auf der Desktop-Chrome-Seite. Bitte sehen Sie sich den Screenshot unten an:

Chrome-Remote-Debugging-Seite zeigt verbundenes Mobilgerät mit hervorgehobener Inspect-Schaltfläche
  1. Drücken Sie die im obigen Screenshot hervorgehobene Schaltfläche „Inspect“.

  2. Das folgende Fenster wird auf Ihrem Desktop-Chrome angezeigt. Öffnen Sie dort im Tab „Application“ IndexedDB -> PUSHWOOSH_SDK_STORE. Klicken Sie danach auf keyValue und öffnen Sie den Abschnitt API_PARAMS:

Chrome-Entwicklertools-Tab 'Application' zeigt IndexedDB PUSHWOOSH SDK STORE mit dem Abschnitt API_PARAMS, der hwid und push_token enthält

Im Abschnitt API_PARAMS finden Sie die Parameter „hwid“ und „push_token“ mit ihren Werten.

  1. Gehen Sie zu Ihrer Website.
  2. Klicken Sie mit der rechten Maustaste irgendwo auf die Seite und wählen Sie „Element-Informationen“.
  3. Gehen Sie zum Tab „Speicher“ -> „Indizierte Datenbanken“ -> PUSHWOOSH_SDK_STORE -> keyValue.
  4. Erweitern Sie die API_PARAMS und finden Sie hier die Werte für „hwid“ und „push_token“.
Safari-Entwicklertools-Tab 'Speicher' zeigt Indizierte Datenbanken mit PUSHWOOSH SDK STORE keyValue, das API_PARAMS mit hwid und push_token enthält