配置SDK

Zend亚博esk移动sdk为许多可以在代码中定制的特性提供了默认的开箱即用的行为。

使用SDK配置

每一个SDKViewController类具有相应的类实现配置协议。

每一个配置类的外观或行为,可通过设置属性来配置ViewController

你通过一个配置到SDKbuildUI方法的实例,该方法返回ui显示在屏幕上。

定制bot标签字符串

在统一SDK中,您可以自定义用于“Answer Bot”标签的字符串。这个机器人标签用于所有产品SDK的引擎(应答机器人、聊天和支持)。不能删除跟在Bot标签后面的带边框的“Bot”标签。

下面是一个简单的例子,它定制了统一SDK中用于“Answer Bot”标签的字符串。

斯威夫特

             
//构造一个MessagingConfigurationlet messagingConfiguration = messagingConfiguration ()messagingConfiguration.name = "我的机器人名"//显示messagingViewController{做let answerBotEngine = try answerBotEngine .engine()let viewController = try message .instance。buildUI(引擎:[answerBotEngine],配置:[messagingConfiguration])self.navigationController ?。pushViewController(viewController, animated: true)} catch {//执行错误操作

objective - c

             
//构造一个MessagingConfigurationZDKMessagingConfigurationmessagingConfigurationZDKMessagingConfiguration新messagingConfiguration的名字@“我的机器人名字”//显示messagingViewControllerNSError错误ZDKAnswerBotEngineanswerBotEngineZDKAnswerBotEngine engineAndReturnError错误uiviewControllerZDKMessaging实例buildUIWithEngines@id<ZDKEngine>answerBotEngine配置@messagingConfiguration错误错误自我导航控制器pushViewControllerviewController动画是的

请注意虽然Answer Bot是Zendesk的特定产品,但字符串“An亚博swer Bot”默认用于统一SDK中显示的所有自动消息,即使活动引擎不是Answer Bot(例如,支持引擎显示自动消息,提示用户输入电子邮件地址,或确认何时已创建票据)。无论您是否订阅了Answer Bot产品,情况都是如此。

一屏多配置

每一个buildUI的数组为参数配置配置。使用此特性可以同时配置多个屏幕或特性。下面的例子展示了如何自定义“Answer Bot”标签字符串,以及为支持引擎创建的任何请求设置自定义主题和标签:

斯威夫特

             
//构造一个MessagingConfigurationlet messagingConfiguration = messagingConfiguration ()messagingConfiguration.name = "我的机器人名"//构造一个RequestUiConfigurationlet requestConfiguration = RequestUiConfiguration()requestConfiguration。标签=["tag1", "tag2"]requestConfiguration。主题="Custom subject"//显示messagingViewController{做let answerBotEngine = try answerBotEngine .engine()let viewController = try message .instance。buildUI(引擎:[answerBotEngine],配置:[messagingConfiguration, requestConfiguration])self.navigationController ?。pushViewController(viewController, animated: true)} catch {//执行错误操作

objective - c

             
//构造一个MessagingConfigurationZDKMessagingConfigurationmessagingConfigurationZDKMessagingConfiguration新messagingConfiguration的名字@“我的机器人名字”//构造一个RequestUiConfurationZDKRequestUiConfigurationrequestConfigurationZDKRequestUiConfiguration新requestConfiguration标签@@“标签1”@“标签2”requestConfiguration主题@“自定义主题”//显示messagingViewControllerNSError错误ZDKSupportEnginesupportEngineZDKSupportEngine engineAndReturnError错误uimessagingViewControllerZDKMessaging实例buildUIWithEngines@supportEngine配置@messagingConfigurationrequestConfiguration错误错误

详情请参见运行Answer Bot引擎而且运行支持引擎.关于聊天引擎,请直接参考聊天SDK v2 -入门
有关MessagingActivity的信息,请参见使用多个引擎的MessagingActivity流看起来是什么样的

多屏多配置

还可以使用以下模式配置多个SDKui在一次。例如,在使用Support SDK时,您可以配置Help Center屏幕和Article屏幕,以使用Answer Bot和Support引擎打开Messaging屏幕。下面是如何一次配置所有这些:

