IOS-Message-Center
###ios 消息库
1. 结构
2. 设置
-
安装 MessageCenter 库
pod 'MessageCenter' , '~> pod_latest_version'
3. 示例应用
-
为了调试/测试库(能够将库作为应用程序运行),请执行以下操作
-
将库克隆后,cd 进入 Example 目录并运行
pod install
-
示例代码将在 /ios-message-center/Example 中准备好运行,其中包含 ViewController.swift 类
4. 使用
4.1 connect()
-
将应用集成过程中的第一步是在应用启动时进行连接
MessageCenter.connect(with connectionRequest: ConnectionRequest, pushToken: Data?, success: @escaping ConnectionSucceeded, failure: @escaping MessageCenterFailureCompletion)
-
连接请求对象包含以下项目
- var app_id; //应用程序ID(由后端提供)
- var user_id; //用户ID(由后端提供)
- var access_token; //安全访问令牌(由后端提供)
- var client: ClientType; //消息中心是一个基于客户端的服务,现在唯一的客户端是
MessageCenter.CLIENT_SENDBIRD
-
连接请求构造函数
- public init(appId: String, userId: String, accessToken: String, client: ClientType)
-
连接消息中心的示例代码
MessageCenter.connect(connectRequest, pushToken:"xxxxxxxxxxx".data(using: .utf8), success: { (userId) in //Connection Success Handlers }) { (errorCode, message) in //Connection Failure Handlers }
4.2 getUnReadMessagesCount()
-
获取未读消息总数
MessageCenter.getUnReadMessagesCount(forChannel channel: String?, success: @escaping UnReadMessagesSuccessCompletion, failure: @escaping MessageCenterFailureCompletion)
-
如果没有提供chat_id,则SDK将从所有频道检索未读消息的总数。
-
如果提供了chat_id,则SDK将检索指定频道的未读消息总数。
-
检索计数的示例代码
MessageCenter.getUnReadMessagesCount(forChannel: "test_channel", success: { (count) in //Handle Success }) { (code, message) in // Handle Failure }
4.3 openChatView()
- 通过提供的URL(ID)加入聊天
- 加入对话的示例代码
MessageCenter.openChatView("sendbird_group_channel_2456028_1ef918c0149a1f8b0993ae21cb26fa9c16540a91", theme: theme) { (success) in if success == true { } else { } }
- 如果没有提供主题对象,应用将采用默认设置
- 适用于iOS的主题对象包含(
toolbar
,toolbar_subtitle
,welcome_message
)... - 执行此调用将打开聊天窗口
- 如果发生错误,将触发错误回调,其中success将为false
4.4 closeChatView()
- 从应用端关闭聊天视图
- 关闭聊天视图的示例代码
MessageCenter.closeChatView(completion: @escaping () -> Void)
- 执行此接口将在SDK中关闭聊天窗口
4.5 appHandleNotification()
-
检查有效负载是否与MessageCenter通知相关
-
处理App MessageCenter通知的示例代码
MessageCenter.handleMessageNotification([AnyHashable : Any]) -> Bool //Indecating if notification Matched with SDK
4.6 isConnected()
-
当消息中心连接时返回true
-
检查连接的示例代码
MessageCenter.isConnected -> Bool
4.7 disconnect()
-
断开聊天服务并停止接收聊天通知,最佳用法是与用户登出同时使用
-
断开连接的示例代码
MessageCenter.disconnect(completion: @escaping () -> Void)