Zendesk SDK version 3.x.x removes the deprecated APIs from the legacy Messaging module. If your integration uses these APIs, you must migrate to the corresponding APIs exposed by the Zendesk module.

Minimum Android version

Zendesk SDK version 3.x.x requires Android API level 24 or later. Update your app's minSdkVersion to 24 or higher.

Coil dependency

Zendesk SDK version 3.x.x uses Coil version 3.0 or later. If your app declares Coil dependencies directly, update them to Coil 3.x and follow the Coil migration guide for any required package or API changes. Avoid mixing Coil 2.x and Coil 3.x dependencies in the same app.

Removed APIs

The Messaging entry point and its deprecated APIs have been removed. Use the Zendesk instance instead.

RemovedReplacement
Messaging.initialize(...)Zendesk.initialize(...)
Messaging.instance()Zendesk.instance.messaging
Messaging.invalidate()Zendesk.instance.invalidate()
Messaging.setDelegate(...)Zendesk.instance.messaging.setDelegate(...)

The deprecated MessagingDelegate, MessagingError, MessagingResult, SuccessCallback, and FailureCallback types are no longer available. Use the types exposed by the current Zendesk and Messaging APIs, and handle initialization failures as Throwable values.

Initialization

Use Zendesk.initialize and provide a messaging factory. The initialization callback now returns the Zendesk instance, and errors are returned as Throwable objects. See Initialize the SDK for more details.

Kotlin

Zendesk.initialize(    context = this,    channelKey = "<your_channel_key>",    successCallback = { zendesk -> },    failureCallback = { error -> },    messagingFactory = DefaultMessagingFactory())

Java

Zendesk.INSTANCE.initialize(    this,    "<your_channel_key>",    zendesk -> {},    error -> {},    new DefaultMessagingFactory());

Showing Messaging

To show the messaging screen, use the messaging property on the Zendesk instance:

Zendesk.instance.messaging.showMessaging(context)

Unread message count events

The deprecated currentUnreadCount property on UnreadMessageCountChanged is no longer available. Read the total unread message count from data.totalUnreadMessagesCount instead. See Unread message events.

event.data.totalUnreadMessagesCount