NowWebSDK-Klasse – Android

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Die NowWebSDK -Klasse stellt eine Einzelfunktion bereit, mit der Sie Webseiten, die auf Ihrer Instanz ServiceNow gehostet werden, in einer nativen Webansicht und in Cabrello laden können. Die Anwenderauthentifizierung und das Management von Anwendersitzungen werden automatisch durchgeführt, anstatt dass sich Anwender über eine Anmeldewebseite bei der Instanz anmelden müssen.

    NowWebSDK – makeWebService(instanceURL: URL, nowWebSdkCallbacks: NowWebViewServiceDelegate? = null)

    Erstellt einen NowWeb-Service.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    instanceURL URL URL der Instanz ServiceNow, auf die zugegriffen werden soll. Beispiel: „https://instanz.servicenow.com“
    nowWebSdkCallbacks NowWebViewServiceDelegierter Rückrufe für die Hostanwendung zum Konfigurieren von NowWebService.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Ergebnis<NowWebService> NowWebService-Objekt in ein Kotlin-Ergebnisobjekteingeschlossen.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

     private var nowWebService: NowWebService? = null
    
    /**
      * Create the NowWebService once in the lifetime of the application, inside the Application
      * class or another manager class that will be injected into other classes via dagger/hilt.
      * NowWebService should be created after initializing the NowSDK.
      */
    suspend fun getNowWebService(): NowWebService? {
      if (nowWebService != null) return nowWebService
    
      return NowWebSDK.makeWebService(URL("https://instance-name.service-now.com"), object :
        NowWebViewServiceDelegate {
        override fun flowEnded(activity: Activity, flowName: String?) {
          Log.i("NowWebSdk", "flow ended")
        }
    
        override fun requestedDismissal(activity: Activity) {
          Log.i("NebWebSdk", "screen should be dismissed")
        }
    
        override fun navigationFailed(activity: Activity, error: String) {
          Log.i("NebWebSdk", "navigation failed")
        }
    
        override fun unsupportedUrl(activity: Activity, uri: Uri) {
          Log.i("NebWebSdk", "URL is unsupported")
        }
      }).getOrThrow()
          .also { this.nowWebService = it }
    }