How to display the Help Center's services as modules on your Android app?

How to display the Help Center's services as modules on your Android app?

In this help article, we will learn how to display the individual help center services as modules on the ASAP help Widget. The modules can be viewed based on their default configuration and the settings configured in your Zoho Desk portal. It's important to note that the default configuration of modules may differ depending on the edition of your Zoho Desk account.


To display the SDK Dashboard

The SDK dashboard is the screen through which end-users access your help center services. This dashboard displays icons or buttons that provide access to your Knowledge Base, Community Forums, Support Team (through the ticket submission form), tickets list (a list of tickets submitted by users who are logged in), and Chat (to interact with a customer support agent in real-time).
Notes
The SDK UI does not default to enabling the Chat module. You must first enable it on your Zoho Desk portal.
Include the following code in your chosen method to display the SDK dashboard:
  1. ZDPortalHome.show(MainActivity.this);
Include the following code in your chosen method to override the brand_logo, intro Message, and the welcome message configured on the ASAP help widget:
  1. ZDPortalHome.setConfiguration(new ZDPHomeConfiguration.Builder()
  2. .setBrandIcon(icon_drawable_res)
  3. .setIntroMessage("Intro message... ").setGreetMessage("Greet message... ").build());

To display the SDK Dashboard with overridden configuration

    I    Display selected modules in the SDK dashboard

The SDK enables you to embed your preferred help center services as modules in your application, excluding the other modules.
By default, the modules will be shown based on the portal's and module's configuration. If we need to override those settings on the Android app alone, we can use the following method.

The following method displays the SDK dashboard with its configuration overridden:
  1. ZDPHomeConfiguration config = new ZDPHomeConfiguration.Builder()
        .isKBEnabled(true)
        .isCommunityEnabled(true)
        .isLiveChatEnabled(true)
        .isMyTicketsEnabled(true).build();
    ZDPortalHome.setConfiguration(config);
    ZDPortalHome.show(activity);

    II    Display individual modules without displaying the SDK dashboard

You also have the option to provide access to individual help center services as modules without displaying the SDK dashboard on your application.

The following methods help you display the individual modules with their default configuration:

SalesIQ Chat Module 

Chat provides a real-time communication channel for end-users to interact with a customer support agents.

The following method displays the Chat module:
  1. ZohoDeskPortalSalesIQ.show(activity);
Info
activity is the activity instance that triggers the Chat module.

Knowledge Base Module

The Knowledge Base module enables end-users to access through help articles.

The following method display the Knowledge Base:
  1. ZDPortalKB.show(activity);
Info
activity is the activity instance that triggers the Knowledge Base module.

Submit Tickets 

Submit Ticket is the screen through which end-users can submit their questions/requests as support tickets. It allows support agents to view, track, prioritize, and respond to customer tickets in one place.

The following methods display the Submit Ticket screen.
  1. ZDPortalSubmitTicket.show(activity);
Info
activity is the activity instance that triggers the Submit Ticket module.

My Tickets 

My Tickets is the screen through which end-users can access, track, and edit their submitted tickets.

The following method display the My Tickets screen.
  1. ZDPortalTickets.show(activity);
Info
activity is the activity instance that triggers the My Tickets module.

User Community Module 

User Community is the module through which end-users can access discussion forums and interact with other users to share knowledge.

The following method displays the User Community:
  1. ZDPortalCommunity.show(activity);
Info
activity is the activity instance that triggers the User Community module.

Guided Conversations Module 

Guided Conversations helps end-users find answers themselves or perform a standard process without an agent's assistance by following a pre-built conversation flow.

The following methods display the Guided Conversations:
  1. ZohoDeskPortalChatKit.showGC(activity);

Infoactivity is the activity instance that triggers the Guided Conversations module.

Session Variables

These variables are dynamically retrieved during the bot conversations. These variables are org-specific and accessible across GC flows.
You can perform these actions with the session variable as mentioned:

Set Session Variable:

  1. val sessionVariables = arrayListOf(
                hashMapOf<String, Any>("name" to "YOUR VARIABLE NAME", "value" to "YOUR VARIABLE VALUE"),
                hashMapOf<String, Any>("name" to "YOUR SECOND VARIABLE NAME", "value" to "YOUR VARIABLE VALUE")
            )
    ZohoDeskPortalChatKit.setGCSessionVariable(this, sessionVariables)

Update Session Variable:

  1. val sessionVariables = arrayListOf(
                hashMapOf<String, Any>("name" to "YOUR VARIABLE NAME", "value" to "YOUR VARIABLE VALUE"),
                hashMapOf<String, Any>("name" to "YOUR SECOND VARIABLE NAME", "value" to "YOUR VARIABLE VALUE")
            )
    ZohoDeskPortalChatKit.updateGCSessionVariable(this, sessionVariables)

Answer Bot Module

Answer Bot helps end-users find answers from a bot trained on the available articles in the portal's KB module.


The following methods display the Answer Bot:
  1. ZohoDeskPortalChatKit.showAnswerBot(activity);
Infoactivity is the activity instance that triggers the Answer Bot module.


Business Messaging Module

Business Messaging helps end-users chat with agents directly or with a guided conversation flow.


The following methods display the Business Messaging:
  1. ZohoDeskPortalChatKit.showBM(activity);
Info
activity is the activity instance that triggers the Business Messenger module.

Set Session Variables

You can perform these actions with the session variable as mentioned:
  1. val sessionVariables = arrayListOf(
                hashMapOf<String, Any>("name" to "YOUR VARIABLE NAME", "value" to "YOUR VARIABLE VALUE"),
                hashMapOf<String, Any>("name" to "YOUR SECOND VARIABLE NAME", "value" to "YOUR VARIABLE VALUE")
            )
    ZohoDeskPortalChatKit.setBMSessionVariable(this, sessionVariables)

Update Session Variable:

  1. val sessionVariables = arrayListOf(
                hashMapOf<String, Any>("name" to "YOUR VARIABLE NAME", "value" to "YOUR VARIABLE VALUE"),
                hashMapOf<String, Any>("name" to "YOUR SECOND VARIABLE NAME", "value" to "YOUR VARIABLE VALUE")
            )
    ZohoDeskPortalChatKit.updateBMSessionVariable(this, sessionVariables)

Set the Contact

The following methods will set the contact in Business Messaging:
  1. ZohoDeskPortalChatKit.setBMContactInfo
  2. (context, "userName", "mobileNo", "emailAdd", addInfo)

  3. context = Application Context
  4. userName = Name of the user
  5. mobileNo = Mobile number of the User
  6. emailAdd = Email address of the user.
  7. addInfo = HashMap<String, String>