create method
Implementation
Future<void> create({
required int appID,
required String signOrToken,
Map<String, Object> params = const {},
}) async {
ZegoLoggerService.logInfo(
'appID:$appID, params:$params',
tag: 'uikit-reporter',
subTag: 'create',
);
assert(appID != -1);
if (hadCreated) {
ZegoLoggerService.logInfo(
'had created before',
tag: 'uikit-reporter',
subTag: 'create',
);
if (this.appID != appID) {
ZegoLoggerService.logInfo(
'app id is not equal, old:${this.appID}, now:$appID, '
're-create...',
tag: 'uikit-reporter',
subTag: 'create',
);
return destroy().then((_) {
ZegoLoggerService.logInfo(
're-create, destroyed, create now..',
tag: 'uikit-reporter',
subTag: 'create',
);
create(
appID: appID,
signOrToken: signOrToken,
params: params,
);
});
}
if (params.isNotEmpty) {
ZegoLoggerService.logInfo(
'update common params',
tag: 'uikit-reporter',
subTag: 'create',
);
final uikitVersion = await ZegoUIKit().getZegoUIKitVersion();
params.addAll({
eventKeyPlatform: 'flutter',
eventKeyUIKitVersion: uikitVersion,
});
updateCommonParams(params);
}
return;
}
ZegoLoggerService.logInfo(
'create',
tag: 'uikit-reporter',
subTag: 'create',
);
hadCreated = true;
this.appID = appID;
final uikitVersion = await ZegoUIKit().getZegoUIKitVersion();
if (params.isEmpty) {
params = {
eventKeyPlatform: 'flutter',
eventKeyUIKitVersion: uikitVersion,
};
} else {
params.addAll({
eventKeyPlatform: 'flutter',
eventKeyUIKitVersion: uikitVersion,
});
}
await ZegoUIKitPluginPlatform.instance.reporterCreate(
appID: appID,
signOrToken: signOrToken,
params: params,
);
}