Classe NowChatService : Android

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 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, themeColors :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.
    themeColors NowChatTheme Facultatif. Couleurs de thème à utiliser dans l’interface utilisateur Now Chat.

    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.
    themeColors NowChatTheme Facultatif. Couleurs de thème à utiliser dans l’interface utilisateur Now Chat.

    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
    Néant

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

    suspend fun launchChat() { 
      val chatService = getNowChatService() 
    
      val chatTheme = object : NowChatTheme { 
        override val brand: NowUIAdaptiveColor 
          get() = NowUIAdaptiveColor(Color.BLUE) 
     
        override val textPrimary: NowUIAdaptiveColor 
          get() = NowUIAdaptiveColor(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
    Néant

    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
    Néant

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