NowChatService-Klasse – Android

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die NowChatService Die Klasse bietet Funktionen, mit denen Sie die NowChat-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 NowChatTheme 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 NowChat-Aktivität verwendet werden.

    Dieses Beispiel zeigt, wie Sie aufrufen 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 NowChat-Aktivität.

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

    Standard: Standardfarben

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

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

    ChatKonfiguration NowChatConfiguration Optional. Chatkonfiguration, die bei Verwendung von NowChat 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
    PollingIntervall Lang Häufigkeit, mit der der der Webservice nach der Anzahl der ungelesenen Chatnachrichten abgefragt werden soll.

    Einheit: Millisekunden

    listener NowChatUnreadMessagesCountListener Listener, den Sie implementieren, um die Anzahl der ungelesenen Chatnachrichten abzurufen. Sie müssen auch das Abonnement dieses Listeners kündigen, wenn Sie die Anzahl der ungelesenen 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 der ungelesenen Nachrichten ab.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    listener NowChatUnreadMessagesCountListener 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 NowChatTheme 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)