MessageCenter 0.1.42

MessageCenter 0.1.42

cElite DevIkarma KhanAftab Baig 维护。



 
依赖
SendBirdSDK>= 0
AlamofireImage>= 0
MGSwipeTableCell>= 0
FLAnimatedImage~> 1.0
NYTPhotoViewer~> 1.1.0
TTTAttributedLabel>= 0
CryptoSwift>= 0
HTMLKit>= 0
Toast~> 4.0.0
 

  • 作者
  • cEliteDev

IOS-Message-Center

###ios 消息库

1. 结构

Screenshot

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的主题对象包含(toolbartoolbar_subtitlewelcome_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)