NowSDK - Android

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • NowSDK クラスは、NowSDK のパブリック API を提供するシングルトンです。このクラスは、すべての Android SDK 機能サービスへのゲートウェイです。

    フィーチャ サービスを初期化する前に、 NowSDK.configure() を呼び出して SDK 自体を初期化する必要があります。Android NowSDK の使用を開始する方法の詳細については、『ServiceNow Mobile SDK 開発者ガイド - Android』を参照してください。

    NowSDK - configure(application: Application, configuration: NowSDKConfiguration)

    使用する NowSDK を構成します。

    SDK によって提供されるフィーチャ サービスを使用する前に、この関数を呼び出す必要があります。

    表 : 1. パラメーター
    名前 タイプ Description (説明)
    application アプリケーション ホスティングアプリケーションオブジェクトへの参照。
    構成 NowServiceConfiguration NowSDK の初期化に必要な情報を含むオブジェクト。
    表 : 2. 返される内容
    タイプ 説明
    なし NowSDKError は、指定された構成が無効な場合にスローされます。

    次のコード例は、この関数を呼び出す方法を示しています。

    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
        }
    }

    NowSDK - logout()

    メモリに保持されているすべてのユーザーセッションをクリアします。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    class SampleApplication : Application() {
    
        private val nowSDKConfiguration = NowSDKConfiguration(authorizationProvider, permissionDelegate, NowLogLevel.Debug)
    
        override fun onCreate() {
            super.onCreate()
            NowSDK.configure(this, nowSDKConfiguration)
        }
    
        fun logout() {
            // Clear all user session when an application resets the user session
            NowSDK.logout()
        }
    }