Initialisieren Sie das NowSDK in Ihrer Anwendung
Um Mobile SDK in Ihrer Anwendung zu verwenden, müssen Sie die SDK-Initialisierung, Autorisierung und Protokollierung durchführen.
Wenn Sie das NowSDK verwenden, sendet es eine Anforderung zum Konfigurieren des SDK und stellt Rückrufe vom SDK bereit. Sobald das SDK konfiguriert ist, kann eine Anwendung die Funktionsservices und die zugehörigen APIs verwenden. Dieses Setup/diese Konfiguration hilft bei der Durchführung eines authentifizierten Aufrufs bei einer ServiceNow -Instanz.
Im Folgenden finden Sie ein Beispiel für die Initialisierung von NowSDK in Ihrer Anwendung Android.
//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,
""
)
)
)
}
}