网络配置
网络客户端为Sign、Auth和Chat sdk提供传输层。您可以配置它一次,每个SDK将通过网络客户端的相同实例传输协议消息,只有一个打开的WebSocket连接。
设置网络客户端
安装网络客户端在使用Sign或Auth SDK之前,需要配置一个共享的网络客户端实例。设置在WalletConnect Cloud和SocketFactory实例上启动项目时生成的项目ID。
WalletConnect Swift SDK不依赖于任何websocket库。SocketFactory参数允许你传递自己的websocket连接实现。
下面是一个使用红蜘蛛v3实现WebSocketFactory的例子
import Starscream
extension WebSocket: WebSocketConnecting { }
struct SocketFactory: WebSocketFactory {
func create(with url: URL) -> WebSocketConnecting {
return WebSocket(url: url)
}
}
网络客户端配置
Networking.configure(projectId: <String>, socketFactory: SocketFactory())
Web Socket 连接
默认情况下,webSocket连接由SDK内部处理。这意味着当应用程序进入后台时,WebSocket将安全断开,当应用程序到达前台时,它将重新连接。但如果你的应用不需要它,你想手动处理Socket连接,你可以这样做:
- 设置socketConnectionType为manual
Networking.configure(projectId: <String>, socketFactory: SocketFactory(), socketConnectionType: .manual)
- 控制Socket连接:
try Networking.instance.connect()
try Networking.instance.disconnect()