setProperties method
Sets a property.
This value can be shared outside of the application (such as in external packages). (e.g., Analytics or Sentry)
With overrideProperties, you can override property values in any Type.
Overridden values can be retrieved using getPropertiesFor.
Implementation
Future<void> setProperties(
Map<String, Object?> properties, {
Map<Type, Map<String, Object?>>? overrideProperties,
}) async {
await lock((batch) async {
_logger.fine('setProperties:$properties');
final tProperties = batch.get(_properties);
final tNewProperties = _CompareMap(tProperties);
tNewProperties.addAll(properties);
batch.set(_properties, tNewProperties);
if (overrideProperties != null) {
for (var i in overrideProperties.entries) {
_propertiesOverrides[i.key] ??= _CompareMap();
_propertiesOverrides[i.key]!.addAll(i.value);
}
}
await _runSynchronousChangeListeners(batch);
await app.remoteConfig.fetch();
batch.commit();
}, lockKey: _key);
}