adjust-icon

Configuration

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

Instantiate your config object

Method signature
- (nullable ADJConfig *)initWithAppToken:(nonnull NSString *)appToken
environment:(nonnull NSString *)environment
suppressLogLevel:(BOOL)allowSuppressLogLevel;

To configure the Adjust SDK, you need to instantiate an ADJConfig 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 ADJConfig instance and pass the following parameters:

  • appToken (NSString): Your Adjust app token.
  • environment (NSString): The environment you want to run the SDK in. Pass ADJEnvironmentSandbox to run the SDK in sandbox mode for testing. Pass ADJEnvironmentProduction to run the SDK in production mode for release.
  • allowSuppressLogLevel (BOOL): Whether to suppress all logging. Set to true to suppress logging or false to enable logging.

Read-only configuration

Read-only configuration options are set in your ADJConfig 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.initSdk().

Set your logging level

Property declaration
@property (nonatomic, assign) ADJLogLevel logLevel;

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

ADJLogLevelDescription
ADJLogLevelVerboseEnable all logging
ADJLogLevelDebugEnable debug logging
ADJLogLevelInfoOnly show info level logs (default option)
ADJLogLevelWarnDisable info logging
ADJLogLevelErrorDisable warning level logging and below
ADJLogLevelAssertDisable error level logging and below
ADJLogLevelSuppressSuppress all logging

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

  • logLevel (ADJLogLevel): The log level you want to use.

Set external device identifier

Property declaration
@property (nonatomic, copy, nullable) NSString *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 (NSString): 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.

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
@property (nonatomic, copy, nullable) NSString *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 (NSString): The Adjust link token you want to record preinstalled installs against.

Enable cost data sending

Method signature
- (void)enableCostDataInAttribution;

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, call the [ADJConfig enableCostDataInAttribution] method.

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

Enable background sending

Method signature
- (void)enableSendingInBackground;

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, call the [Adjust enableSendingInBackground] method.

Dynamic configuration

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

Activate offline mode

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 [Adjust switchToOfflineMode] method.

Deactivate offline mode

You can re-enable the SDK by calling the [Adjust switchBackToOnlineMode] method. This prompts the SDK to resume sending information.

Set push tokens

Method signature
+ (void)setPushToken:(nonnull NSData *)pushToken;

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

You can update your push token at any time by calling the [Adjust setPushToken] method and passing the following arguments:

  • pushToken (NSData): Your push token.

Disable the SDK

Method signature
+ (void)disable;

The Adjust SDK runs by default when your app is open. You can disable the Adjust SDK to pause sending information to Adjust by calling the [Adjust disable] method. When you disable the Adjust SDK, it doesn’t send any data to Adjust’s servers.

Enable the SDK

Method signature
+ (void)enable;

If you’ve disabled the SDK and want to re-enable it, call the [Adjust enable] method. When the SDK is enabled, it will send information to Adjust’s servers.

Check enabled status

Method signature
+ (void)isEnabledWithCompletionHandler:(nonnull ADJIsEnabledGetterBlock)completion;

You can check if the Adjust SDK is enabled at any time by calling the [Adjust isEnabledWithCompletionHandler] method with a completion handler. The status is return asynchronously and passed to your completion handler as a BOOL value.