registerSocketPush method

void registerSocketPush(
  1. dynamic socketUrl
)

Implementation

void registerSocketPush(socketUrl) async {
  if (Platform.isAndroid || Platform.isIOS) return;
  final push = await getPushToken();
  debugPrint("connecting to push socket with URL: $socketUrl");
  final Socket socket = io(
    socketUrl,
    OptionBuilder()
        .setTransports(['websocket'])
        .setAuth({"chatcode": push.pushToken})
        .setExtraHeaders({"chatcode": push.pushToken, "type": "socketPush"})
        .enableReconnection()
        .enableForceNew()
        .enableForceNewConnection()
        .setReconnectionAttempts(double.infinity)
        .setReconnectionDelay(10000)
        .setReconnectionDelayMax(30000)
        .disableAutoConnect()
        .build(),
  );

  socket.on(push.pushToken, (data) {
    debugPrint("on data $data");
    sl<EztoResultService>().onTransactionRequest(data, false);
  });
  socket.on("error", (data) {
    debugPrint("error $data");
  });
  socket.on("connect_error", (data) {
    debugPrint("connect_error $data");
  });
  socket.onConnect(
    (data) {
      debugPrint("onConnect $data");
    },
  );
  socket.onDisconnect(
    (data) {
      debugPrint("onDisconnect $data");
    },
  );
  socket.connect();
}