Now ChatService-Klasse – Android

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

    NowChatservice – launchIntent(context:context, themeColors:NowChatTheme):Absicht

    Startet die Absicht, die zum Öffnen der Now Chat-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.
    Themenfarben Now ChatTheme Optional. Designfarben, die in der Now Chat-UI verwendet werden sollen.

    Standard: Standardfarben

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

    Dieses Beispiel zeigt, wie aufgerufen wird 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 Now Chat-Aktivität.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Aktivität Aktivität Aktivitätskontext, der zum Starten der Now Chat-Aktivität und zum Empfangen von verwendet werden soll Now ChatExitCode Als resultCode über OnAktivityResult .
    Themenfarben Now ChatTheme Optional. Designfarben, die in der Now Chat-UI verwendet werden sollen.

    Standard: Standardfarben

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

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

    Chatkonfiguration Now ChatKonfiguration Optional. Chatkonfiguration, die bei Verwendung von Now Chat 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 ungelesener Chatnachrichten.

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

    Einheit: Millisekunden

    Listener Now ChatUnreadMessagesCountListener Listener, den Sie implementieren, um die Anzahl der ungelesenen Chatnachrichten abzurufen. Sie müssen auch dieses Listener abbestellen, wenn Sie die Anzahl ungelesener 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 ungelesener Nachrichten ab.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Listener Now ChatUnreadMessagesCountListener 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)
    }