Skip to content

Releases: Salesforce-Async-Messaging/messaging-in-app-android

1.6.1

26 Jun 21:37
b061874
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Enhance the Messaging for In-App experience with the new Messaging for In-App features. Improve the user experience by auto-populating the pre-chat form fields, selecting the preferred browser type for opening rich links, and much more.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Regression from 1.5.1 patch that fixes pre-chat button branding tokens.
  • Fixes an issue where required field validation is enforced even if an option is selected from a drop-down.
  • Fixes an issue where drop-down menus could reset to default value.

API Changes

Known Issues

1.6.0

11 Jun 18:02
6d6fdce
Compare
Choose a tag to compare

Release Notes: Messaging for In-App (Android)

Enhance the Messaging for In-App experience with the new Messaging for In-App features. Improve the user experience by auto-populating the pre-chat form fields, selecting the preferred browser type for opening rich links, and much more.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Fixed several issues relating to unknown entry types not behaving as expected in certain cases.
  • Fixed a parity issue where the carousel aspect ratio was different from iOS.
  • Resolved a parity issue where a terms and conditions form without pre-chat enabled wasn't automatically creating a conversation on submission, which is how it behaves on iOS. Instead, it was creating the conversation when a message was sent.
  • Fixed a regression where file attachment sharing wasn't working properly.
  • Fixed a possible crash in pre-chat when not using any visible fields

API Changes

  • Added an optional argument for removing the authorizationToken storage when calling clearStorage. The default value, true maintains the preexisting behavior.
    suspend fun clearStorage(context: Context, destroyAuthorization: Boolean = true): Result<Unit>
  • Deprecated destroyStorage in favor of using clearStorage.
  • Removed the specific handling for 412 errors, which is no longer needed and replaced it with a generic error message.
  • Added the "Consent" MessageReason to the enum for opt-out messages.
  • Added the ability to pre-populate pre-chat fields by providing the values through a lambda expression on the UIClient.
    var preChatFieldValueProvider: ((List<PreChatField>) -> List<PreChatField>)?
  • Added an enum parameter called UrlDisplayMode to the UIConfiguration to define how URLs are handled, either opening them in an external browser or inline in the application. The default behavior is UrlDisplayMode.InlineBrowser.

Known Issues

  • The submission receipt isn't displaying the proper localized label values in the dropdown lists, instead it's showing the key value. Planning to fix in an upcoming release.

1.5.1

28 Mar 17:18
0f3a846
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Patch release to fix a few bugs.

To review the most recent feature release, see the Release Notes for Version 1.5.0.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Fixed a branding token regression from 1.5.0.
  • Fixed a compatibility issue with new Compose APIs.

API Changes

  • None

Known Issues

  • Copy/pasting images into the input field is no longer supported after migration to Jetpack Compose.
  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is ahttps://github.com/square/okhttp/issues/1001 with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.5.0

04 Mar 15:57
28a7b7a
Compare
Choose a tag to compare

Release Notes: Messaging for In-App (Android)

Enhance the Messaging for In-App experience with new Messaging for In-App features. Customize the user experience based on your business hours, send and receive GIFs during conversations, use the conversation list to organize a group of distinct conversations, take advantage of dropdowns in pre-chat forms, and more.

Includes a complete overhaul of the UI layer and migration to Jetpack Compose to provide a more modern and streamlined experience for end users and developers, and to allow more granular UI customization and branding capabilities.

To learn more about the SDK, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

New Features

  • Added support to retrieve conversation transcripts.
  • Added support for carousel messages.
  • Added an isEditable field to the PreChatField interface, which defaults to true. This prevents app users from editing pre-chat fields if an application passes pre-populated values.
  • The UI SDK no longer requires databinding to be enabled.