斯威夫特

             
//构造引擎守卫let answerBotEngine =试试?AnswerBotEngine.engine (),let supportEngine = try?supportenengine .engine() else {//做某事//构造一个HelpCenterUiConfigurationlet helpCenterConfiguration = HelpCenterUiConfiguration()helpCenterConfiguration。引擎= [answerBotEngine, supportEngine]helpCenterConfiguration。labels = ["iOS"]//构造一个ArticleUiConfigurationlet article econfiguration = ArticleUiConfiguration()articleConfiguration。引擎= [answerBotEngine, supportEngine]//构造一个MessagingConfigurationlet messagingConfiguration = messagingConfiguration ()messagingConfiguration.name = "我的机器人名"//构造一个RequestUiConfigurationlet requestConfiguration = RequestUiConfiguration()requestConfiguration。标签=["tag1", "tag2"]requestConfiguration。主题="Custom subject"//显示helpCenterViewControllerlet helpCenter = HelpCenterUi。buildhelpcenterovervieui (withConfigs: [helpCenterConfiguration, articleeconfiguration, messagingConfiguration, requestConfiguration])self.navigationController ?。pushViewController(helpCenter, animated: true)

objective - c

             
//构造引擎NSError错误ZDKSupportEnginesupportEngineZDKSupportEngine engineAndReturnError错误ZDKAnswerBotEngineanswerBotEngineZDKAnswerBotEngine engineAndReturnError错误//构造一个HelpCenterUiConfigurationZDKHelpCenterUiConfigurationhelpCenterConfigurationZDKHelpCenterUiConfiguration新helpCenterConfiguration setObjcEngines@answerBotEnginesupportEnginehelpCenterConfiguration setLabels@@“iOS”//构造一个ArticleUiConfigurationZDKArticleUiConfigurationarticleConfigurationZDKArticleUiConfiguration新articleConfiguration setObjcEngines@answerBotEnginesupportEngine//构造一个MessagingConfigurationZDKMessagingConfigurationmessagingConfigurationZDKMessagingConfiguration新messagingConfiguration的名字@“我的机器人名字”//构造一个RequestUiConfurationZDKRequestUiConfigurationrequestConfigurationZDKRequestUiConfiguration新requestConfiguration标签@@“标签1”@“标签2”requestConfiguration主题@“自定义主题”//显示helpCenterViewControlleruihelpCenterZDKHelpCenterUi buildHelpCenterOverviewUiWithConfigs@helpCenterConfigurationarticleConfigurationmessagingConfigurationrequestConfiguration自我导航控制器pushViewControllerhelpCenter动画是的

自定义URL处理

您可以自定义统一SDK与URL处理相关的行为messagingShouldOpenURL委托方法,如下面的代码示例所示。

斯威夫特

  1. 为设置委托消息传递

                   
    message .instance.delegate = self
  2. 在委托方法中处理URLfunc message (_ messaging: messaging, shouldOpenURL url: url) -> Bool

                   
    func message (_ messaging: messaging, shouldOpenURL url: url) -> Bool {//默认情况下,对话中共享的链接在Safari中打开真正的

objective - c

  1. 为设置委托消息传递

                   
    ZDKMessaging实例委托自我
  2. 在委托方法中处理URL- (BOOL)messaging:(ZDKMessaging *)messaging shouldOpenURL:(NSURL *)url

                   
    -保龄球消息传递ZDKMessaging消息传递shouldOpenURLNSURLurl//默认情况下,对话中共享的链接在Safari中打开返回是的

观察UI生命周期事件

您可以按照下面示例中的步骤观察UI生命周期事件。下面的示例将显示可能发生的事件的完整列表。

斯威夫特

  1. 为设置委托消息传递

                   
    message .instance.delegate = self
  2. 在委托方法中处理事件func message (_ messaging: messaging, didPerformEvent event: MessagingUIEvent, context: Any?)

                   
    扩展ZendeskC亚博hat: MessagingDelegate {func message (_ messaging: messaging, didPerformEvent event: MessagingUIEvent, context: Any?) {开关事件{案例.viewDidLoad:打破@unknown默认值:打破

objective - c

  1. 为设置委托消息传递

                   
    ZDKMessaging实例委托自我
  2. 在委托方法中处理事件- (void)messaging:(ZDKMessaging * _Nonnull)messaging didPerformEvent:(enum ZDKMessagingUIEvent)event context:(id _Nullable)context

                   
    -无效消息传递ZDKMessaging_Nonnull消息传递didPerformEvent枚举ZDKMessagingUIEvent事件上下文id _Nullable上下文开关事件情况下ZDKMessagingUIEventViewDidLoad打破默认的打破

下表列出了所有可以观察到的生命周期事件。

事件 描述
.viewDidLoad 视图已经加载
.viewWillAppear 视图就会出现
.viewDidAppear 视图确实出现了
.viewWillDisappear 视图就会消失
.viewDidDisappear 景色确实消失了
.viewDidLayoutSubviews 视图已经布局了子视图
.viewControllerDidClose 消息传递视图控制器已关闭