Release date: October 08, 2020

Overview

Android Mobile Messaging SDK version 5.4.0 release includes support of auto logout with few bug fixes.

Environment requirements

The Android Mobile Messaging SDK version 5.4.0 uses:

  • Minimum API version 21
  • Compile API version 29
  • Target API version 29
  • Maps SDK "com.google.android.gms:play-services-maps:16.1.0"

(Minimum API version bump to 21. There is a known issue for API 19)

New features

Auto logout — Improve logout options

An SDK enhancement has been added that will prevent a second customer from viewing the chat history of the customer who chatted before them, while optimizing the flow in a way that clears just the necessary set of user information in a quick manner. This new feature adds an additional layer of security to our brand’s while verifying that conversation history and information will only be available to the consumer that was logged in to the app at the time of the conversation.

How to enable

It’s enabled out of the box — there’s nothing the brands need to do.

Note: Auto logout works only for authenticated users.

Attribute update

lp_hide_ui_until_auth is removed. Previous conversations will now not be displayed automatically until the consumer's authentication information is validated.

Retry mechanism update

Notify host app immediately when failed to authenticate consumer instead of performing periodic retries.

New callback

Added following error events and error callback

Intent Action:

ILivePersonIntentAction.LP_ON_ERROR_TYPE_INTENT_ACTION

  • To get the type param from the Intent, use LivePersonIntents.getErrorType(intent).
  • To get the message param from the Intent, use LivePersonIntents.getOnErrorMessage(intent).

Callback:

onError(LpError lpError, String message);

Parameter Type Description
lpError LpError (enum) The error.
message String A detailed message on the error.

More details can be found at LivePerson Callbacks

Added LpError enum

enum class LpError {
  IDP,
  CSDS,
  INVALID_CERTIFICATE,
  SOCKET,
  TIMEOUT,
  INVALID_SDK_VERSION,
  UNKNOWN
}
Type Description
IDP An error occurred during the authentication process, which is usually because of a wrong or expired authentication key.
CSDS Error while requesting domains.
INVALID_CERTIFICATE Error with a peer's certificate (server cert not valid, cert pinning mismatch, etc).
SOCKET Error opening a socket to the server or a request has timed out while trying to reach a server, and as a result we are closing our socket.
TIMEOUT A general timed out error.
INVALID_SDK_VERSION Your host app is using an old SDK version and cannot be initialized.
UNKNOWN General SDK error.

Bugs fixed

  • Android SDK crash due to empty RecyclerView object.
  • “link_preview_enable_feature” configuration is not working as expected.
  • Messaging.reconnect() does not work when the token is not expired.
  • SDK fails to connect when opened a conversation screen using a valid JWT and host app is missing reconnect mechanism.