Migration Guide

The Unified SDK marks a huge change from our earlier versions of the Support SDK and Answer Bot SDK. Messaging is now the central UI element of the suite of Zendesk mobile SDKs, and is the preferred method for interacting with Support and Answer Bot.

Migrating Answer Bot SDK

AnswerBotUI has been removed. If you were using AnswerBotUI, you should now use Messaging with an instance of AnswerBotEngine.

To initialize Answer Bot, use the initialize method of the AnswerBot class instead of the corresponding method of the AnswerBotUI class.

See Answer Bot Engine for details on how to do this.

Migrating Support SDK

As of the 5.0.0 release of the Support SDK, the framework has been renamed from the ZendeskSDK to SupportSDK. The Support Providers SDK has also been renamed from ZendeskProviderSDK to SupportProvidersSDK. This means that anywhere in your code you have imported the ZendeskSDK or ZendeskProviderSDK will need to be updated.

The framework also now has some additional dependencies. Integrations of the Support SDK must include the MessagingSDK, MessagingAPI, and SDKConfigurations frameworks as dependencies of your Xcode project.

All the Support SDK's controllers (RequestController, RequestListViewController, HelpCenterOverviewController and ViewArticleController) are still available. Any existing integration with these controllers in your app should still continue to function as they did on previous versions of Support SDK.

To use the Unified SDK for simple ticket creation, use Messaging with an instance of SupportEngine, as described in Support Engine. Unified SDK can not currently be used to show or update an existing ticket. You should continue to use RequestController to do this.

Moving to Messaging for ticket creation also allows you to make use of Answer Bot for deflection before the ticket has been created. See Answer Bot Engine for details.

Updated Objective-C Headers

In order to allow an easier migration between the Classic SDKs and the Zendesk SDKs and enable compatibility, Objective-C headers on the Messaging SDK version 5.0.0 and Zendesk Core SDK version 4.0.0 have been updated. SDKs depending on the Messaging SDK and the Zendesk Core SDK must be updated to their latest versions to work with the updated headers.

The following is a list of the updated headers:

Messaging SDK

  • ZDKMessaging is renamed to ZDKClassicMessaging.
  • ZDKMessagingConfiguration is renamed to ZDKClassicMessagingConfiguration.
  • ZDKMessagingDelegate is renamed to ZDKClassicMessagingDelegate.
  • ZDKMessagingUIEvent is renamed to ZDKClassicMessagingUIEvent.

Zendesk Core SDK

  • ZDKZendesk is renamed to ZDKClassicZendesk.
  • ZDKPushProvider is renamed to ZDKClassicPushProvider.
  • ZDKUserProvider is renamed to ZDKClassicUserProvider.
  • ZDKCoreLogger is renamed to ZDKClassicCoreLogger.
  • ZDKLogLevel is renamed to ZDKClassicLogLevel.
  • ZDKUser is renamed to ZDKClassicUser.
  • ZDKUserField is renamed to ZDKClassicUserField.
  • ZDKUserFieldOption is renamed to ZDKClassicUserFieldOption.
  • ZDKIdentityType is renamed to ZDKClassicIdentityType.
  • ZDKHelpCenterUtil is renamed to ZDKClassicHelpCenterUtil.