NowChatService-Klasse – Android

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 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. Ergebnisse
    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 = object: NowChatTheme{}, contextData: Map<String, Any> = mapOf(), chatOptions: NowChatOptions? = 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 onActivityResult verwendetwerden soll
    Themafarben NowChat-Design Optional. In der NowChat-UI zu verwendende Designfarben.

    Standard: Standardfarben

    contextData Zuordnung<String, Any> Optional. Zusätzliche Chat-Kontextvariablen, die an die Chatsitzung übergeben werden.

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

    chatOptionen NowChatOptionen Optional. Auf die Chatsitzung anzuwendende Optionen.
    Tabelle : 4. Ergebnisse
    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") 
     
      val chatOptions = NowChatOptions( 
        NowChatOptions.ClosePrompt( 
          header = null, 
          message = "Are you sure you want to leave?", 
          acceptButtonTitle = "Yes", 
          declineButtonTitle = "No" 
        ), 
        disabledFeatures = listOf(NowChatOptions.Feature.START_NEW_CONVERSATION), 
        forceNewConversation= true 
      )
     
       chatService?.start(activity, chatTheme, contextData, chatOptions) 
    } 

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