Android集成Websocket消息实时推送
在使用GoEasy进行消息的接收和发送之前,需要先初始化GoEasy对象, 并建立与GoEasy服务器的连接。
集成Android SDK
添加SDK依赖
dependencies {
implementation 'io.goeasy:goeasy-client-java:0.2.0'
}
Demo源码下载
初始化GoEasy
//初始化GoEasy,新加坡host:singapore.goeasy.io
GoEasy.init("hangzhou.goeasy.io", "您的appkey", this.getApplicationContext());
建立Websocket连接
GoEasy.connect(new ConnectEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy","连接成功");
}
@Override
public void onFailed(GResult error) {
Log.i("GoEasy","Failed to connect GoEasy, code:" + error.getCode() + ",error:" + error.getData());
}
@Override
public void onProgress(int attempts) {
Log.i("GoEasy", "GoEasy connect progress attempts: " + attempts);
}
});
订阅(接收)消息
GPubSub.subscribe("test_channel", new SubscribeEventListener() {
@Override
public void onMessage(PubSubMessage message) {
Log.i("GoEasy",message.getContent());
}
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy","订阅成功");
}
@Override
public void onFailed(GResult error) {
Log.i("GoEasy","订阅失败,错误编码:" + error.getCode() + " 错误信息:" + error.getData());
}
});
发送消息
PublishOptions options = new PublishOptions("test_channel", message);
GPubSub.publish(options, new GoEasyEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy", data.getData().toString());
}
@Override
public void onFailed(GResult error) {
Log.i("GoEasy","消息发送失败,错误编码:" + error.getCode() + " 错误信息:" + error.getData());
}
});
取消订阅
GPubSub.unsubscribe("test_channel", new GoEasyEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy", "unsubscribe Success");
}
@Override
public void onFailed(GResult error) {
Log.i("GoEasy", "unsubscribe Failed, code:" + error.getCode() + " content:" + error.getData());
}
});
断开连接
GoEasy.disconnect(new GoEasyEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy", "Disconnect Success");
}
@Override
public void onFailed(GResult error) {
Log.i("GoEasy", "Disconnect Failed, code:" + error.getCode() + " content:" + error.getData());
}
});