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


---

# Zeigen Sie Webseiten an, die in Ihrer Instanz ServiceNow gehostet werden

# Zeigen Sie Webseiten an, die in Ihrer Instanz ServiceNow gehostet werden {#ariaid-title1}

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

Sie können Webseiten, die in Ihrer Instanz ServiceNow gehostet werden, in Ihrer nativen iOS-Anwendung anzeigen.
Mobile SDK ermöglicht eine nahtlose Abwicklung der erforderlichen Authentifizierung und Sitzungsverwaltung, während die [NowWebService-](https://servicenow-prod.fluidtopics.net/a79Eiud_BZWkA9axBdeJfA#NowWebServiceiOSAPI "Die Klasse NowWebService stellt Funktionen bereit, die das Durchsuchen von Webseiten in einer Instanz ServiceNow ermöglichen.") API die erforderlichen Funktionen für die Verarbeitung von Seiten bereitstellt, die sich in Ihrer Instanz von ServiceNow befinden. Diese Webseiten weisen alle dynamischen Interaktionen auf, die auf der Plattform ServiceNow möglich sind.

Wenn die Webansicht zum Laden einer Webseite aufgefordert wird, die auf einer Instanz ServiceNow gehostet wird, erstellt sie eine HTTP-Anforderung mit dem entsprechenden Bearer-Header, der das von NowSDK bereitgestellte OAuth-Zugriffstoken enthält. Wenn die Instanz diese Anforderung erhält, startet sie eine neue Benutzersitzung und gibt Cookies zurück, die sich auf diese Sitzung beziehen. Wenn der Benutzer mit den Webseiten in der Webansicht interagiert, verwendet die Instanz Cookies, um zu überprüfen, ob die Sitzung noch gültig ist. Zu diesem Zeitpunkt ist der Bearer-Header nicht mehr relevant, nur die Cookies werden für die Sitzungsvalidierung verwendet. Die Websitzung läuft ab, wenn der Benutzer länger als die Zeitüberschreitungsdauer an nicht mehr mit der Website interagiert. Wenn der Benutzer nach Ablauf der Sitzung versucht, mit der Webseite zu interagieren, wird er automatisch zur Anmeldeseite weitergeleitet. Der NowWebViewController erkennt die Umleitung und versucht, eine neue Websitzung zu starten, indem er ein aktualisiertes Zugriffstoken vom NowSDK anfordert und mit dem Token eine HTTP-Anforderung (mit Bearer-Header) für die letzte bekannte geladene Seite erstellt.

Um diese Funktionen zu verwenden, müssen Sie zuerst eine Instanz des NowWebService erstellen. Dazu müssen Sie die Methode makeWebService() aufrufen und die URL zu Ihrer Instanz ServiceNow sowie ein bereits initialisiertes `NowSDK bereitstellen`. Außerdem müssen Sie `NowWeb` in Ihre Anwendung importiert haben. Sie sollten einen Verweis auf den NowWebService solange speichern, wie Sie den `NowWeb` -Service verwenden.

Im Folgenden finden Sie ein Beispiel für die Erstellung eines NowWebService-Objekts mit async/wait:  

    do {
        let service = try await NowWeb.makeWebService(instanceUrl: instanceUrl)
        self.webService = service
    } catch {
        debugPrint("Web Service creation failed with error: \(error.localizedDescription)") 
    }

Im Folgenden finden Sie ein Beispiel für die Erstellung eines NowWebService-Objekts mit einem Abschluss-Handler:

    import Combine
    import NowWeb
    import UIKit
    ...
    public func makeWebService(instanceUrl: URL, 
      completion: @escaping ((Result<NowWeb.NowWebService, NowSDK.NowServiceError>) -> Void)) 

## Laden Sie Seiten vor, um die Ladezeit von NowWeb zu verbessern

Sie können Seiten mit zwischenspeicherbaren Ressourcen im Hintergrund vorab laden, um die anfänglichen Ladezeiten von NowWeb zu verkürzen. Das folgende Beispiel zeigt, wie Sie mit der Funktion webService.preloadWebCache() angegebene Seiten vorab laden.

    private func preloadURLs(urls: [URL]) {
      guard let webService = webService else {
        debugPrint("Web service not initialized")
        return
      }
      do {
           try webService.preloadWebCache(urls: urls) {
             debugPrint("URLs did complete preloading")
           }
                
      } catch {
          debugPrint(error.localizedDescription)
      }
    }

## Erstellen Sie Ansichten zum Anzeigen von Webinhalten {#mobsdk-ios-display-web-pages__section_k5l_c11_kqb}

Sobald Sie eine Instanz von NowWebService instanziiert haben, können Sie damit Ansichten erstellen, um Webseiten anzuzeigen, die in Ihrer Instanz ServiceNow gehostet werden.

Das folgende Beispiel zeigt, wie eine [NowWebViewController-](https://servicenow-prod.fluidtopics.net/oulpDj36wVKNL8rGAuiOHQ#NWebViewControlleriOSAPI "Die NowWebViewController -Klasse stellt Funktionen bereit, mit denen Sie einen Web-Viewer verwalten können.") Ansicht erstellt wird:  

    let result = webService.makeWebViewController(for: url, 
      delegate: self, theme: MyWebTheme(nowUITheme: MyUITheme()))
    switch result { 
    case .success(let viewController): 
      return viewController 
    case .failure(let error): 
      debugPrint("Web view creation failed with error: \(error.localizedDescription)") 
    }

In diesem Beispiel ist url die URL der ersten Seite, die in der Ansicht geladen werden soll. Diese URL muss auf eine Seite verweisen, die auf der angegebenen Instanz ServiceNow gehostet wird. Relative URLs funktionieren auch und sind relativ zu der Instanz ServiceNow, auf die sich der NowWebService bezieht.

Nach der Erstellung können Sie den NowWebViewController auf einen vorhandenen Navigationsstapel übertragen. Die Startseite wird erst geladen, wenn Sie die Methode [loadPage() aufrufen](https://servicenow-prod.fluidtopics.net/oulpDj36wVKNL8rGAuiOHQ#NWVC-loadPage "Wenn die Anforderung authentifiziert ist, beginnt das Laden der ursprünglichen URL, die während der Instanziierung mit der Methode „createWebViewController() “ bereitgestellt wurde.").

## Designieren Sie die Webbenutzeroberfläche {#mobsdk-ios-display-web-pages__section_mvp_5c1_kqb}

Sie können die Farben der Web-UI anpassen, indem Sie ein Designobjekt im Aufruf von makeWebViewController() übergeben. Eine Liste aller Elemente, die Sie anpassen können, finden Sie unter [NowWebColoring-Protokoll -- iOS](https://servicenow-prod.fluidtopics.net/1U2TY8hstmiPGgzbBrRUCg "Das NowWebColoring- Protokoll stellt Standardwerte für die Farben bereit, die für Webseiten, die auf Ihrer Instanz ServiceNow gehostet werden, in einer nativen Webansicht verwendet werden."). Standardmäßig verwendet die Web-UI das NowUIColor-Design für alle NowSDK-UI-Elemente. [NowWebThemeable-Protokoll -- iOS](https://servicenow-prod.fluidtopics.net/0EMdTF9nsLFRpu5L_J71IA "Das Protokoll „NowWebThemeable“ bietet Eigenschaften, mit denen Sie die Farben, die in Webseiten verwendet werden, die auf Ihrer Instanz ServiceNow gehostet werden, in einer nativen Webansicht überschreiben können.") finden Sie Beispielcode-Fragmente zum Anwenden eines Designs auf Ihre Web-UI.

