Initialisieren Sie das NowSDK in Ihrer Anwendung
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,
""
)
)
)
}
}