API Changes

  • Added ConversationClient.requestTranscript(): Result<InputStream>.
  • New strings. See Customize Strings.
    • Secure forms: smi_form_message_footer_submit, smi_form_message_footer_back, smi_form_message_footer_next, smi_form_message_back_button, smi_form_message_back_button_accessibility, smi_form_message_exit_screen_title, smi_form_message_exit_screen_subtitle, smi_form_message_exit_screen_confirm, smi_form_message_exit_screen_cancel, smi_form_message_result_success, smi_form_message_result_submitting, smi_form_message_result_error, smi_form_message_required_accessibility, smi_form_message_required, smi_form_message_text_invalid_email, smi_form_message_text_invalid_url, smi_form_message_text_input_required_message, smi_form_message_option_required_message, smi_form_message_divider
    • Carousels: smi_carousel_image_placeholder_accessibility, smi_carousel_selected_icon_accessibility, smi_carousel_image_accessibility
  • New branding tokens. See Customize Colors.
    • Bubble/chat colors: smi_form_submit_button, smi_form_submit_button_text, smi_form_next_button
    • Secure forms: smi_form_next_button_text, smi_form_back_button, smi_form_back_button_text, smi_form_background, smi_form_title_text, smi_form_sub_title_text, smi_form_option_title, smi_form_option_button_background, smi_form_option_button_text, smi_form_option_button_border, smi_form_option_button_border_selected, smi_form_option_button_border_required, smi_form_option_text_error, smi_form_input_footer_label, smi_form_input_border, smi_form_input_border_active, smi_form_input_border_error, smi_form_input_title_text, smi_form_input_text, smi_form_input_background, smi_form_confirmation_button_leave, smi_form_confirmation_button_leave_text, smi_form_confirmation_button_cancel, smi_form_confirmation_button_cancel_text, smi_form_confirmation_button_cancel_border, smi_form_proress_bar_foreground, smi_form_cell_icon_background_disabled, smi_form_cell_icon_disabled, smi_form_option_button_icon, smi_form_date_picker_icon
    • Carousels: smi_carousel_title_text, smi_carousel_sub_title_text, smi_carousel_button_text, smi_carousel_button_text_disabled, smi_carousel_button_background, smi_carousel_background, smi_carousel_progress_indicator_active, smi_carousel_progress_indicator_inactive, smi_carousel_selected_highlight, smi_carousel_selected_icon_foreground, smi_carousel_selected_icon_background, smi_carousel_image_background

Bug Fixes

  • Fixed an issue where the pre-chat form would fail the maxLength validation when the max character was reached.
  • Fixed an issue where calling ConversationClient.submitRemoteConfiguration while pre-chat is
    disabled in setup would cause a crash.
  • Fixes a bug where the checkbox was shown to accept legal terms when it was not a required field.
  • Fixes an issue where attachment downloads were blocking their parent entry. Attachments are now being downloaded in parallel when receiving a ConversationEntry.
  • Optimized Proguard rules to reduce the overall size of the SDK.

Known Issues

  • Copy/pasting images into the input field is no longer supported after migration to Jetpack Compose.
  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is ahttps://github.com/square/okhttp/issues/1001 with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.4.4

29 Feb 11:49
28a7b7a
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Patch release to fix a few bugs.

To review the most recent feature release, see the Release Notes for Version 1.4.0.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

-conversations(limit: Int, olderThanConversation: Conversation? = null) and conversationsPaged(pageSize: Int) methods now only return conversations first created on the channel configured with a given developerName.

API Changes

  • None

Known Issues

  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.4.3

31 Jan 03:21
28a7b7a
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Patch release to fix a few bugs.

To review the most recent feature release, see the Release Notes for Version 1.4.0.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Fixed an issue where the app crashed when navigating to the options screen after upgrading Google material components to version 1.10.0+.

API Changes

  • None

Known Issues

  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.4.2

17 Jan 23:16
1c05036
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Patch release to fix a few bugs.

To review the most recent feature release, see the Release Notes for Version 1.4.0.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Fixed an issue where hidden pre-chat values were not sent on conversation creation if neither visible pre-chat nor Terms & Conditions were configured.

API Changes

  • None

Known Issues

  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.4.1

14 Dec 23:31
1c05036
Compare
Choose a tag to compare

Patch Release: Messaging for In-App (Android)

Patch release to fix a few bugs.

To review the most recent feature release, see the Release Notes for Version 1.4.0.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

Bug Fixes

  • Fixed an issue where ConversationClient.conversationEntriesPaged handled mapping attachments to its parent conversationEntry, while other similar APIs wouldn't.
  • Both ConversationClient.conversationEntries and ConversationClient.conversationEntriesFlow now map file attachments back to their parent ConversationEntry in the same way as ConversationClient.conversationEntriesPaged.
  • ConversationClient.sendImage, ConversationClient.sendPdf, and ConversationClient.retryEntry now look for a known File reference before making the network request.

API Changes

  • Added ConversationClient.conversationEntriesFlow(limit: Int = 100): Flow<Result<List<ConversationEntry>>>.
  • Added a limit to the preexisting ConversationClient.conversationEntries(limit: Int = 100): Result<List<ConversationEntry>>.

Known Issues

  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.4.0

31 Oct 10:53
1122073
Compare
Choose a tag to compare

Release Notes: Messaging for In-App (Android)

Enhance the Messaging for In-App experience with new Messaging for In-App features. Customize the user experience based on your business hours, send and receive GIFs during conversations, use the conversation list to organize a group of distinct conversations, take advantage of dropdowns in pre-chat forms, and more.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

New Features

  • Improved message search embedded in the existing conversation options screen.
  • Added support for Terms and Conditions:
    • Show the Terms and Conditions UI if it's enabled in the org.
    • Display a spannable string with parsed links.
  • Added support for unknown conversation entries.
  • Added right-to-left (RTL) support.
  • Added support for secure forms.
  • Use Branding Tokens and String Tokens for the Latest Features
    See Customize Colors and Customize Strings.

