adjust-icon

Configuration

Use the methods in this document to configure the behavior of the Adjust SDK.

Instantiate your config object

Method signature
AdjustConfig(this._appToken, this._environment) {
_initCallbackHandlers();
_skAdNetworkHandling = true;
}

To configure the Adjust SDK, you need to instantiate an AdjustConfig object. This object contains the read-only configuration options that you need to pass to the Adjust SDK.

To instantiate your config object, create a new AdjustConfig instance and pass the following parameters:

  • appToken (String): Your Adjust app token.
  • environment (String): The environment you want to run the SDK in. Pass AdjustEnvironment.sandbox to run the SDK in sandbox mode for testing. Pass AdjustEnvironment.production to run the SDK in production mode for release.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
Adjust.start(adjustConfig);

Read-only configuration

Read-only configuration options are set in your AdjustConfig instance before the initialization of the SDK. They can’t be changed while the SDK is running. You MUST configure any options you want to use before running Adjust.start().

Set your logging level

Property declaration
AdjustLogLevel? logLevel;

The Adjust SDK provides configurable log levels to return different amounts of information. The following log levels are available:

Log levelDescription
AdjustLogLevel.verboseEnable all logging
AdjustLogLevel.debugEnable debug logging
AdjustLogLevel.infoOnly show info level logs (default option)
AdjustLogLevel.warnDisable info logging
AdjustLogLevel.errorDisable warning level logging and below
AdjustLogLevel.assertDisable error level logging and below
AdjustLogLevel.suppressSuppress all logging

You can set your log level by assigning an AdjustLogLevel value to the logLevel property of your config instance.

  • logLevel (AdjustLogLevel): The log level you want to use.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.logLevel = AdjustLogLevel.verbose;
//...
Adjust.start(adjustConfig);

Set external device identifier

Property declaration
String? externalDeviceId;

An external device identifier is a custom value that you can assign to a device or user. They help you recognize users across sessions and platforms. They can also help you deduplicate installs by user so that a user isn’t counted as duplicate new installs. Contact your Adjust representative to get started with external device IDs.

You can use an external device ID as a custom identifier for a device. This helps you keep continuity with your other systems. Assign your external device ID to the externalDeviceId property on your config instance.

  • externalDeviceId (String): Your external device identifier. This value is case sensitive. If you have imported external device IDs, make sure the value you pass matches the imported value.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.externalDeviceId = '{Your-External-Device-Id}';
//...
Adjust.start(adjustConfig);

If you want to use the external device ID in your business analytics, you can pass it as a session callback parameter.

You can import existing external device IDs into Adjust. This ensures that the Adjust servers match future data to your existing device records. Contact your Adjust representative for more information.

Property declaration
String? defaultTracker;

You can configure a default link token if your app is preinstalled on a device. When a user opens the preinstalled app for the first time, the install is attributed to the default link token. Assign your default link token to the defaultTracker property of your config instance.

  • defaultTracker (String): The Adjust link token you want to record preinstalled installs against.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.defaultTracker = '{TrackerToken}';
//...
Adjust.start(adjustConfig);

Enable cost data sending

Property declaration
bool? needsCost;

By default, the Adjust SDK doesn’t send cost data as part of a user’s attribution. You can configure the SDK to send this data by enabling cost data sending. To enable cost data sending, assign a bool value to the needsCost property of your config instance.

  • needsCost (bool): set to true to enable cost data sending or false to disable cost data sending.

Cost data is accessible in the user’s attribution information.

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.needsCost = true;
//...
Adjust.start(adjustConfig);

Enable background recording

Property declaration
bool? sendInBackground;

By default, the Adjust SDK pauses the sending of requests when your app is running in the background. You can configure the SDK to send requests in the background by enabling the background recording. To enable background recording, assign a bool value to the sendInBackground property of your config instance.

  • sendInBackground (bool): Set to true to enable background sending or false to disable background sending.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.sendInBackground = true;
//...
Adjust.start(adjustConfig);

Enable event buffering

Property declaration
bool? eventBufferingEnabled;

The Adjust SDK sends event information as soon as a user triggers an event in your app. You can send event information on a schedule by enabling event buffering. Event buffering stores events in a local buffer on the device and sends all requests once per minute.

Your config object contains a boolean eventBufferingEnabled property that controls this behavior. To enable event buffering, assign a bool value to the eventBufferingEnabled property of your config instance.

  • eventBufferingEnabled (bool): Set to true to enable event buffering or false to disable event buffering.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.eventBufferingEnabled = true;
//...
Adjust.start(adjustConfig);

Delay the start of the SDK

Property declaration
double? delayStart;

By default, the Adjust SDK starts as soon as your app opens. If you want to send data that isn’t available at launch in session parameters, you can delay the start of the SDK. This can be helpful if you are sending information such as unique identifiers.

To configure a startup delay, assign a double value to the delayStart property of your config instance.

  • delayStart (double): The time (in seconds) by which to delay the start of the SDK. You can delay the start of the SDK by up to 10 seconds.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.delayStart(5.5);
//...
Adjust.start(adjustConfig);

Dynamic configuration

Dynamic configuration options may be changed during the SDK’s lifecycle in response to events or actions taken by the user.

Toggle offline mode

Method signature
static void setOfflineMode(bool isOffline)

The Adjust SDK sends event and session data to Adjust’s servers in real time. You can pause the sending of information by putting the SDK in offline mode. In offline mode the SDK stores all data in a local file on the device. The SDK sends this information to Adjust’s servers when you disable offline mode.

You can toggle offline mode at any time by calling the setOfflineMode method with the following argument:

  • isOffline (bool): Set to true to enable offline mode or false to disable offline mode.
Adjust.setOfflineMode(true);

Set push tokens

Method signature
static void setPushToken(String token)

Push tokens are used for Audiences and client callbacks. They’re also required for Uninstall and reinstall measurement.

Your config object contains a string pushToken property that you can use to store your push token. You can update this property at any time by calling the setPushToken method and passing the following arguments:

  • token (String): Your push token.
Adjust.setPushToken('{PushNotificationsToken}');

Disable or enable the SDK

Method signature
static void setEnabled(bool isEnabled)

The Adjust SDK runs by default when your app is open. You can disable and re-enable the Adjust SDK to pause and resume recording. When you disable the Adjust SDK, it doesn’t send any data to Adjust’s servers.

You can enable or disable the SDK at any time by calling the setEnabled method with the following argument:

  • isEnabled (bool): Set to true to enable the SDK or false to disable the SDK.
Adjust.setEnabled(false);

Check enabled status

Method signature
static Future<bool> isEnabled() async

You can check if the Adjust SDK is enabled at any time by calling the isEnabled method. This method returns a bool value indicating if the SDK is enabled (true) or disabled (false).

Adjust.isEnabled();