Freshpaint iOS SDK Reference

Initialization and Configuration

Importing the SDK

Swift
Objective-C
Swift
import FreshpaintSDK
Objective-C
#import <FreshpaintSDK/FPAnalytics.h>

Initializing the SDK

Swift
Objective-C
Swift
let configuration = FreshpaintConfiguration("<your environment id>")
configuration.trackApplicationLifecycleEvents = true;
configuration.recordScreenViews = true;
Freshpaint.setup(with: configuration)
Objective-C
FPAnalyticsConfiguration *configuration = [FPAnalyticsConfiguration configurationWithWriteKey:@"<your environment id>"];
configuration.trackApplicationLifecycleEvents = YES;
configuration.recordScreenViews = YES;
[FPAnalytics setupWithConfiguration:configuration];

You can get your environment id from the Freshpaint sources page.

The FPAnalyticsConfiguration class provides the following configuration options:

Name

Swift/Objective-C Type

Description

Default

flushAt

UInt /NSUInteger

How many events to queue before flushing the queue.

20

flushInterval

TimeInterval/NSTimeInterval

The maximum amount of time to wait before flushing queued events.

10 seconds

maxQueueSize

UInt/NSUInteger

The maximum number of events to queue before starting to drop the oldest ones.

1000

recordScreenViews

Bool/BOOL

Whether or not screen view changes will automatically be recorded.

NO

trackApplicationLifecycleEvents

Bool/BOOL

Whether or not the Application Installed, Application Updated, and Application Opened events should be automtically tracked.

NO

iOS SDK API

track

The track call can be used to manually send data to your destinations.

Swift
Objective-C
Swift
Freshpaint.shared().track(
"Purchase",
properties: ["price": 500]
)
Objective-C
[[FPAnalytics sharedAnalytics]
track:@"Purchase"
properties:@{ @"price": @500 }];

Argument

Swift/Objective-C Type

Required

Description

event

String/NSString *

Yes

The name of the event to send.

properties

[String : Any]/NSDictionary *

No

Additional properties to attach to the event.

identify

The identify call attaches an identity or user properties to the user.

Swift
Objective-C
Swift
Freshpaint.shared().identify(
traits: [
"email": "[email protected]",
"name": "Ada Lovelace"
]
);
Objective-C
[[FPAnalytics sharedAnalytics]
identify:@"[email protected]"
traits:@{ @"email": @"[email protected]",
@"name": @"Ada Lovelace" }]

Argument

Swift/Objective-C Type

Required

Description

userId

String/NSString *

No

The id to attach to the user.

traits

[String : Any]/NSDictionary *

No

Additional user properties to attach to the user.

screen

The screen call triggers a screen event. This is the mobile equivalent of a pageview event. Some destinations will treat this event specially.

Swift
Objective-C
Swift
Freshpaint.shared().screen(
"Home Screen",
properties: ["A/B Test Variant": "A"]
);
Objective-C
[[FPAnalytics sharedAnalytics]
screen:@"Home Screen"
properties:@{ @"A/B Test Variant": @"A" }]

Argument

Swift/Objective-C Type

Required

Description

name

String/NSString*

Yes

The name of the screen.

properties

[String : Any]/NSDictionary *

No

Additional properties to attach to the event.

group

The group call associates the user with a user group. Some destinations let you work with groups of users. For example, Amplitude lets you group users together and then perform analytics on the individual groups. Most often, a group of users is all users that work for a single organization.

Swift
Objective-C
Swift
Freshpaint.shared().group(
"Google",
traits: [
"plan": "enterprise",
"sign-up-date": "04/04/2019"
]
);
Objective-C
[[FPAnalytics sharedAnalytics]
group:@"Google"
traits:@{ @"plan": @"enterprise",
@"sign-up-date": "04/04/2019" }]

Argument

Swift/Objective-C Type

Required

Description

groupId

String/NSString *

Yes

The id of the group to add the user to.

traits

[String : Any]/NSDictinoary *

No

Additional properties to attach to the group.

alias

The alias call can be used to specify one user id as an alias for another user id. Calling this will alias the current user's identity to the new provided identity. This is needed to implement identify for some destinations, specifically Mixpanel and Kissmetrics.

Swift
Objective-C
Swift
Freshpaint.shared().alias("[email protected]")
Objective-C
[[FPAnalytics sharedAnalytics] alias:@"[email protected]"];

Argument

Swift/Objective-C Type

Required

Description

newId

String/NSString *

Yes

The id you want to alias the current user's identity to.