---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 仮想チャットと ライブエージェント チャットの実装

# 仮想チャットと ライブエージェント チャットの実装 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：4分

このMobile SDKを使用すると、Androidアプリケーション内に仮想およびライブエージェントチャットサービスを簡単に実装できます。
[NowChatSDK](https://servicenow-prod.fluidtopics.net/o1EYXurFErn9tao85dzX7Q#NowChatSDKAndroidAPI "NowChatService クラスは、NowChat とやり取りする NowChatService を作成するために必要な関数を提供します。NowChat は、アプリケーション内に ライブエージェント と 仮想エージェント を埋め込む機能を提供します。") API を使用してチャットサービスを作成します。サービスが作成されたら、チャットユーザーインターフェイスを開始する必要があります。

チャットサービスを作成してインターフェイスを開始する方法を示すスニペットを次に示します。

    /**
     * Helper class used to handle different Now service instances.
     */
    @Singleton
    class SdkManager @Inject constructor() {

        private var chatService: NowChatService? = null

        /**
         * Create the NowChatService once in the lifetime of the application, inside the Application class or another manager class
         * that will be injected into other classes via dagger/hilt.
         * NowChatService should be created after initializing the NowSDK.
         */
        suspend fun getNowChatService(): NowChatService? {
            if (chatService != null) return chatService

            return NowChatSDK.makeChatService(URL("https://instance-name.service-now.com"),
                object : NowChatSdkCallbacks {})
                .getOrThrow()
                .also { this.chatService = it }
        }
    }

    //Activity that will start the NowChat
    class MainActivity : AppCompatActivity() {

        @Inject
        lateinit var sdkManager: SdkManager

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)

            //Start NowChat using the activity
            lifecycleScope.launch {
                sdkManager.getNowChatService()?.start(this@MainActivity)
            }
        }
    }

アプリケーション内でチャット機能を利用する前に、ServiceNow インスタンス内でチャット機能を構成仮想エージェント必要があります。詳細については、「[Virtual Agent](https://www.servicenow.com/docs/access?context=virtual-agent-landing-page&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US)」を参照してください。

## ライブエージェントチャットと仮想エージェントチャットにコンテキスト変数を渡す {#mobsdk-and-imp-chat__section_tcq_3tj_k1c}

[NowChatService-start()](https://servicenow-prod.fluidtopics.net/Ti1IcD7_tIXEjZaCiUmEqw#NChatServA-start_O_O "指定された NowChat アクティビティを起動します。") 関数で contextData パラメーターを渡すことで、チャットセッションを開始するときにチャットコンテキスト変数を渡すことができます。チャットコンテキスト変数の詳細については、「 [Live agent chat context variables](https://www.servicenow.com/docs/access?context=live-agent-chat-context-vars&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US)」を参照してください。  

    class MainActivity : AppCompatActivity() {
      @Inject

      lateinit var sdkManager: SdkManager

      override fun onCreate(savedInstanceState: Bundle?) { 
        super.onCreate(savedInstanceState)

        val contextData = mapOf("sys_id" to "123456789", "table" to "wm_task")
        //Start NowChat using the activity 
        lifecycleScope.launch {
          sdkManager.getNowChatService()?.start(this@MainActivity, contextData = contextData)
        }
      }
    }

## チャットユーザーインターフェイスのテーマ設定

start() 呼び出しでテーマオブジェクトを渡すことで、ライブエージェント と 仮想エージェント チャット UI の色をカスタマイズできます。カスタマイズできる要素のリストについては、「 [NowChatService - launchIntent(context:Context, nowChatTheme:NowChatTheme):インテント](https://servicenow-prod.fluidtopics.net/Ti1IcD7_tIXEjZaCiUmEqw#NChatServA-launchIntent_O_O "NowChat アクティビティを開くために使用されるインテントを起動します。通常、[ android.app.PendingIntent] の作成に使用されます。")」を参照してください。デフォルトでは、チャット UI はすべての NowSDK UI 要素に nowUIColor テーマを使用します。チャット UI にテーマを適用する方法の例については、サンプルアプリケーションを参照してください。

