toMap method
Implementation
Map<String, dynamic> toMap() {
final date = DateTime.now();
return {
'apiVersion': "1.0",
'counterId' : counterId ?? '',
'timestamp': date.toUtc().millisecondsSinceEpoch ~/ 1000,
'channelType': "CustomScript",
'user_id': userId.toString(),
'channelName' : "RegEvents API",
'eventCaption': eventType ?? '',
'customparams': [
if(latitude != null)
{
'name': 'latitude',
'type': 'STRING',
'value': latitude,
},
if(longitude != null)
{
'name': 'latitude',
'type': 'STRING',
'value': longitude,
},
if(osName != null)
{
'name': 'osName',
'type': 'STRING',
'value': osName,
},
if(deviceName != null)
{
'name': 'deviceName',
'type': 'STRING',
'value': deviceName,
},
if(libraryVersion != null)
{
'name': 'libraryVersion',
'type': 'STRING',
'value': libraryVersion,
},
if(ipAddress != null)
{
'name': 'ipAddress',
'type': 'STRING',
'value': ipAddress,
},
if(deviceId != null)
{
'name': 'deviceId',
'type': 'STRING',
'value': deviceId,
},
if(userId != null)
{
'name': 'userId',
'type': 'STRING',
'value': userId,
},
if(sessionId != null)
{
'name': 'sessionId',
'type': 'STRING',
'value': sessionId,
},
if(appScreen != null)
{
'name': 'appScreen',
'type': 'STRING',
'value': appScreen,
},
if(osVersion != null)
{
'name': 'osVersion',
'type': 'STRING',
'value': osVersion,
},
if(appVersion != null)
{
'name': 'appVersion',
'type': 'STRING',
'value': appVersion,
},
if(appName != null)
{
'name': 'appName',
'type': 'STRING',
'value': appName,
},
if(platform != null)
{
'name': 'platform',
'type': 'STRING',
'value': platform,
},
if(language != null)
{
'name': 'language',
'type': 'STRING',
'value': language,
},
if(resolutionWidth != null)
{
'name': 'resolutionWidth',
'type': 'STRING',
'value': resolutionWidth,
},
if(resolutionHeight != null)
{
'name': 'resolutionHeight',
'type': 'STRING',
'value': resolutionHeight,
},
...?customParam?.keys.map((e) {
if(customParam?[e] == null) return null;
return {
'name': e,
'type': 'STRING',
'value': customParam?[e],
};
}).nonNulls,
]
};
}