跳到主要内容

iOS集成Websocket消息实时推送

在使用GoEasy进行消息的接收和发送之前,需要先初始化GoEasy对象, 并建立与GoEasy服务器的连接。

集成iOS SDK

使用CocoaPods集成GoEasy SWIFT SDK到您的项目中

    pod 'GoEasySwift', '0.2.0'

Demo源码下载

Github下载 Gitee下载

初始化GoEasy

    //初始化GoEasy,新加坡host:singapore.goeasy.io
GoEasy.initGoEasy(host: "hangzhou.goeasy.io", appkey: "您的appkey")

建立Websocket连接


let connectEventListener = ConnectEventListener()
connectEventListener.onSuccess = { result in
print("连接成功.")
}
connectEventListener.onFailed = { result in
print("连接失败result:\(result)")
}
connectEventListener.onProgress = { attempts in
print("尝试重连次数:\(attempts)")
}
GoEasy.connect(connectEventListener: connectEventListener)

订阅(接收)消息

    
let subscribeEventListener = SubscribeEventListener()
subscribeEventListener.onSuccess = { result in
print("订阅成功.")
}
subscribeEventListener.onFailed = { result in
print("订阅失败 code:\(result.code) data:\(result.data)")
}
subscribeEventListener.onMessage = { message in
print("收到消息 code:\(message.content)")
}
GPubSub.subscribe(channel: "test_channel", subscribeEventListener: subscribeEventListener)

发送消息


let publishEventListener = GoEasyEventListener()
publishEventListener.onSuccess = { result in
print("发送成功.")
}
publishEventListener.onFailed = { result in
print("发送失败 code:\(result.code) data:\(result.data)")
}
let options = PublishOptions(channel: "test_channel", message: message)
GPubSub.publish(options: options, publishEventListener: publishEventListener)

取消订阅

    
let unsubscribeEventListener = GoEasyEventListener()
unsubscribeEventListener.onSuccess = { result in
print("取消订阅成功.")
}
unsubscribeEventListener.onFailed = { result in
print("取消订阅失败 code:\(result.code) data:\(result.data)")
}
GPubSub.unsubscribe(channel: "test_channel", unsubscribeEventListener: unsubscribeEventListener)


断开连接


let disconnectEventListener = GoEasyEventListener()
disconnectEventListener.onSuccess = { result in
print("断开成功.")
}
disconnectEventListener.onFailed = { result in
print("断开失败 code:\(result.code) data:\(result.data)")
}
GPubSub.disconnect(disconnectEventListener: disconnectEventListener)