Android Messaging SDK — version 2.8

These are the main feature releases available in the Mobile App Messaging SDK version 2.8 for Android.

Version 2.8 roll-out: October 3rd 2017

Please note the documentation on version-specific system requirements (PDF).

New functionalities

Structured content enablement (GA in SDK)

Type: Feature

Available to all customers? No — early adopters only

The beta version was released in v2.7 (for a full description, refer to the v2.7 release notes). The SDK delivers structured content enablement only; the feature will be made fully productive in October. In v2.8 the feature is enabled by default in the SDK.

The dictionary of template elements can be found here.

What does enablement mean?

Until rollout is complete, the structured content capability in SDK v2.7 was flagged as a Beta feature. The feature has an enablement toggle in the SDK which was disabled by default. In SDK v2.8, it is enabled by default.

The toggle may be switched on or off as part of the SDK implementation within the host app, however it is highly recommended not to release the SDK in the host app with structured content enabled until end to end flow has been fully tested on the brand’s account.

In-app Messaging SDK toggle -

  • Android - enable_structured_content

Related properties: Structured content

The following additional conditions and configurations are required:

Backend update Backend enablement Backend configuration SDK enablement SDK configuration
Yes Yes Yes Yes Yes
Automatic messages for messaging

Type: Feature

Available to all customers? No — early adopters only

Description

Automatic Messages (AKA System Messages) are predefined messages about events that occur in the conversation and are sent to the consumer as the events occur. Their purpose is to gain the consumer’s trust in the messaging channel, by setting expectations and giving the consumer visibility over the agent’s availability.

Auto messages are triggered upon specific events that are detected by the system (e.g. the consumer opens a new conversation, the conversation is transferred to another agent, the time to respond is updated, etc.). When the auto messages are sent, they are displayed to the consumer and the agent within the conversation transcript, and they also appear in the conversation’s history both on the consumer’s side and in LE.

Notes:

  • Messages are supported in all Conversational Cloud languages.
  • The content of each message can be edited by the brand.
  • Skill variation is supported, including enabling/disabling the messages for each skill.
  • Certain messages can have different parameters, such as the time the conversation is in the queue before the message is sent.
  • Dynamic text can be added to the messages, which will be replaced with a runtime value, such as agent name.
  • Auto messages do not affect whom the conversation is pending, nor the time to respond.
  • They are filtered out of the reports by default (unless manually included).

The following auto messages are supported:

  • New conversations

    • A consumer opens a conversation during working hours
    • A consumer opens a conversation for the first time ever, during working hours
  • Off hours

    • A consumer opens a conversation during off hours
    • A consumer opens a conversation for the first time ever, during off hours
    • The consumer sends the first message during off hours in an open conversation
  • Time to respond

    • The response time is updated manually by the agent
    • The consumer marks the conversation as urgent
    • The consumer dismisses the conversation’s urgent state
  • Consumer/Agent non-responsive

    • The consumer has not responded for X seconds/minutes/hours
    • The agent did not respond for X seconds/minutes/hours
    • Conversation is in queue for X mins/hours
  • Transfers and connection to agents

    • The conversation is transferred to a different skill
    • The agent returns the conversation to the queue
    • The consumer is connected to an agent
  • Conversation participants

    • The agent manager joins the conversation
    • The joined agent manager leaves the conversation

How to enable auto messages

Auto messages will be enabled for early adopters upon release. Please contact your account manager for more information.

Notes:

When auto messages are enabled, they are all enabled by default and all have the default text. It is advised to review them immediately and modify them to suit the brand’s needs. Once auto messages are enabled, the SDK does not show toast messages which were presented in the past.

The following messages remain in the SDK:

  • Introduction message from the consumer’s first ever conversation. Make sure you do not have a collision between that message and auto messages.

  • Conversation resolved message

The following additional conditions and configurations are required:

Backend update Backend enablement Backend configuration SDK enablement SDK configuration
Yes Yes Yes Yes Yes
Unread messages badge

When there are unread messages waiting for the consumer within the brand app, this information can be pushed to display in the app’s notification badge. Within the app, brands can develop their own visualization of a badge, such as a number, icon or other marker to show unread messages.

The unread messages number is passed to the SDK through LP Push service with every push.

Note: The number of unread messages are fetched by the API from the pusher regardless of whether it’s registered to the LP push service.

Getting the unread message badge counter

This API method uses a threshold mechanism of 10 seconds from the last time the badge retrieved from the server. If calling this method within less than 10 seconds, the counter will be returned from cache otherwise, it will be fetched again with new data.

Parameters:

  • conversationQuery: conversationQuery: used to identify the related brand

  • completion: called once the operation ends successfully

  • failure: called once the operation failed

Related properties: Unread messages badge Related API: Unread messages badge API

The following additional conditions and configurations are required:

Backend update Backend enablement Backend configuration SDK enablement SDK configuration
Yes No No No Yes

Key for items as follows:

Backend update: This feature requires an update to the backend. Backend enablement: This feature requires items to be toggled on in the backend. Backend configuration: This feature requires configuration in the backend. SDK enablement: This feature requires items to be toggled on in the SDK. SDK configuration: This features requires items to be configured in the SDK.

New properties

Structured Content

The following properties for structured content can now be configured:

Name Description Default
<bool name="enable_structured_content"> Enable or Disable toggle for Structured Content feature in conversations. True

New APIs

Unread Messages Badge APIs
public static void getNumUnreadMessages(String appId, final ICallback<Integer,
Exception> callback) {
   if (!isValidState()) {
       callback.onError(new Exception("SDK not initialized"));
   } else {
       MessagingFactory.getInstance().getController().getUnreadMessagesCount(mBrandId,
appId, callback);
   }
}

To use this API, the SDK must be after initialization.