Classe NowChatService : Android
La classe NowChatService fournit des fonctions qui vous permettent de lancer l’activité NowChat et de définir des configurations d’erreur.
NowChatService : launchIntent(context :Context, nowChatTheme :NowChatTheme) :Intent
Lance l’intention utilisée pour ouvrir l’activité NowChat. Généralement utilisé pour créer un [android.app.PendingIntent].
| Nom | Type | Description |
|---|---|---|
| contexte | Contexte | Contexte utilisé pour construire l’intention. |
| nowChatTheme | NowChatTheme | Facultatif. Objet de thème à utiliser dans l’interface utilisateur NowChat. Par défaut : couleurs par défaut |
| Type | Description |
|---|---|
| Intention | Couleurs d’intention et de thème utilisées pour lancer l’activité NowChat associée. |
Cet exemple montre comment appeler la méthode launchIntent() et traiter l’activité de retour.
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)
Lance l’activité NowChat spécifiée.
| Nom | Type | Description |
|---|---|---|
| activité | Activité | Contexte de l’activité à utiliser pour lancer l’activité NowChat et recevoir le NowChatExitCode sous forme de resultCode via onActivityResult. |
| nowChatTheme | NowChatTheme | Facultatif. Objet de thème à utiliser dans l’interface utilisateur NowChat. Par défaut : couleurs par défaut |
| données contextuelles | Mappage<chaîne, n’importe lequel> | Facultatif. Variables de contexte de messagerie instantanée supplémentaires à transmettre dans la session de messagerie instantanée. Pour plus d’informations sur les variables de contexte de messagerie instantanée, reportez-vous à la section Live agent chat context variables. |
| chatConfiguration | Configuration de NowChat | Facultatif. Configuration de la messagerie instantanée à appliquer lors de l’utilisation de NowChat. |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler cette fonction.
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 : Long, listener : NowChatUnreadMessagesCountListener)
S’abonne à l’écouteur du nombre de messages de messagerie instantanée non lus.
| Nom | Type | Description |
|---|---|---|
| intervalle d’interrogation | Long | Fréquence à laquelle interroger le service Web pour le nombre de messages de messagerie instantanée non lus. Unité : millisecondes |
| auditeur | NowChatUnreadMessagesCountListener | Écouteur que vous implémentez pour obtenir le nombre de messages de messagerie instantanée non lus. Vous devez également vous désabonner de cet écouteur lorsque vous ne souhaitez plus obtenir le nombre de messages non lus à l’aide de la NowChatService : unsubscribeFromUnreadMessageCount(écouteur : NowChatUnreadMessagesCountListener) méthode. |
| Type | Description |
|---|---|
| Aucun |
L’exemple suivant montre comment s’abonner et se désabonner d’un écouteur de nombre de messages non lus de la messagerie instantanée.
private val unreadMessageCountListener = object: NowChatUnreadMessagesCountListener {
override fun unreadMessagesCountDidChange(unreadMessageCount: Int) {
}
}
fun setup() {
nowChatService.subscribeToUnreadMessageCount(pollingInterval:1000, unreadMessageCountListener)
}
fun teardown() {
nowChatService.unsubscribeFromUnreadMessageCount(unreadMessageCountListener)
}
NowChatService : unsubscribeFromUnreadMessageCount(écouteur : NowChatUnreadMessagesCountListener)
Se désabonne du nombre de messages non lus.
| Nom | Type | Description |
|---|---|---|
| auditeur | NowChatUnreadMessagesCountListener | Écouteur que vous implémentez pour vous désabonner de la messagerie instantanée Écouteur du nombre de messages non lus. |
| Type | Description |
|---|---|
| Aucun |
L’exemple suivant montre comment s’abonner et se désabonner d’un écouteur de nombre de messages non lus de la messagerie instantanée.
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)
Met à jour le thème de l’interface utilisateur NowChat avec le thème d’interface utilisateur spécifié. Utilisez cette fonction pour mettre à jour le thème de l’interface utilisateur de la messagerie instantanée après qu’il a été initialement défini à l’aide de la fonction start( ), par exemple lors du changement du thème de clair à foncé.
| Nom | Type | Description |
|---|---|---|
| nowChatTheme | NowChatTheme | Objet de thème à utiliser dans l’interface utilisateur NowChat. |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment mettre à jour un thème d’interface utilisateur clair implémenté à l’aide de la fonction start() vers un thème d’interface utilisateur sombre à l’aide de la fonction updateTheme( ).
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)