init method
void
init({
- required String? directory,
- Duration requestTimeout = const Duration(seconds: 10),
- required String rsaPublicKey,
- required String aesKey,
- required CxnParams cxnParams,
- Duration autoPullTime = const Duration(seconds: 20),
- int pullMsgCount = 50,
- List<
CollectionSchema> isarSchemas = const [], - bool isarInspector = false,
- required ConnectListener connectListener,
- required SubscribeCallback subscribeCallback,
- IsarListener? isarListener,
- PullListener? pullListener,
- ConvListener? convListener,
- MsgListener? msgListener,
- NoticeListener? noticeListener,
- UnreadListener? unreadListener,
初始化
Implementation
void init({
required String? directory,
Duration requestTimeout = const Duration(seconds: 10),
required String rsaPublicKey,
required String aesKey,
required CxnParams cxnParams,
Duration autoPullTime = const Duration(seconds: 20),
int pullMsgCount = 50,
List<CollectionSchema> isarSchemas = const [],
bool isarInspector = false,
required ConnectListener connectListener,
required SubscribeCallback subscribeCallback,
IsarListener? isarListener,
PullListener? pullListener,
ConvListener? convListener,
MsgListener? msgListener,
NoticeListener? noticeListener,
UnreadListener? unreadListener,
}) {
if (directory != null && directory.isNotEmpty) {
Hive.init(directory);
}
_xximCore = XXIMCore()
..init(
requestTimeout: requestTimeout,
connectListener: ConnectListener(
onConnecting: connectListener.connecting,
onSuccess: () async {
await Future.doWhile(() async {
await Future.delayed(const Duration(milliseconds: 5));
return !(await setCxnParams(
rsaPublicKey: rsaPublicKey,
aesKey: aesKey,
cxnParams: cxnParams,
));
});
_isCxnParams = true;
connectListener.success();
},
onClose: (code, error) {
_isCxnParams = false;
closePullSubscribe();
connectListener.close(code, error);
},
),
receivePushListener: ReceivePushListener(
onPushMsgDataList: (msgDataList) {
_sdkManager?.onPushMsgDataList(msgDataList.msgDataList);
},
onPushNoticeData: (noticeData) {
_sdkManager?.onPushNoticeData(noticeData);
},
),
);
_sdkManager = SDKManager(
xximCore: _xximCore!,
directory: directory,
autoPullTime: autoPullTime,
pullMsgCount: pullMsgCount,
isarSchemas: isarSchemas,
isarInspector: isarInspector,
subscribeCallback: subscribeCallback,
isarListener: isarListener,
pullListener: pullListener,
convListener: convListener,
msgListener: msgListener,
noticeListener: noticeListener,
unreadListener: unreadListener,
);
msgManager = MsgManager(_sdkManager!);
noticeManager = NoticeManager(_sdkManager!);
convManager = ConvManager(_sdkManager!, msgManager, noticeManager);
}