ChatBird 1.0.0

ChatBird 1.0.0

David Rajan维护。



 
依赖项
SendBirdSDK>= 0
Chatto>= 0
ChattoAdditions>= 0
Nuke>= 0
 

ChatBird 1.0.0

  • 作者
  • David Rajan

ChatBird Version License Platform

ChatBird 是一个 Swift 框架,它将 SendBird SDKChatto 框架 连接起来。SendBird 是一个应用程序内消息平台,但它不提供任何内置的 UI,而 Chatto 是提供构建聊天应用程序 UI 的库之一。然而,这种集成需要一些工作才能完成,这就是 ChatBird 出现的地方!

ChatBird Screenshot

兼容性

ChatBird 需要 iOS 12+ 并且与 Swift 5 项目兼容。

安装

ChatBird 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 即可:

pod 'ChatBird'

示例

示例项目是了解ChatBird功能和使用的好起点。要运行示例项目,请克隆仓库,然后从示例目录运行pod install

设置示例

ChatBird将您的启用SendBird的消息应用程序与Chatto集成。要使用ChatBird

  1. AppDelegate.swift或其他适当位置(例如,您的根视图控制器)启动时初始化您的SendBird应用程序
ChatBirdManager.shared.initializeSendbird(with: "your-SendBird-app-id")
  1. 连接到您的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 文件。