NowChatService-Klasse – Android
Die NowChatService Die Klasse bietet Funktionen, mit denen Sie die NowChat-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 | NowChatTheme | Optional. Designobjekt, das in der NowChat-UI verwendet werden soll. Standard: Standardfarben |
| Typ | Beschreibung |
|---|---|
| Zweck | Absichts- und Designfarben, die zum Starten der zugehörigen NowChat-Aktivität verwendet werden. |
Dieses Beispiel zeigt, wie Sie aufrufen 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 NowChat-Aktivität.
| Name | Typ | Beschreibung |
|---|---|---|
| Aktivität | Aktivität | Aktivitätskontext, der zum Starten der NowChat-Aktivität und zum Empfangen von verwendet werden soll NowChatExitCode Als resultCode über OnActivityResult . |
| NowChatTheme | NowChatTheme | Optional. Designobjekt, das in der NowChat-UI verwendet werden soll. Standard: Standardfarben |
| ContextData | <String, Any> zuordnen | Optional. Zusätzliche Chatkontextvariablen, die an die Chatsitzung übergeben werden sollen. Weitere Informationen zu Chat-Kontextvariablen finden Sie unter Live agent chat context variables. |
| ChatKonfiguration | NowChatConfiguration | Optional. Chatkonfiguration, die bei Verwendung von NowChat 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 |
|---|---|---|
| PollingIntervall | Lang | Häufigkeit, mit der der der Webservice nach der Anzahl der ungelesenen Chatnachrichten abgefragt werden soll. Einheit: Millisekunden |
| listener | NowChatUnreadMessagesCountListener | Listener, den Sie implementieren, um die Anzahl der ungelesenen Chatnachrichten abzurufen. Sie müssen auch das Abonnement dieses Listeners kündigen, wenn Sie die Anzahl der ungelesenen 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 der ungelesenen Nachrichten ab.
| Name | Typ | Beschreibung |
|---|---|---|
| listener | NowChatUnreadMessagesCountListener | 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 | NowChatTheme | 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)