Skip to main content

Set session callback parameters

Session parameters are saved locally and sent with every session and every event the Adtrace SDK records. They are global SDK-level values, not tied to a single ADTEvent.

When you add a session parameter, the SDK stores it so you do not need to set it again on each session or trackEvent call.

Duplicate keys

Adding the same session parameter key twice has no effect. The first value is kept.

You can call session parameter methods before [Adtrace appDidLaunch:] / Adtrace.appDidLaunch(...) so they are included on the install session. If you need a value for install but can only read it after launch, use Delay SDK start to defer the first session briefly while you attach parameters.

Session callback parametersEvent callback parameters
API[Adtrace addSessionCallbackParameter:value:][event addCallbackParameter:value:]
ScopeEvery session and eventOne event
When to setAny time (including before SDK init)Before trackEvent
Key conflictEvent parameter winsTakes precedence over session

If you register a callback URL in the Adtrace panel, session callback parameters are appended to that URL on each session and event, together with any event-level callback parameters.

Session vs SDK callbacks

This page is about callback URL parameters (key-value data sent with sessions and events). For success/failure delegate callbacks when the SDK sends packages, see Send callback information.

Session callback parameters

The interface matches event callback parameters, but you call it on Adtrace instead of on an ADTEvent.

Session callback parameters merge with callback parameters you add to an event. Event callback parameters take precedence: if the same key exists on the session and on an event, the event value is sent.

Add session callback parameters

Method signature

+ (void)addSessionCallbackParameter:(nonnull NSString *)key value:(nonnull NSString *)value;
ParameterTypeDescription
keyNSStringThe callback parameter name.
valueNSStringThe callback parameter value. You can also use placeholders such as {idfa}.

Call the method once per key-value pair. You can add multiple parameters by calling it multiple times.

Example

[Adtrace addSessionCallbackParameter:@"foo" value:@"bar"];

Remove session callback parameters

Method signature

+ (void)removeSessionCallbackParameter:(nonnull NSString *)key;
ParameterTypeDescription
keyNSStringThe session callback parameter key to remove.

Example

[Adtrace removeSessionCallbackParameter:@"foo"];

Reset session callback parameters

Method signature

+ (void)resetSessionCallbackParameters;

Removes all session callback parameter keys and values.

Example

[Adtrace resetSessionCallbackParameters];

Session partner parameters

Session partner parameters work like event partner parameters, but they apply to every session and event.

Adtrace forwards them to network partners you have set up in the panel. Session partner parameters merge with event partner parameters. Event partner parameters take precedence when the same key exists on both.

Add session partner parameters

Method signature

+ (void)addSessionPartnerParameter:(nonnull NSString *)key value:(nonnull NSString *)value;
ParameterTypeDescription
keyNSStringThe partner parameter name.
valueNSStringThe partner parameter value.

Example

[Adtrace addSessionPartnerParameter:@"foo" value:@"bar"];

Remove session partner parameters

Method signature

+ (void)removeSessionPartnerParameter:(nonnull NSString *)key;
ParameterTypeDescription
keyNSStringThe session partner parameter key to remove.

Example

[Adtrace removeSessionPartnerParameter:@"foo"];

Reset session partner parameters

Method signature

+ (void)resetSessionPartnerParameters;

Removes all session partner parameter keys and values.

Example

[Adtrace resetSessionPartnerParameters];

Send session parameters on install

Call addSessionCallbackParameter (and partner parameters if needed) before appDidLaunch when the value must be present on the install session:

AppDelegate.m
[Adtrace addSessionCallbackParameter:@"user_segment" value:@"premium"];

NSString *appToken = @"{YourAppToken}";
NSString *environment = ADTEnvironmentSandbox;
ADTConfig *adtraceConfig = [ADTConfig configWithAppToken:appToken
environment:environment];
[Adtrace appDidLaunch:adtraceConfig];

If the value is not ready at launch, use Delay SDK start on ADTConfig instead of initializing immediately. After the delay ends (or when you call sendFirstPackages), session parameters you added are included on the delayed install session and events.