logClicks method
Implementation
Future<void> logClicks(Map<String, dynamic> viewJson) async {
try {
FirebaseService.logClickFirebase(viewJson);
int? clickThreshold = viewJson['clickThreshold'];
if (clickThreshold == null) {
return;
}
var prefs = await SharedPreferences.getInstance();
String id = viewJson['id'];
int updatedAt = viewJson['updated_at'];
String key = id + updatedAt.toString();
String? encodedMap = prefs.getString(key);
Map<String, dynamic> decodedMap;
if (encodedMap != null) {
decodedMap = json.decode(encodedMap);
int clicks = decodedMap['clicks'] ?? 0;
decodedMap['clicks'] = clicks + 1;
} else {
decodedMap = {'clicks': 1};
}
logMap[key] = decodedMap;
prefs.setString(key, json.encode(decodedMap));
} catch(e) {
// print(e);
}
}