NowSDKConfiguration クラス: Android

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • NowSDKConfiguration クラスには、NowSDK の初期化に必要な構成情報が含まれています。

    表 : 1. プロパティ
    名前 タイプ 説明
    authorizationProvider NowSDKAuthorizationProviding 要求に応じて NowSDK に認証トークンを提供する委任オブジェクト。
    logLevel NowLogLevel 関連付けられたロガーが保存するログメッセージのレベル。
    有効な値 (大文字と小文字を区別):
    • デバッグ
    • エラー
    • 致命的
    • 情報
    • なし
    permissionDelegate DevicePermissionDelegate

    ホストアプリケーションに許可を要求するために NowSDK によって呼び出された委任オブジェクトで、指定されたデバイス許可を要求するためのシステムダイアログを表示します。

    例:
    override fun canRequestPermission(permission: DevicePermission): Boolean =
      when (permission) {
        DevicePermission.Camera -> true
        DevicePermission.Microphone -> false
      }
    }

    NowSDKConfiguration - NowSDKConfiguration(authorizationProvider: NowSDKAuthorizationProviding, permissionDelegate: DevicePermissionDelegate, logLevel: NowLogLevel)

    新しい NowSDKConfiguration オブジェクトを作成します。

    表 : 2. パラメーター
    名前 タイプ 説明
    authorizationProvider NowSDKAuthorizationProviding 要求に応じて NowSDK に認証トークンを提供する委任オブジェクト。
    permissionDelegate DevicePermissionDelegate

    ホストアプリケーションに許可を要求するために NowSDK によって呼び出された委任オブジェクトで、指定されたデバイス許可を要求するためのシステムダイアログを表示します。

    例:
    override fun canRequestPermission(permission: DevicePermission): Boolean =
      when (permission) {
        DevicePermission.Camera -> true
        DevicePermission.Microphone -> false
      }
    }
    logLevel NowLogLevel 関連付けられたロガーが保存するログメッセージのレベル。
    有効な値 (大文字と小文字を区別):
    • デバッグ
    • エラー
    • 致命的
    • 情報
    • なし
    表 : 3. 返される内容
    タイプ 説明
    なし

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

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