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


---

# Push-Benachrichtigungen in Ihrer Anwendung iOS einrichten

# Push-Benachrichtigungen in Ihrer Anwendung iOS einrichten {#ariaid-title1}

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

Zusätzlich zu den Aufgaben, die Sie in der Instanz ServiceNow ausführen müssen, um eine Push-Benachrichtigung zu konfigurieren, müssen Sie auch spezifischen Code in Ihre Anwendung iOS einfügen.

## Erstellen Sie den NowSDK NowPushService {#mobsdk-ios-setup-push-app__section_hyb_zxp_prb}

Als Erstes müssen Sie in Ihrer Anwendung einen `NowPushService`erstellen. Das `NowPush` SDK bietet eine Factory-Funktion zum Erstellen dieses Service. Fügen Sie Code, der dem folgenden Codeausschnitt ähnelt, früh in Ihrem Hauptcodetext hinzu.

    func setup(with instanceURL: URL) -> AnyPublisher<NowService, ConfigurationError> {
      NowPush.makePushService(instanceUrl: instanceURL)
        .mapError { .sdkError($0) }
        .map { $0 as NowService }
        .eraseToAnyPublisher()
    }

Weitere Informationen zur Methode NowPush.machenPushService() finden Sie unter [NowPush-API -- iOS](https://servicenow-prod.fluidtopics.net/Afh9iCjZO3MRPIuZEOHDcQ#NowPushiOSAPI "Die NowPush -API ist eine globale API der obersten Ebene, mit der Anwender eine NowPush-Serviceinstanz instanziieren können.").

## Registrieren Sie das Push-Token {#mobsdk-ios-setup-push-app__section_kyr_4cq_prb}

Apple stellt ein eindeutiges Push-Benachrichtigungstoken bereit, das das Gerät und die Anwendung identifiziert, die Push-Benachrichtigungen erhalten sollen. Damit eine Anwendung eine Push-Benachrichtigung erhält, müssen Sie dieses Token bei `NowPushService registrieren`. Fügen Sie eine Funktion ähnlich dem folgenden Codefragment in Ihrer Anwendung iOS hinzu. Diese Anwendung muss bei Ihrer Instanz ServiceNow registriert sein.

    func registerForPushNotifications(deviceToken: Data) {
      pushService.registerPushToken(deviceToken,
          pushAppName: "TestPushApp", // Modify this to be your iOS application name
          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
        }
      }
    }

Weitere Informationen zur Methode registrierenPushToken() finden Sie unter [NowPushService - registrierenPushToken(_token: Daten, pushAppName: Zeichenfolge, Umgebung: NowPushEnvironment, Abschluss: @escaping (Ergebnis\<Data, NowPushError\> ) -\> ungültig)](https://servicenow-prod.fluidtopics.net/P6yxc98u6Mh92drGtFOg1g#NPushServ-registerPushToken_O_S_O_O "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.").

## Heben Sie die Registrierung des Push-Tokens auf

Sie müssen die Registrierung eines Push-Tokens aufheben, wenn der Benutzer Ihre Anwendung beendet, z. B. wenn er sich abmeldet. Verwenden Sie Code ähnlich dem folgenden Codeausschnitt, um die Registrierung eines Push-Tokens aufzuheben. Stellen Sie sicher, dass Sie pushAppName in den Namen Ihrer Anwendung iOS ändern.

    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
        }
      }
    }

Weitere Informationen zur Methode unregisterPushToken() finden Sie unter [NowPushService - unregisterPushToken(_token: Daten, pushAppName: Zeichenfolge, Umgebung: NowPushEnvironment, Abschluss: @escaping (Ergebnis\<Data, NowPushError\> ) -\> ungültig)](https://servicenow-prod.fluidtopics.net/P6yxc98u6Mh92drGtFOg1g#NPushServ-unregisterPushToken_O_S_O_O "Hebt die Registrierung eines zuvor registrierten Push-Tokens auf.").

## Analysieren Sie die Push-Nutzlast {#mobsdk-ios-setup-push-app__section_ofn_dlw_trb}

Sie müssen die Nutzlasten der Push-Benachrichtigung in einem `NowPushPayload-` Objekt analysieren, um Informationen zu sammeln und die Daten in anderen Teilen der Anwendung zu verwenden. Derzeit ist dies nur für Virtual Agent-Push-Benachrichtigungen verfügbar. Verwenden Sie Code wie den folgenden

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


