NowChatService-Klasse – Android

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Die NowChatService- Klasse stellt Funktionen bereit, mit denen Sie die NowChat-Aktivität starten und Fehlerkonfigurationen festlegen können.

    NowChatService – launchIntent(Kontext:Kontext, ThemaFarben:NowChatTheme):Absicht

    Startet die Absicht, die zum Öffnen der NowChat-Aktivität verwendet wird. Wird normalerweise zum Erstellen eines [android.app.PendingIntent]verwendet.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    context Kontext Kontext, der zum Erstellen der Absicht verwendet wird.
    Themafarben NowChat-Design Optional. In der NowChat-UI zu verwendende Designfarben.

    Standard: Standardfarben

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

    In diesem Beispiel wird gezeigt, wie die Methode launchIntent() aufgerufen und die zurückgegebene Aktivität verarbeitet wird.

    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, topicColors: NowChatTheme = Objekt: 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 des NowChatExitCode als resultCode über onActivityResultverwendet werden soll
    Themafarben NowChat-Design Optional. In der NowChat-UI zu verwendende Designfarben.

    Standard: Standardfarben

    contextData Zuordnung<String, Any> Optional. Zusätzliche Chat-Kontextvariablen zur Übergabe an die Chatsitzung.

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

    chatKonfiguration NowChatKonfiguration Optional. ChatKonfiguration, die bei der 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: 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: Lang, Listener: NowChatUnreadMessagesCountListener)

    Abonniert den Listener für die Anzahl der ungelesenen Chatnachrichten.

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

    Einheit: Millisekunden

    listener NowChatUnreadMessagesCountListener Listener, den Sie implementieren, um die Anzahl der ungelesenen Chatnachrichten abzurufen. Sie müssen diesen Listener auch abbestellen, wenn Sie die Anzahl der ungelesenen Nachrichten nicht mehr mit der Methode NowChatService – unsubscribeFromUnreadMessageCount(listener: NowChatUnreadMessagesCountListener) abrufen möchten.
    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 das Abonnement für den Empfang der Anzahl der ungelesenen Nachrichten auf.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    listener NowChatUnreadMessagesCountListener Listener, den Sie implementieren, um den Listener 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)
    }