WebimMobileSDK 3.41.10

WebimMobileSDK 3.41.10

Webim 维护。



  • Webim.ru Ltd.

WebimClientLibrary

此库提供Webim SDK for iOS – 将 Webim 服务集成到您的 iOS 应用程序中的方法。

支持的最低 Webim 服务器版本 – 10.5.30

安装

支持的最低 iOS 版本 – 9.0。

CocoaPods

在您的 Podfile 中为您的目标添加以下行

pod 'WebimClientLibrary', :git => 'https://github.com/webim/webim-client-sdk-ios.git', :tag => '3.40.0'

必须指定 use_frameworks!

Carthage

将以下行添加到您的 Cartfile

github "webim/webim-client-sdk-ios" ~> 3.40.0

Swift Package Manager

  1. 选择文件 > Swift 包 > 添加包依赖项。在“选择包存储库”对话框中输入 https://github.com/webim/webim-client-sdk-ios
  2. 在下一页中,指定版本解析规则为“直到下一个主要版本”,使用最新的 webim-client-sdk-ios 发布版本。
  3. 在 Xcode 检查出了源代码并解析了版本后,您可以选择“WebimClientLibrary”库并将其添加到您的应用程序目标。

其他注意事项

Objective-C

尝试将 WebimClientLibrary 集成到您的 Objective-C 代码中?请使用我们的 WebimClientLibraryWrapper

上一个版本

前一个 Objective-C 版本(版本号 2.x.x)可以从 version2 分支访问。

发布说明

  • 应用重装后删除旧 Keychain 数据。
  • 从配置中检查回复和编辑消息的能力。

示例

Start screen screenshot Classic theme Settings screen screenshot Classic theme Chat screen screenshot Classic theme Image preview screenshot Classic theme Rating window screenshot Classic theme

Start screen screenshot Dark theme Settings screen screenshot Dark theme Chat screen screenshot Dark theme Image preview screenshot Dark theme Rating window screenshot Dark theme

如果您尚未安装 CocoaPods,您应该首先运行 sudo gem install cocoapods

要运行示例项目,首先克隆存储库,然后从 示例 目录中运行 pod install

用法

会话

SDK 功能使用从创建会话对象开始。

Webim 类的方法 newSessionBuilder() 返回会话构建器对象(类 SessionBuilder)(这两个类及其方法在 Webim.swift 文件中有描述)。然后在创建的 SessionBuilder 对象上调用设置会话参数的方法。在设置所有必要的参数之后,需要调用方法 build()。此方法返回 WebimSession 对象。

典型使用示例

let webimSession = try Webim.newSessionBuilder().set(accountName: "ACCOUNT_NAME").set(location: "LOCATION_NAME").build()

创建会话时可设置的参数以及可能抛出的所有错误都在 Webim.swift 文件中有描述。账户名称和位置是其中唯一必须的。

会话创建后,它必须通过 resume() 方法启动(因为会话对象最初是暂停的)。

会话可以被暂停(使用 pause() 方法),恢复(使用 resume() 方法)以及在必要时销毁(使用 destroy() 方法)。这些方法都在 WebimSession.swift 文件中有详细说明。

MessageStream

所有消息流方法都在 MessageStream.swift 文件中给出。

要使用这些方法,需要通过 WebimSession 类对象调用 getStream() 方法来获取 MessageStream 对象。

方法示例:send(message:) - 发送消息,rateOperatorWith(id:byRating:) - 评价操作员,closeChat() - 关闭会话。

MessageTracker

MessageStream 对象通过 newMessageTracker(messageListener:) 方法创建 MessageTracker 对象,它可以用来在应用程序中控制消息流。

例如,使用 getNextMessages(byLimit:completion:) 方法请求从历史记录中获取一定数量的消息。

方法说明可以在 MessageTracker.swift 文件中找到。

MessageListener

MessageListener 协议描述了可以帮助跟踪消息流变化的方法。应用程序必须有一个实现该协议方法的类:added(message:after:)removed(message:)removedAllMessages()changed(message:to:)。当新消息被添加、消息被删除、所有消息被删除以及消息被更改时,分别自动调用这些方法。

完整的方法说明可以在 MessageListener.swift 文件中找到。

消息

MessageListener 协议方法操作 Message 对象,该对象在 Message.swift 文件中进行描述。

可以通过 Message 对象的方法获取特定消息的所有必要信息:唯一的消息编号(getID() 方法)、消息文本(getText() 方法)、附加文件信息(getAttachment() 方法)等。

所有相关的工具(处理附件、消息类型等的函数)也在 Message.swift 文件中进行了描述。

附加功能

获取特定操作员信息的方法在 Operator.swift 文件中进行了描述。操作员对象可以通过 MessageStream 对象的 getCurrentOperator() 方法获取。

通过 Webim 服务的远程通知的处理方法在 WebimRemoteNotification.swift 文件中进行了描述。

可以通过 Webim 类的 parse(remoteNotification:) 方法获取特定的远程通知对象。该类还有一个 isWebim(remoteNotification:) 方法,可以用来简单地发现通知是否由 Webim 服务发送。

FatalErrorHandler.swift 包含了 FatalErrorHandler 协议的描述。应用程序可以通过实现这些方法来自定义跟踪可能出现的错误。所有种类的特定错误都在同一文件中进行了描述。

MessageStream.swift 还包含其他协议的描述,这些协议可以由应用程序类实现以跟踪不同的特定变化。例如,当聊天状态改变时,会调用 ChatStateListener 协议的方法(所有特定的聊天状态都描述在同一文件中)。

远程通知

为了启用远程通知,您应该将您的应用程序证书/私钥发送给我们。有关更多信息,请联系我们的支持!

为了使iOS能够自动处理远程通知,您的应用程序必须了解可能的远程通知类型和参数。

可能的 loc-key

  • P.CR 表示操作员发送了联系信息请求。
  • P.OA 表示操作员接受了聊天。
  • P.OF 表示操作员发送了一个文件。
  • P.OM 表示操作员发送了一条文本消息。
  • P.WM 表示操作员发送了一个小部件消息(为了支持此功能,应联系 Webim 支持)。

此类型使用的 loc-args

  • P.CR:为空。
  • P.OA:操作员姓名。
  • P.OF:操作员姓名,文件名。
  • P.OM:操作员姓名,消息文本。
  • P.WM:为空。

使用字符串本地化文件示例处理远程通知

"P.OM" = "Message from %@ is received: %@."

结论

上述描述的实体和方法涵盖了在 APP 中使用 Webim 服务的所有必要操作,甚至更多。

本手册中描述的功能并非全部现有功能,因此建议在实现必要的最小功能后,熟悉 SDK 公共文件中列出的完整协议和方法列表。

所有公共接口、类和方法均在文件内部描述(按字母顺序)

  • Department.swift,
  • FatalErrorHandler.swift,
  • Message.swift,
  • MessageListener.swift,
  • MessageStream.swift,
  • MessageTracker.swift,
  • Operator.swift,
  • ProvidedAuthorizationTokenStateListener.swift
  • Webim.swift,
  • WebimError.swift,
  • WebimLogger.swift,
  • WebimRemoteNotification.swift,
  • WebimSession.swift.

文档 中提供了每个类、协议、方法等的描述。

附加信息

WebimClientLibrary 使用 SQLite.swift。无需在 Podfile 中添加此依赖项。

为了便于实现多个功能,示例应用使用以下工具(按字母顺序)

许可证

WebimClientLibrary可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。