Now ChatService-Klasse – Android
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, nowChatTheme:NowChatTheme):Intent
Startet die Absicht, die zum Öffnen der NowChat-Aktivität verwendet wird. Wird normalerweise zum Erstellen von verwendet [android.App.Ausstehende Absicht] .
| Name | Typ | Beschreibung |
|---|---|---|
| context | Kontext | Kontext, der zum Erstellen der Absicht verwendet wird. |
| NowChatTheme | Now ChatTheme | Optional. Designobjekt, das in der NowChat-UI verwendet werden soll. Standard: Standardfarben |
| 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.
| 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 . |
| NowChatTheme | Now ChatTheme | Optional. Designobjekt, das in der NowChat-UI verwendet werden soll. 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. |
| 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: 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: Lang, Listener: NowChatUnreadMessagesCountListener)
Abonniert den Listener für die Anzahl ungelesener Chatnachrichten.
| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Listener | Now ChatUnreadMessagesCountListener | Listener, den Sie implementieren, um das Abonnement des Listeners für die Anzahl ungelesener Chatnachrichten abzubestellen. |
| 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 – updateTheme(nowChatTheme: NowChatTheme)
Aktualisiert das NowChat-UI-Design mit dem angegebenen UI-Design. Verwenden Sie diese Funktion, um das Chat-UI-Design zu aktualisieren, nachdem es ursprünglich mit festgelegt wurde Start () Funktion, z. B. beim Ändern des Designs von hell nach dunkel.
| Name | Typ | Beschreibung |
|---|---|---|
| NowChatTheme | Now ChatTheme | Designobjekt, das in der NowChat-UI verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie Sie ein leichtes UI-Design aktualisieren, das mit implementiert wurde Start () Funktion zum dunklen UI-Design mit UpdateTheme() Funktion.
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)