NowWebSDK-Klasse – Android

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Die NowWebSDK -Klasse bietet eine einzelne Funktion, mit der Sie Webseiten, die in Ihrer Instanz ServiceNow gehostet werden, in einer nativen Webansicht und in Cabrillo laden können. Die Benutzerauthentifizierung und Sitzungsverwaltung wird automatisch verarbeitet, anstatt Benutzer zu zwingen, sich über eine Anmelde-Webseite bei der Instanz anzumelden.

    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://instance.servicenow.com“
    nowWebSdkCallbacks NowWebViewServiceDelegate Rückrufe für die Hostanwendung zum Konfigurieren von NowWebService.
    Tabelle : 2. Ergebnisse
    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 }
    }