update method

  1. @override
void update(
  1. Map<String, dynamic> settings,
  2. ContextUpdateType type
)
override

Implementation

@override
void update(Map<String, dynamic> settings, ContextUpdateType type) {
  final adjustSettingsJson = settings["Adjust"];

  if (adjustSettingsJson == null) {
    return;
  }

  try {
    adjustSettings = AdjustSettings.fromJson(adjustSettingsJson);
  } catch (e) {
    analytics?.error(PluginError("Error couldn't parse Adjust settings", e));
  }

  if (adjustSettings == null) {
    return;
  }

  final environment = adjustSettings!.setEnvironmentProduction == true
      ? AdjustEnvironment.production
      : AdjustEnvironment.sandbox;

  final adjustConfig = AdjustConfig(adjustSettings!.appToken, environment);

  if (hasRegisteredCallback == false) {
    adjustConfig.attributionCallback = (attribution) {
      final trackPayload = {
        "provider": "Adjust",
        "trackerToken": attribution.trackerToken,
        "trackerName": attribution.trackerName,
        "campaign": {
          "source": attribution.network,
          "name": attribution.campaign,
          "content": attribution.clickLabel,
          "adCreative": attribution.creative,
          "adGroup": attribution.adgroup,
        },
      };
      analytics?.track("Install Attributed", properties: trackPayload);
    };
    hasRegisteredCallback = true;
  }

  final bufferingEnabled = adjustSettings!.setEventBufferingEnabled;
  if (bufferingEnabled == true) {
    adjustConfig.eventBufferingEnabled = bufferingEnabled;
  }

  final useDelay = adjustSettings!.setDelay;
  if (useDelay == true) {
    final delayTime = adjustSettings!.delayTime;
    if (delayTime != null) {
      adjustConfig.delayStart = delayTime.toDouble();
    }
  }

  Adjust.start(adjustConfig);
}