---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowPushService-Klasse -- iOS

# NowPushService-Klasse -- iOS {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

Die Klasse NowPushService stellt Funktionen bereit, die die Interaktion mit dem Push-Benachrichtigungsservice ermöglichen.
{#NowPushServiceiOSAPI__entry__2}

| Name | Beschreibung |
|-|-|
| konfigurieren | Konfigurationseinstellungen, die bei der Initialisierung des Service bereitgestellt wurden. Datentyp: [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/t29ejQijYiDvAZOB3b4eYQ#NowServiceConfigurationiOSStruct "Die NowServiceConfiguration- Struktur definiert Konfigurationsinformationen für einen Funktionsservice.") |
[Tabelle : 1. Eigenschaften]

## NowPushService - registrierenPushToken(_token: Daten, pushAppName: Zeichenfolge, Umgebung: NowPushEnvironment, Abschluss: @escaping (Ergebnis\<Data, NowPushError\> ) -\> ungültig) {#ariaid-title2}

Registriert ein eindeutiges Token bei der Instanz ServiceNow, das verwendet wird, um die Push-Benachrichtigungen für das aktuelle Gerät iOS und die angegebene Anwendung zu identifizieren.
{#NPushServ-registerPushToken_O_S_O_O__table_cr3_pgh_trb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| _token | Daten | Datenobjekt des zu registrierenden Push-Tokens. Dies ist das Token, das von der Developer Site Apple abgerufen wird. Weitere Informationen finden Sie im Entwicklerhandbuch \[ Mobile SDK -- iOS. |
| pushAppName | Zeichenfolge | Name der Push-Anwendung, für die dieses Token registriert wird. |
| Umgebung | NowPushEnvironment | Umgebung, für die das Token registriert wird. Gültige Werte: * Produktion * Sandbox |
| Abschluss | @escaping (Ergebnis​\<Data, NowPushError\> ) → Ungültig | Abschluss-Handler, der ausgeführt werden soll, nachdem versucht wurde, das Token zu registrieren. * Erfolg: Zertifikat für iOS-Push-Benachrichtigung. * Fehler: NowPushError -- Informationen zum Fehler, der beim Versuch, das Token zu registrieren, aufgetreten ist. Mögliche Werte: * decoding: Decodierungsfehler aufgetreten. * httpRequestFailure: Generischer Fehler, der zurückgegeben wird, wenn der HTTP-Aufruf nicht erfolgreich ist (2xx). * notAuthorized: Die anfordernde Person ist nicht berechtigt, den angegebenen Push-Benachrichtigungsvorgang auszuführen. * unsupportedData: Push-Nutzlast ist ungültig. {#NPushServ-registerPushToken_O_S_O_O__ul_pmt_m5h_trb} {#NPushServ-registerPushToken_O_S_O_O__ul_lxy_k3h_trb} |
[Tabelle : 2. Parameter]

{#NPushServ-registerPushToken_O_S_O_O__table_cr3_pgh_trb} {#NPushServ-registerPushToken_O_S_O_O__table_dr3_pgh_trb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 3. Ergebnisse]

{#NPushServ-registerPushToken_O_S_O_O__table_dr3_pgh_trb}  
In diesem Beispiel wird gezeigt, wie Sie ein Push-Benachrichtigungstoken für die Anwendung TestPushApp registrieren.

    func registerForPushNotifications(deviceToken: Data) {
      pushService.registerPushToken(deviceToken,
          pushAppName: "TestPushApp",
          environment: environment) { [weak self] result in
        guard let self = self else { return }
        switch result {
          case .success:
            UserDefaults.standard.set(true, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .registrationSuccess
          case .failure:
            UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .registrationFailed
        }
      }
    }

## NowPushService - unregisterPushToken(_token: Daten, pushAppName: Zeichenfolge, Umgebung: NowPushEnvironment, Abschluss: @escaping (Ergebnis\<Data, NowPushError\> ) -\> ungültig) {#ariaid-title3}

Hebt die Registrierung eines zuvor registrierten Push-Tokens auf.
{#NPushServ-unregisterPushToken_O_S_O_O__table_fvk_rjh_trb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| _token | Daten | Datenobjekt des Push-Tokens zum Aufheben der Registrierung. |
| pushAppName | Zeichenfolge | Name der Push-Anwendung, für die die Registrierung dieses Tokens aufgehoben wird. |
| Umgebung | NowPushEnvironment | Umgebung, für die das Token registriert wird. Gültige Werte: * Produktion * Sandbox |
| Abschluss | @escaping (Ergebnis​\<Data, NowPushError\> ) → Ungültig | Abschluss-Handler, der ausgeführt werden soll, nachdem versucht wurde, die Registrierung des Tokens aufzuheben. * Erfolg: API-Antwortdaten. * Fehler: `NowPushError` -- Informationen zum Fehler, der beim Versuch, die Registrierung des Tokens aufzuheben, aufgetreten ist. Mögliche Werte: * decoding: Decodierungsfehler aufgetreten. * httpRequestFailure: Generischer Fehler, der zurückgegeben wird, wenn der HTTP-Aufruf nicht erfolgreich ist (2xx). * notAuthorized: Die anfordernde Person ist nicht berechtigt, den angegebenen Push-Benachrichtigungsvorgang auszuführen. * unsupportedData: Push-Nutzlast ist ungültig. {#NPushServ-unregisterPushToken_O_S_O_O__ul_pmt_m5h_trb} {#NPushServ-unregisterPushToken_O_S_O_O__ul_lxy_k3h_trb} |
[Tabelle : 4. Parameter]

{#NPushServ-unregisterPushToken_O_S_O_O__table_fvk_rjh_trb} {#NPushServ-unregisterPushToken_O_S_O_O__table_gvk_rjh_trb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 5. Ergebnisse]

{#NPushServ-unregisterPushToken_O_S_O_O__table_gvk_rjh_trb}  
In diesem Beispiel wird gezeigt, wie Sie die Registrierung des Push-Benachrichtigungstokens aufheben, das der TestPushApp-Anwendung zugeordnet ist.

    func unregisterFromPushNotifications(deviceToken: Data) {
      pushService.unregisterPushToken(deviceToken, pushAppName: "TestPushApp", environment: environment) { [weak self] result in
        guard let self = self else { return }
        switch result {
          case .success:
            UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .unregisterSuccess
          case .failure:
            self.pushRegistrationState = .unregisterFailed
        }
      }
    }

## NowPushService -- payloadFromUserInfo(_userInfo: \[AnyHashable: Any\]) {#ariaid-title4}

Analysiert die Schlüssel-Wert-Paare von `userInfo` in einem `NowPushPayload` -Objekt.
{#NPushServ_payloadFromUserInfo_O__table_vqs_mkh_trb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| _userInfo | \[AnyHashable: Beliebig\] | Push-Nutzlast-Inhalt, der als Teil der Push-Benachrichtigung empfangen wurde. |
[Tabelle : 6. Parameter]

{#NPushServ_payloadFromUserInfo_O__table_vqs_mkh_trb} {#NPushServ_payloadFromUserInfo_O__table_wqs_mkh_trb__entry__2}

| Typ | Beschreibung |
|-|-|
| Ergebnis\<NowPushPayload, NowPushError\> | Gibt die Ergebnisse der Nutzlastanalyse zurück. * Erfolg: `NowPushPayload-` Objekt wurde analysiert. * Fehler: `NowPushError` -- Informationen zum Fehler, der beim Analysieren der angegebenen Anwendernutzlast aufgetreten ist. Mögliche Werte: * decoding: Decodierungsfehler aufgetreten. * httpRequestFailure: Generischer Fehler, der zurückgegeben wird, wenn der HTTP-Aufruf nicht erfolgreich ist (2xx). * notAuthorized: Die anfordernde Person ist nicht berechtigt, den angegebenen Push-Benachrichtigungsvorgang auszuführen. * unsupportedData: Push-Nutzlast ist ungültig. {#NPushServ_payloadFromUserInfo_O__ul_pmt_m5h_trb} |
[Tabelle : 7. Ergebnisse]

{#NPushServ_payloadFromUserInfo_O__table_wqs_mkh_trb}  
In diesem Beispiel wird gezeigt, wie eine Benutzernutzlast analysiert wird.

    func userNotificationCenter(_ center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void) {
      guard let pushService = pushService else {
        completionHandler()
        return
      }
      let userInfo = response.notification.request.content.userInfo
      _ = pushService.payloadFromUserInfo(userInfo)
        .flatMap(handleNowPushPayload)
    }


    func handleNowPushPayload(_ payload: NowPushPayload) -> Result<Void, NowPushError> {
      guard payload is NowPushVirtualAgent else {
        return .failure(NowPushError.unsupportedData)
      }
      launchVirtualAgent()
      return .success(())
    }


