You can provide messaging functionality on your mobile app through Android, iOS, and Unity SDKs. You can customize and configure an SDK's appearance and other settings in the Admin Center, then provide your developer with the Channel ID they will need to complete the integration following the official developer documentation.
This article includes the following topics:
Creating a new mobile channel for messaging
Before configuring the Android, iOS, or Unity SDK, you'll need to create your mobile channel in the Zendesk Admin Center and then assign it to a brand before you can customize and configure it, as described below.
To create a new Android/iOS channel
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the Add Channel button, then select your channel: Android, iOS, or Unity.
- On the Add Android/iOS/Unity SDK page, configure each of the sections:
- Start with the basics: Enter a channel name. If your account has multiple brands, use the drop-down menu to select a brand. Click Next.
- Install in your app: Copy the Channel ID that your development team can use to install the mobile SDK into your app. Use the provided link to view detailed instructions for installing your selected SDK. Click Next.
-
Make it your own: Select a Primary color using the
picker or by entering a hexadecimal number. Enter a channel title to
display in the messaging header. You can refine these selections later
in the configuration sections. Click
Next.
The channel's edit page opens, where you can continue configuring your mobile SDK's appearance and messaging behavior.
Customizing and configuring the Zendesk mobile SDKs
Zendesk mobile SDKs include multiple components that you can customize to best represent your business. The settings described in this section are used to configure how messaging looks and behaves in your mobile app.
To configure messaging for your mobile channel
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the mobile channel you want to update.
- Click the tab with the components you want to customize. Use the links below
to view more detailed information on the options available on each tab:
- Basics (channel name)
- Style (SDK appearance)
- Responses(Business hours, first message, and conversation bot activation)
- Notifications (Push notification settings – Android and iOS only)
- Authentication (Security settings)
- Installation (Channel ID and help center embed)
The Basics tab
The Basics tab includes an editable Channel name field.
The Channel name field is populated with the name used in the initial channel setup. Update this name if needed to make it easy to identify in your channels list.
Click Save after making any updates.
The Style tab
The Style tab includes the appearance-related components of the SDK.
You can update the following:
- Primary color, the main color of the launcher button and SDK header. Enter a hexadecimal number, or click the color swatch to open a color picker.
- Message color, the color of the bubble around customer messages. Enter a hexadecimal number, or click the color swatch to open a color picker.
- Action color, the color of any buttons or tappable elements in the conversation, such as Quick Reply messages. Enter a hexadecimal number, or click the color swatch to open a color picker.
- Title, text which appears at the top of the SDK's conversation screen – usually your business or brand name.
- Description (optional) a short piece of text under the title. This can be information you want to share or a tagline, for example. Enter the description in the text box.
Click Save after making any updates.
The Responses tab
Applying Support schedules to the channel
When you apply an established Support schedule to your mobile channel, you can create different responses for customers based on whether they contact you during or outside of your set office hours. You can apply any of your Support schedules to the responses.
To apply a business hours schedule to your mobile channel
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the name of the channel you want to edit. The Edit channel page opens.
- Click the Responses tab.
- Expand the Business hours section, and use the drop-down to select a saved Support schedule. If you have not created a Support schedule, you can skip this step.
- Expand the Response during business hours section and update as described in Customizing the default messaging response. Repeat for the Response outside of business hours section, if applicable.
- Click Save.
If you remove the business hours schedule, the Response during business hours settings are applied.
Customizing the default messaging response
Whether you are using the business hours option or not, you can customize the response your customers receive when they launch a conversation.
To customize your automated response
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the name of the channel you want to edit. The Edit channel page opens.
- Click the Responses tab.
- Expand the Response during business hours section. The default messaging response information is displayed in the text boxes.
- Update the following:
- First message: Use the default message ("We're offline right now. Leave your details so we can get back to you later.”), or enter custom text that appears when a customer initiates a messaging conversation in your mobile app.
-
Customer details: Use the drop-down to select the
information (Name and/or Email) you want to request from
the customer before transferring them to an agent.
Customers must enter information into these fields
before being handed off to an agent.
Note: These settings may be impacted by your end-user authentication configuration.
- Follow-up message: Enter the text that appears after the customer submits the requested details.
- If you're using business hours, expand the Response outside of business hours section and update the information as described in the previous step.
- Click Save.
Adding a conversation bot
At the bottom of the section, you have the option to add a conversation bot to your messaging configuration, which allows you to offer highly customized and automated support to your customers.
See Creating a conversation bot for your web and mobile channels.
If you have already created a conversation bot, you have the option of deactivating it and returning to the default messaging response.
![](https://zen-marketing-documentation.s3.amazonaws.com/docs/en/responses_ww_disable_bot.png)
The Notifications tab (Android and iOS only)
The Notifications tab is where you can set up push notifications for the Zendesk Android or iOS SDK.
The required steps for configuring Android and iOS notifications differ. Choose the procedure below that matches your setup.
To configure push notifications for your Android channel
First, create your service account key JSON file which contains your credentials needed for the next steps.
- In the Firebase console, create a new project if you do not already have one.
- Click Settings > Service Accounts.
- Click Generate New Private Key, then confirm by clicking Generate Key.
- Save the JSON file to a secure location.
In most migration scenarios, the Firebase Cloud Messaging (FCM) v1 API is enabled by default. If you encounter errors when trying to contact the endpoint, ensure that Firebase Cloud Messaging API is enabled in the list of APIs and services within the Google Cloud console.
Now configure the notifications in Admin Center.
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the name of the channel you want to edit. The Edit channel page opens.
- Click the Notifications tab.
- Enter the following information using the contents of the
service account key JSON file you downloaded above:
- project ID: A unique identifier for your Firebase project.
- Private key: A key that Firebase uses for server-to-server communication.
- client email: The client email address (also called a service account email) associated with the Firebase project.
- Click Save.
- Complete the steps described in the Zendesk Developers guide for setting up push notifications for Android.
To configure push notifications for your iOS channel, you'll need an Apple developer account and a .p12 file from APNs. If you already have these, you can skip to configuring push notifications for your iOS channel.
To create an Apple developer account, enroll here.
After you're enrolled, you can generate the .p12 file using these instructions from the Apple developer website.
To generate a .p12 file
- Log in to the Apple Developer Member Center and navigate to the certificates list.
- Click the + button at the top of the page to create a new certificate, and select Apple Push Notification service SSL (Sandbox & Production).
- Select your app ID from the drop-down and click continue.
- Follow the instructions to generate a Certificate Signing Request (CSR) using Keychain Access, and upload it to generate your certificate.
- Once the certificate is ready, download it to your computer and double-click it to open it in Keychain Access.
- Right-click the certificate you created, and select Export "Apple Push Services: {your-app-id}."
- Choose a password and save the .p12 file to your computer.
Now, you're ready to configure your push notifications.
To configure push notifications for your iOS channel
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Click the name of the channel you want to edit. The Edit channel page opens.
- Click the Notifications tab.
- Upload the .p12 file from APNs and enter the certificate password.
- Click Save.
- Complete the steps described in the Zendesk Developers guide for setting up push notifications for iOS.
The Authentication section
Installing messaging on your mobile app
To install messaging on your mobile app, your you'll need to give your developers a Channel key. You can find the Channel key, along with a link to the Zendesk developer documentation, in the Installation section.
![](https://zen-marketing-documentation.s3.amazonaws.com/docs/en/mobile_sdk_installation_tab.png)
To obtain the Channel ID
- In Admin Center, click
Channels in the sidebar, then select Messaging and social > Messaging.
- Hover your cursor over the brand you want to update, click the options icon
(
), then click Edit.
- Click the Installation section.
- Under Channel ID, click the Copy button to save the key to your clipboard.
- Send this information to your developers.
17 comments
Luhung
hi.. i have some problem with zendesk messaging sdk for android..
our existing apps using okhttp3 and we cant upgrading this because its risk..
sdk messaging using okhttp4.. when we force okhttp4 to okhttp3, messaging sdk is not working..
how to implement android messaging sdk in existing apps with okhttp3?
0
Eric Nelson
To use okhttp3, the latest version of the messaging sdk that you'll be able to use is 5.0.1 and 3.1.0 for the chat sdk. Any later versions will require okhttp4.
Hope this helps!
0
Tiberiu Popescu
Hey, is it possible to add a header or a close button with the messaging SDK?![](/hc/user_images/k-FIUOyC9hYRvm2pZnlWwg.jpeg)
My widget is working fine, but no header and no close button.
0
Eric Nelson
Unfortunately as these SDK's are still very new we have limited ability for customizing them at this time, we talk about it here.
0
Tiberiu Popescu
Eric Nelson
So it is not possible to add a Back or Close(x) button to close the widget?
Right now the only way to close it is to scroll through all the conversation to the end and then it will close this Modal, it is bad user experience.
0
Eric Nelson
Not that I'm aware of as these SDK's are still pretty new, though I'm looping in the dev team who owns these SDK's to confirm. I'll let you know if they say otherwise.
1
Danilo Figueiredo
Hey Zendesk team.
I'm unable to get the push notifications to work in iOS. I had a ticket open about this #9868566 and unfortunately it has been closed.
As far as I can see, the Zendesk Messaging doesn't support the sandbox p12, which makes it hard to test in debug mode.
I have tried installing `AppStore` provisioning profiles signed builds (via TestFlight) and `AdHoc` provisioning profiles signed builds (via Xcode) in my iPhone, which should take the production p12. However, I'm still unable to see any push notifications.
I'm 100% sure I uploaded a valid production p12 file as I use the same one in other push notifications services that work fine.
I'm using the SDK v2.1.0 and have followed those instructions https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/push_notifications/. I'm also testing with a sandbox Zendesk account and am able to display the chat without issues.
I'd like to know what I'm missing here. My app hasn't implemented end user authentication. It should still work as the push notifications feature was present before end user auth, right? First of all, could you please let me know when push notification would be delivered? It would be great to see a demo video showing push notifications working in an iOS app (and Android too) as well as a demo repo.
Thanks in advance!
Danilo
2
Whatdoesthemolesay Ohaio
Eric Nelson
How can we track dismissal of zendesk ui view?
0
Nelson Rivera
Danilo Figueiredo I'm having the same notifications issue on my production chat environment. There's a thread about it here: https://support.zendesk.com/hc/en-us/community/posts/4420341629850-New-Apple-Intermediate-certificate-for-Push-Notifications?page=1#community_comment_4422847761178
Hopefully if more people complain they look into it faster, but you never know with Zendesk and their poor technical support.
1
Dheeraj Giroti
Hi , Facing Few issue with Mobile Messaging , trying to contact the customer support , but no resolution till now even no ETA for same has been provided.
Issues - 1. Bot responses being added on top of your first reply and not giving the option to continue - Android 11 Samsung
2. Crash For Android 12 via selecting image from Camera from Zendesk AttachmentActivity
Logs
Caused by java.lang.IllegalArgumentException
Couldn't find meta-data for provider with authority com.zendesk.native_messaging.fileprovider
androidx.core.content.FileProvider.parsePathStrategy (FileProvider.java:662)
androidx.core.content.FileProvider.getUriForFile (FileProvider.java:441)
zendesk.messaging.android.internal.conversationscreen.attachments.AttachmentActivity.startCamera (AttachmentActivity.kt:220)
0
Xinran Wang
Danilo Figueiredo Were you able to get zendesk messaging push notifications working? Having the same problems right now as your last message and at this point, not sure if it's a me problem or a Zendesk problem
0
Promise Ochornma
On the android sdk, when talk to a human is clicked, it does connect the user to a human support representative.
![](/hc/user_images/tc196phe4pTDFwqp5IhXIQ.jpeg)
0
Feby
Hi, can we install 2 different bot in 1 android apk?
for example: on the home screen I will show bot1, then if the user click on the payment section it will show bot2.
0
Lillian Chuang
Hi Zendesk team,
I would like to know how my team can add "back" button to messaging. Based on above comment, it seems that some people have while some people don't? Thank you.
1
Dane
As it turns out the actual back button is not yet supported in Flow Builder. You can engage on similar requests. Conversations with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning.
0
Andrea Houg
We are migrating our mobile app to the new Messaging SDK.
Is there a way to automatically request the user’s contact information, like the pre-chat form in the old SDK?
Also, is there a way to add freeform information, like we used to do with `Chat.instance.profileProvider.setNote()` and `Chat.INSTANCE.providers().profileProvider().setVisitorNote()`?
0
Gary Beichler
Updates to Android notification steps because of Google Firebase changes.
0