# 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

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

#### Android-HWID

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`

#### iOS-HWID

Bei iOS-Geräten wird der IDFV ([Identifier for Vendor](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor)) 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

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

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

<Aside type="caution">
Stellen Sie sicher, dass die iOS-Push-Tokens, die Sie bei der Ansprache bestimmter Geräte in Ihren API-Anfragen verwenden, in **Kleinschreibung** sind.
</Aside>

#### Android-Push-Token

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`

<Aside type="caution">
Die Verwendung von reinen Geräte-Tokens zur Ansprache bestimmter Geräte ist nicht die zuverlässigste Methode, da sich FCM-Push-Tokens von Zeit zu Zeit ändern und es schwer zu sagen ist, wie oft dies geschieht.
</Aside>

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

### iOS

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.

2. 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.

<img src="/pushwoosh-knowledge-hub-device-identifiers-1.webp" alt="Xcode-Fenster 'Geräte und Simulatoren' zeigt verbundenes iOS-Gerät"/>

3. 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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-2.webp" alt="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!

<img src="/pushwoosh-knowledge-hub-device-identifiers-3.webp" alt="macOS-Konsolenanwendung zeigt verbundenes iOS-Gerät in der linken Seitenleiste mit angezeigten Geräteprotokollen"/>

4. 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.

5. 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`](/de/developer/api-reference/device-api/) ist das, wonach Sie suchen:

<img src="/pushwoosh-knowledge-hub-device-identifiers-4.webp" alt="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“:

```txt title="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
```

### Android

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.

<img src="/pushwoosh-knowledge-hub-device-identifiers-5.webp" alt="Android Studio Android Device Monitor-Fenster zeigt verbundenes Android-Gerät"/>

3. 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.

<img src="/pushwoosh-knowledge-hub-device-identifiers-6.webp" alt="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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-7.webp" alt="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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-8.webp" alt="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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-9.webp" alt="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:

```txt title="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)

1. Gehen Sie zu Ihrer Website.

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

<img src="/pushwoosh-knowledge-hub-device-identifiers-10.webp" alt="Chrome-Browser-Entwicklertools geöffnet mit sichtbarer Kontextmenüoption 'Element untersuchen'"/>

3. Gehen Sie im geöffneten Fenster zum Tab „Application“.

4. Wählen Sie dann in der linken Seitenleiste IndexedDB -> Pushwoosh\_SDK\_Store -> keyValue. Hier finden Sie die Parameter HWID und Push-Token.

<img src="/pushwoosh-knowledge-hub-device-identifiers-11.webp" alt="Chrome-Entwicklertools-Tab 'Application' zeigt IndexedDB mit Pushwoosh SDK Store und keyValue, die HWID und Push-Token enthalten"/>

### Chrome (Mobil)

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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-12.webp" alt="Chrome-Remote-Debugging-Seite zeigt verbundenes Mobilgerät mit hervorgehobener Inspect-Schaltfläche"/>

5. Drücken Sie die im obigen Screenshot hervorgehobene Schaltfläche „Inspect“.

6. 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:

<img src="/pushwoosh-knowledge-hub-device-identifiers-13.webp" alt="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.

### Safari

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“.

<img src="/pushwoosh-knowledge-hub-device-identifiers-14.webp" alt="Safari-Entwicklertools-Tab 'Speicher' zeigt Indizierte Datenbanken mit PUSHWOOSH SDK STORE keyValue, das API_PARAMS mit hwid und push_token enthält"/>