ChatBird
是一个 Swift 框架,它将 SendBird SDK 与 Chatto 框架 连接起来。SendBird
是一个应用程序内消息平台,但它不提供任何内置的 UI,而 Chatto
是提供构建聊天应用程序 UI 的库之一。然而,这种集成需要一些工作才能完成,这就是 ChatBird
出现的地方!
兼容性
ChatBird 需要 iOS 12+ 并且与 Swift 5 项目兼容。
安装
ChatBird 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 即可:
pod 'ChatBird'
示例
示例项目是了解ChatBird功能和使用的好起点。要运行示例项目,请克隆仓库,然后从示例目录运行pod install
。
设置示例
ChatBird将您的启用SendBird
的消息应用程序与Chatto
集成。要使用ChatBird
- 在
AppDelegate.swift
或其他适当位置(例如,您的根视图控制器)启动时初始化您的SendBird应用程序
ChatBirdManager.shared.initializeSendbird(with: "your-SendBird-app-id")
- 连接到您的SendBird实例
ChatBirdManager.shared.connectSendBird(uuid: "SendBird-user-id", token: "optional-token-for-authentication", completion: (user, error) -> Void)
自定义示例
您可以按需自定义ChatBird体验。默认实现将为您提供一个可用的聊天控制器,但您可以继承ChatViewController
以提供自己的输入表示和消息处理程序,如下所述。
使用
显示聊天视图
要创建并展示一个新的ChatViewController
,请按照如下设置您的代码
let channel: SBDGroupChannel // This is the SendBird Group Channel to present in the chat view
let chatViewController = ChatViewController()
chatViewController.setup(with: channel)
present(chatViewController, animated: true)
如果您跟随示例,则在ChatListController.swift
中点击群聊时展示聊天视图,但在此情况下,我们使用segue进行展示,因为它是设置在Storyboard中的。如果您使用Storyboard,请确保在prepare(for segue:...)
函数中调用(segue.destination as? ChatViewController).setup(with: channel)
。
自定义聊天视图
ChatBird
提供了若干默认设置用于聊天视图的展示。您可以在自己的项目中通过继承 ChatViewController
来自定义聊天视图的显示。通过重写 createChatInputView()
方法来修改输入视图(用户输入的地方)。为了自定义聊天气泡,重写 createPresenterBuilders()
方法。请参考 ChatViewController.swift
示例以了解如何设置这些函数。
添加消息操作
您可以实现符合 MessageHandlerProtocol
协议的类来处理操作(用户点击头像,选择消息等)。您可以实现一个符合 TextMessageMenuItemPresenterProtocol
协议的类,以实现在用户点击聊天项时启用上下文菜单。
请按照上述说明在您重写的函数中引用这些类。请参考 ChatViewController.swift
示例了解如何设置这些函数。
作者
David Rajan, [email protected]
许可证
ChatBird 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。