Now ChatService-Klasse Android

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 3 Minuten Lesedauer
  • Die Now Chatservice Die Klasse bietet Funktionen, mit denen Sie die Now Chat-Aktivität starten und Fehlerkonfigurationen festlegen können.

    NowChatService – launchIntent(context:context, nowChatTheme:NowChatTheme):Intent

    Startet die Absicht, die zum Öffnen der NowChat-Aktivität verwendet wird. Wird normalerweise zum Erstellen von verwendet [android.App.Ausstehende Absicht] .

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    context Kontext Kontext, der zum Erstellen der Absicht verwendet wird.
    NowChatTheme Now ChatTheme Optional. Designobjekt, das in der NowChat-UI verwendet werden soll.

    Standard: Standardfarben

    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Zweck Absichts- und Designfarben, die zum Starten der zugehörigen Now Chat-Aktivität verwendet werden.

    Dieses Beispiel zeigt, wie aufgerufen wird LaunchIntent() Methode und Verarbeitung der Rückgabeaktivität.

    val intent = nowChatService.launchIntent(this) 
    val pendingIntent = PendingIntent.getActivity( 
        this, 
        REQUEST_CODE,
        intent,
        PendingIntent.FLAG_IMMUTABLE 
    ) 
    
    val notification = createNotification(title, message, pendingIntent)
    notificationManager.notify(push.notificationId, notification) 

    NowChatService – Start(activity: Activity, themeColors: NowChatTheme = object: NowChatTheme{}, contextData: Map<String, Any> = mapOf(), chatConfiguration: NowChatConfiguration? = Null)

    Startet die angegebene Now Chat-Aktivität.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Aktivität Aktivität Aktivitätskontext, der zum Starten der Now Chat-Aktivität und zum Empfangen von verwendet werden soll Now ChatExitCode Als resultCode über OnAktivityResult .
    NowChatTheme Now ChatTheme Optional. Designobjekt, das in der NowChat-UI verwendet werden soll.

    Standard: Standardfarben

    ContextData <String, Any> zuordnen Optional. Zusätzliche Chat-Kontextvariablen, die an die Chatsitzung übergeben werden sollen.

    Weitere Informationen zu Chat-Kontextvariablen finden Sie unter Live agent chat context variables.

    Chatkonfiguration Now ChatKonfiguration Optional. Chatkonfiguration, die bei Verwendung von Now Chat angewendet werden soll.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    suspend fun launchChat() {
        val chatService = getNowChatService()
    
        val chatTheme = object : NowChatTheme {
            override val brand: Int
                get() = Color.BLUE
    
            override val textPrimary: Int
                get() = Color.BLACK
    
            // Override remaining theme colors
    
        }
        val contextData = mapOf("sys_id" to "123456789", "table" to "wm_task")
    
        //drawable to be used instead of the default NowChat back button.
        val myDrawable = ContextCompat.getDrawable(activity, R.drawable.my_drawable)
    
        val chatConfiguration = NowChatConfiguration(
            closePrompt = NowChatConfiguration.ClosePrompt(
                header = null,
                message = "Are you sure you want to leave?",
                acceptButtonTitle = "Yes",
                declineButtonTitle = "No"
            ),
            disabledFeatures = listOf(NowChatConfiguration.Feature.START_NEW_CONVERSATION),
            conversationOptions = listOf(NowChatConfiguration.ConversationOption.FORCE_NEW_CONVERSATION),
            uiConfiguration = NowChatConfiguration.UIConfiguration(
                closeButton = NowChatConfiguration.CloseButton(
                    icon = myDrawable
                ),
                attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible = false)
            )
        )
    
        chatService?.start(activity, chatTheme, contextData, chatConfiguration)
    }

    NowChatService – subscribeToUnreadMessageCount(pollingInterval: Lang, Listener: NowChatUnreadMessagesCountListener)

    Abonniert den Listener für die Anzahl ungelesener Chatnachrichten.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Abfrageintervall Lang Häufigkeit, mit der der der Webservice nach der Anzahl der ungelesenen Chatnachrichten abgefragt werden soll.

    Einheit: Millisekunden

    Listener Now ChatUnreadMessagesCountListener Listener, den Sie implementieren, um die Anzahl der ungelesenen Chatnachrichten abzurufen. Sie müssen auch dieses Listener abbestellen, wenn Sie die Anzahl ungelesener Nachrichten nicht mehr mit abrufen möchten NowChatService – unsubscribeFromUnreadMessageCount(Listener: NowChatUnreadMessagesCountListener) Methode.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einen Listener für die Anzahl ungelesener Chatnachrichten abonnieren und abbestellen.

    private val unreadMessageCountListener = object: NowChatUnreadMessagesCountListener {
      override fun unreadMessagesCountDidChange(unreadMessageCount: Int) {
      }
    }
    
    fun setup() {
      nowChatService.subscribeToUnreadMessageCount(pollingInterval:1000, unreadMessageCountListener)
    }
    
    fun teardown() {
      nowChatService.unsubscribeFromUnreadMessageCount(unreadMessageCountListener)
    }
    

    NowChatService – unsubscribeFromUnreadMessageCount(Listener: NowChatUnreadMessagesCountListener)

    Hebt den Empfang der Anzahl ungelesener Nachrichten ab.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Listener Now ChatUnreadMessagesCountListener Listener, den Sie implementieren, um das Abonnement des Listeners für die Anzahl ungelesener Chatnachrichten abzubestellen.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einen Listener für die Anzahl ungelesener Chatnachrichten abonnieren und abbestellen.

    private val unreadMessageCountListener = object: NowChatUnreadMessagesCountListener {
      override fun unreadMessagesCountDidChange(unreadMessageCount: Int) {
      }
    }
    
    fun setup() {
      nowChatService.subscribeToUnreadMessageCount(pollingInterval:1000, unreadMessageCountListener)
    }
    
    fun teardown() {
      nowChatService.unsubscribeFromUnreadMessageCount(unreadMessageCountListener)
    }
    

    NowChatService – updateTheme(nowChatTheme: NowChatTheme)

    Aktualisiert das NowChat-UI-Design mit dem angegebenen UI-Design. Verwenden Sie diese Funktion, um das Chat-UI-Design zu aktualisieren, nachdem es ursprünglich mit festgelegt wurde Start () Funktion, z. B. beim Ändern des Designs von hell nach dunkel.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    NowChatTheme Now ChatTheme Designobjekt, das in der NowChat-UI verwendet werden soll.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie Sie ein leichtes UI-Design aktualisieren, das mit implementiert wurde Start () Funktion zum dunklen UI-Design mit UpdateTheme() Funktion.

    val chatService = serviceManager.getNowChatService()
    
    val chatThemeLight = object : NowChatTheme {
        override val backgroundPrimary: Int
            get() = Color.WHITE
    
        override val textPrimary: Int
            get() = Color.BLACK
    
        // Override remaining theme colors
    }
    
    val chatThemeDark = object : NowChatTheme {
        override val backgroundPrimary: Int
            get() = Color.BLACK
    
        override val textPrimary: Int
            get() = Color.WHITE
    
        // Override remaining theme colors
    }
    
    //start NowChat with light theme
    chatService?.start(activity, chatThemeLight)
    
    
    //update NowChat theme to dark theme
    chatService?.updateTheme(chatThemeDark)