-
Notifications
You must be signed in to change notification settings - Fork 5
/
main_flutter_stream.dart
39 lines (37 loc) · 1.28 KB
/
main_flutter_stream.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import 'package:flutter/material.dart';
import 'package:bybit/bybit.dart';
/// Just a container that shows the outputs of the ByBit stream
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
var bybit = ByBit(websocketUrl: 'wss://stream.bytick.com/realtime');
bybit.connect();
bybit.getServerTimePeriodic(period: Duration(seconds: 5));
bybit.getAnnouncementPeriodic(period: Duration(seconds: 5));
bybit.getOpenInterestPeriodic(
symbol: 'ETHUSD',
interval: '15min',
period: Duration(seconds: 2),
limit: 3);
bybit.subscribeToKlines(symbol: 'ETHUSD', interval: '1');
bybit.subscribeToKlines(symbol: 'BTCUSD', interval: 'D');
bybit.subscribeToOrderBook(depth: 25);
return StreamBuilder(
stream: bybit.stream,
builder: (context, bybitResponse) {
// Handle the bybit response here
if (bybitResponse.hasData && bybitResponse.data != null) {
//print('From WebSocket: ' + bybitResponse.data.toString());
return Container(child: Text(bybitResponse.data.toString()));
} else {
return Container();
}
},
);
}
}
void main() {
runApp(MaterialApp(
home: Container(height: 300, color: Colors.blue, child: Example()),
));
}