API Changes

  • Changed API to submit entire remote configuration object instead of pre-chat fields only.
    • ConversationClient.submitRemoteConfiguration(remoteConfiguration: RemoteConfiguration): Result<Conversation?>
    • ConversationClient.retryEntry(conversationEntry: ConversationEntry,remoteConfiguration: RemoteConfiguration): Result<ConversationEntry>
  • Updated Kotlin version to 1.8.
  • New string tokens. See Customize Strings.
    • Terms and Conditions tokens: smi_terms_and_conditions_accept, smi_terms_and_conditions_error
    • Unkown conversation entry token: smi_unknown_entry_message

Bug Fixes

  • Fixed an issue where the agent's attachments may disappear after scrolling the feed.
  • Fixed an issue where tapping on a placeholder image would open the attachment viewer.
  • Improved screen transition animations to better reflect the navigation action.
  • Fixed an issue with the network banner where sometimes it would report no connection when transitioning between Wi-Fi and cellular.
  • Fixed a crash caused by malformed templated URLs.
  • Added missing branding tokens for the search input view and various chat feed breaks (participant changed, auto-response, etc.)

Known Issues

  • If you want to enable Terms and Conditions during mid-conversation pre-chat, for example, to show them for every new session with an agent, go to the Pre-Chat Form settings page of your Embedded Service Deployments page in Setup. Then select Every Session for Pre-Chat Display Frequency and enable a hidden pre-chat field. To learn about and set up pre-chat, see Customize Pre-Chat for Messaging for In-App and Web.
  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.

1.3.0

05 Jun 21:40
Compare
Choose a tag to compare

Release Notes: Messaging for In-App (Android)

Enhance the Messaging for In-App experience with new Messaging for In-App features. Customize the user experience based on your business hours, send and receive GIFs during conversations, use the conversation list to organize a group of distinct conversations, take advantage of dropdowns in pre-chat forms, and more.

To learn more, see the Messaging for In-App Developer Guide.

This page covers the Android release notes. For iOS, see the iOS release notes.

New Features

API Changes

  • Added APIs for conversation list support. See Conversation Lists.
  • Added API for bot options menu.
  • Added API for exposing the currently configured business hours. See Business Hours.
  • Added pre-chat fields for dropdown fields.
  • New branding tokens. See Customize Colors.
    • Client menu tokens: smi_participant_client_menu_background, smi_participant_client_menu_item_text, smi_participant_client_menu_item_background, smi_participant_client_menu_item_icon, smi_participant_client_menu_search_icon, smi_participant_client_menu_item_focus_background
    • List picker token: smi_list_picker_title_background
  • New string tokens. See Customize Strings.
    • Client menu tokens: smi_participant_client_menu_title, participant_client_menu_title_accessibility
    • Business hour tokens: smi_business_hours_outside, smi_business_hours_outside_accessibility
    • Mid-conversation pre-chat tokens: smi_chat_start_conversation, smi_chat_start_conversation_feed_input_text_accessibility, smi_delivery_status_error_additional_information_required
    • Share view tokens: smi_header_share_gif_viewer, smi_header_share_pdf_viewer
    • Other tokens: smi_pre_chat_choice_list_none, smi_misc_unknown
  • Minimum SDK version changed to API Level 23 (Android 6, Marshmallow) from API Level 21.

Bug Fixes

  • Fixed an issue where the network banner didn’t show up when entering a conversation without a network connection.
  • Fixed issue with unused branding tokens (smi_loading_screen_avatar, smi_loading_screen_background, smi_loading_screen_input_text_placeholder). Overriding these tokens should now update their respective UI elements correctly.
  • Fixed a margin issue in the loading view next to the text input.
  • Fixed an issue when reentering a conversation where the local user's messages showed up as a remote user's messages.
  • Fixed an UnsatisfiedLinkError by upgrading the minimum SDK version to API Level 23 (Android 6, Marshmallow) from API Level 21.

Known Issues

  • When a user uploads a file larger than the maximum file size (5 MB), the upload fails without a helpful error message. This is a known issue with the release version of the third-party library that we’re using (OkHttp). We’ll update the library when they release a fixed version.
  • We don’t support implementing user verification alongside anonymous users. Your implementation must be designed for either verified users or unverified users.
  • We support one deployment per app implementation. Workaround: You can enhance your Omni-Channel flow or send additional hidden pre-chat fields to accommodate multiple use cases from a single deployment.
  • When logging in as a verified user (using User Verification), multiple devices can access the same conversation. However, when sending an image from one device, the other device won’t be able to see that image. They see a gray box in place of that image. Images coming from the agent are visible on all devices.
  • When using the SDK in an app in the simulator, if you attempt to attach an image on the simulator by tapping the "Take a Photo" button, nothing happens. Workaround: Use a real device when testing the camera.
  • If a customer sends a message with a URL that starts with a capital letter in the protocol (“Http” instead of “http”), the server incorrectly prepends an additional “http”.