我在我的应用中使用 pusher 从服务器获取一些应用内的实时值。
我订阅了静态 channelName,但不知何故,如果用户长时间打开应用程序,则无法从服务器获取数据,如果用户重新启动应用程序,则它可以正常工作。
在推送器仪表板中它运行良好并向用户显示数据,但事实并非如此。
当我在 pusher 上阅读时,我发现有乒乓球,但是,即使我增加了乒乓球时间,它也失败了
这是我的代码:
1- 用于推送器和通道创建(在创建时调用):
options = new PusherOptions();
String APP_CLUSTER = "APP_CLUSTER ";
options.setCluster(APP_CLUSTER);
String APP_KEY = "APP_KEY ";
pusher = new Pusher(APP_KEY, options);
pusher.connect(new ConnectionEventListener() {
@Override
public void onConnectionStateChange(ConnectionStateChange change) {
Log.e("PUSHER SUCCESS => ", change.getCurrentState().name());
}
@Override
public void onError(String message, String code, Exception e) {
Log.e("PUSHER FAILED => ", message);
}
}, ConnectionState.ALL);
2-通道绑定和订阅(在 onResume 中调用):
channel = pusher.subscribe("xxx");
channel.bind("MessageCreated", event -> {
Log.e("PUSHER DATA => ", event.getData());
});
3- 频道取消订阅(在 onPause 中调用):
pusher.unsubscribe("xxx");
4- 断开推送器(在 onDestroy 中调用):
pusher.disconnect();
我希望如果有人能给我一些用户断开连接的原因,谁能告诉我