---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://www.servicenow.com/docs/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowSDK - Android

# NowSDK - Android {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：3分

NowSDK クラスは、NowSDK のパブリック API を提供するシングルトンです。このクラスは、すべての Android SDK 機能サービスへのゲートウェイです。

フィーチャ サービスを初期化する前に、 [NowSDK.configure()](https://www.servicenow.com/docs/u1Gn4TX4SYFNuetDv~I4nw#NowSDK-configure_O_O "使用する NowSDK を構成します。") を呼び出して SDK 自体を初期化する必要があります。Android NowSDK の使用を開始する方法の詳細については、『ServiceNow Mobile SDK 開発者ガイド - Android』を参照してください。

## NowSDK - configure(application: Application, configuration: NowSDKConfiguration) {#ariaid-title2}

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

| 名前 | タイプ | Description (説明) |
|-|-|-|
| application | [アプリケーション](https://developer.android.com/reference/kotlin/android/app/Application.html) | ホスティングアプリケーションオブジェクトへの参照。 |
| 構成 | NowServiceConfiguration | NowSDK の初期化に必要な情報を含むオブジェクト。 |
[表 : 1. パラメーター]

{#NowSDK-configure_O_O__table_cyv_kpc_npb} {#NowSDK-configure_O_O__table_dyv_kpc_npb__entry__2}

| タイプ | 説明 |
|-|-|
| なし | NowSDKError は、指定された構成が無効な場合にスローされます。 |
[表 : 2. 返される内容]

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

    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() {#ariaid-title3}

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

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 3. パラメーター]

{#NowSDK-logout__table_cyv_kpc_npb} {#NowSDK-logout__table_dyv_kpc_npb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 4. 返される内容]

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

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


