getUserTrackingBasicInfo static method
Implementation
static Future<Map<String, dynamic>> getUserTrackingBasicInfo(
String? userAgent) async {
try {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
String uniqueId = '';
String ipAddress = '';
final networkInfo = await NetworkInfo().getWifiIP();
String platformVersion = '';
if (Platform.isAndroid) {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
uniqueId = androidInfo.id;
ipAddress = androidInfo.id;
platformVersion = androidInfo.version.codename;
} else if (Platform.isIOS) {
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
uniqueId = iosInfo.identifierForVendor ?? '';
platformVersion = iosInfo.systemVersion;
}
ipAddress = networkInfo ?? '';
userAgent = userAgent;
final platform = Platform.operatingSystem;
final packageInfo = await PackageInfo.fromPlatform();
final info = {
'anonymous_id': uniqueId,
'app_build_version': packageInfo.buildNumber,
'app_bundle': packageInfo.packageName,
'app_version': packageInfo.version,
'device_id': uniqueId,
'ip': ipAddress,
'platform': platform,
'platform_version': platformVersion,
'user_agent': userAgent,
};
return info;
} catch (e) {
// Handle error if necessary
print('Error fetching user tracking basic info: $e');
return {}; // Return empty map in case of error
}
}