Initialisieren Sie das NowSDK in Ihrer Anwendung

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Um zu verwenden Mobile SDK In Ihrer Anwendung müssen Sie SDK-Initialisierung, -Autorisierung und -Protokollierung durchführen.

    Wenn Sie das NowSDK verwenden, wird eine Anforderung zum Konfigurieren des SDK gestellt und Rückrufe vom SDK bereitgestellt. Sobald das SDK konfiguriert ist, kann eine Anwendung die Funktionsservices und die zugehörigen APIs verwenden. Dieses Setup/diese Konfiguration hilft, einen authentifizierten Anruf an einen zu tätigen ServiceNow Instanz.

    Das folgende Beispiel zeigt, wie Sie das NowSDK in Ihrem initialisieren Android Anwendung.
    //Helper class to encapsulate value needed to initialize the sdk
    data class NowSDKSettings(val instanceBaseURL : String, val clientId: String, val user: String?)
    
    class SampleApplication : Application(), NowSDKAuthorizationProviding, DevicePermissionDelegate {
    
        private val nowSdkSettings = NowSDKSettings(
            instanceBaseURL = "https://instance-name.service-now.com",
            clientId = "client_id",
            user = "user"
        )
    
        private val coroutineScope = CoroutineScope(Dispatchers.IO)
    
        private val nowSDKConfiguration = NowSDKConfiguration(this, this, NowLogLevel.Debug)
    
        override fun onCreate() {
            super.onCreate()
            NowSDK.configure(this, nowSDKConfiguration)
        }
    
        override fun requestAuthorization(
            instanceURL: URL,
            callback: Consumer<List<AuthorizationToken>?>
        ) {
            coroutineScope.launch {
                when {
                    nowSdkSettings.user.isNullOrBlank().not() -> authorizeWithJWT(
                        callback = callback,
                        user = nowSdkSettings.user,
                        clientId = nowSdkSettings.clientId
                    )
    
                    else -> authorizeWithGuest(callback = callback)
                }
            }
        }
    
        override fun canRequestPermission(permission: DevicePermission): Boolean {
            return true
        }
    
        private fun authorizeWithJWT(
            callback: Consumer<List<AuthorizationToken>?>,
            user: String?,
            clientId: String
        ) {
            //Get JWT token needed for the sdk initialization.
            val jwtToken ="jwt_token"
    
            callback.accept(listOf(AuthorizationToken(AuthorizationTokenType.JWT, jwtToken)))
        }
    
        private fun authorizeWithGuest(callback: Consumer<List<AuthorizationToken>?>) {
            callback.accept(
                listOf(
                    AuthorizationToken(
                        AuthorizationTokenType.Guest,
                        ""
                    )
                )
            )
        }
    }