Classe NowChatService : Android

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • La classe NowChatService fournit des fonctions qui vous permettent de lancer l’activité NowChat et de définir des configurations d’erreur.

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

    Lance l’intention utilisée pour ouvrir l’activité NowChat. Généralement utilisé pour créer un [android.app.PendingIntent].

    Tableau 1. Paramètres
    Nom Type Description
    contexte Contexte Contexte utilisé pour construire l’intention.
    nowChatTheme NowChatTheme Facultatif. Objet de thème à utiliser dans l’interface utilisateur NowChat.

    Par défaut : couleurs par défaut

    Tableau 2. Renvoie
    Type Description
    Intention Couleurs d’intention et de thème utilisées pour lancer l’activité NowChat associée.

    Cet exemple montre comment appeler la méthode launchIntent() et traiter l’activité de retour.

    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)

    Lance l’activité NowChat spécifiée.

    Tableau 3. Paramètres
    Nom Type Description
    activité Activité Contexte de l’activité à utiliser pour lancer l’activité NowChat et recevoir le NowChatExitCode sous forme de resultCode via onActivityResult.
    nowChatTheme NowChatTheme Facultatif. Objet de thème à utiliser dans l’interface utilisateur NowChat.

    Par défaut : couleurs par défaut

    données contextuelles Mappage<chaîne, n’importe lequel> Facultatif. Variables de contexte de messagerie instantanée supplémentaires à transmettre dans la session de messagerie instantanée.

    Pour plus d’informations sur les variables de contexte de messagerie instantanée, reportez-vous à la section Live agent chat context variables.

    chatConfiguration Configuration de NowChat Facultatif. Configuration de la messagerie instantanée à appliquer lors de l’utilisation de NowChat.
    Tableau 4. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette fonction.

    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 : Long, listener : NowChatUnreadMessagesCountListener)

    S’abonne à l’écouteur du nombre de messages de messagerie instantanée non lus.

    Tableau 5. Paramètres
    Nom Type Description
    intervalle d’interrogation Long Fréquence à laquelle interroger le service Web pour le nombre de messages de messagerie instantanée non lus.

    Unité : millisecondes

    auditeur NowChatUnreadMessagesCountListener Écouteur que vous implémentez pour obtenir le nombre de messages de messagerie instantanée non lus. Vous devez également vous désabonner de cet écouteur lorsque vous ne souhaitez plus obtenir le nombre de messages non lus à l’aide de la NowChatService : unsubscribeFromUnreadMessageCount(écouteur : NowChatUnreadMessagesCountListener) méthode.
    Tableau 6. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment s’abonner et se désabonner d’un écouteur de nombre de messages non lus de la messagerie instantanée.

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

    NowChatService : unsubscribeFromUnreadMessageCount(écouteur : NowChatUnreadMessagesCountListener)

    Se désabonne du nombre de messages non lus.

    Tableau 7. Paramètres
    Nom Type Description
    auditeur NowChatUnreadMessagesCountListener Écouteur que vous implémentez pour vous désabonner de la messagerie instantanée Écouteur du nombre de messages non lus.
    Tableau 8. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment s’abonner et se désabonner d’un écouteur de nombre de messages non lus de la messagerie instantanée.

    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)

    Met à jour le thème de l’interface utilisateur NowChat avec le thème d’interface utilisateur spécifié. Utilisez cette fonction pour mettre à jour le thème de l’interface utilisateur de la messagerie instantanée après qu’il a été initialement défini à l’aide de la fonction start( ), par exemple lors du changement du thème de clair à foncé.

    Tableau 9. Paramètres
    Nom Type Description
    nowChatTheme NowChatTheme Objet de thème à utiliser dans l’interface utilisateur NowChat.
    Tableau 10. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment mettre à jour un thème d’interface utilisateur clair implémenté à l’aide de la fonction start() vers un thème d’interface utilisateur sombre à l’aide de la fonction updateTheme( ).

    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)