iOS Integration
Integration
To integrate the library, the system needs to call this method:
(void)startWithTrackerURL:(NSURL *)trackerURL appId:(NSUInteger)appId;
appId and trackerURL can be received during the registration step of your application.
To control the working logic of Maxymizely tracking system, use these fields and methods:
A. Registering a minimal number of events in the package:
(void)setMinEventsInPacketCount:(NSUInteger)minEvents;
Note! When the closeSession call is made, a package is sent regardless of the quantity of the events being carried.
B. Opening a session:
+ (void)openSession;
The session opens automatically after the UIApplicationWillEnterForegroundNotification event.
C. Closing a session:
+ (void)closeSession;
Session closes automatically after the UIApplicationDidEnterBackgroundNotification event.
D. Adding “parameter-value” into the logging flow:
+ (void)logValue:(double)value forKey:(NSString *)key;
E. Adding a typed event:
(void)addEventWithType:(BMTEventType)type
//event type
content:(NSString *)content
//section (level) where the event occurred
referrer:(NSString *)referrer
//previous section (level)
title:(NSString *)title
//section description
name:(NSString *)name
//an element's name
value:(double)value
//value of the element
externalId:(NSString *)externalId
//user's identifier(ex. Logins)
customAttribute1:(NSString *)customAttribute1
customAttribute2:(NSString *)customAttribute2
customAttribute3:(NSString *)customAttribute3
//3 custom event attributes that are filled
//at the discretion of the developer
configurationId:(NSInteger)configurationId
//configuration identifier within the application
windowId:(UInt32)windowId;
//identifier of the window where the event occurred
The timestamp value and parameter siteId value will be placed automatically. Here are the
abridged versions of the call method of adding events:
(void)logEmpty;
(void)logLoadPage:(NSString *)pageName;
(void)logClick:(NSString *)clickName;
(void)logViewElement:(NSString *)elementName;
(void)logDownload:(NSString *)item;
(void)logUpload:(NSString *)item;
(void)logSubmit:(NSString *)item;
(void)logRegistration:(NSString *)info;
(void)logPurchase:(NSString *)purchaseId price:(double)price;
(void)logLogin:(NSString *)info;
(void)logError:(NSError *)error;
(void)log:(NSString *)string;
F. Adding custom attributes:
(void)addUserAttributeWithName:(NSString *)name
//attribute name
value:(NSString *)value
//attribute value
externalId:(NSString *)externalId
//user’s identifier (ex. Email, different Login)
configurationId:(NSInteger)configurationId;
//configuration identifier within the application
Configuration
To control the working logic of the Maxymizely tracking system, use these fields and methods:
Main configuration fields:
- SiteId – an identifier of the resource needed tracking
- ConfigurationId – an identifier for user tracking
- ExternalId – a unique user identifier (for example, an internal user ID in the database, email, login, Facebook ID, or any other information that helps identify a unique user)
The additional configuration method:
(void)addUserAttributeWithName
This method allows assigning a number of additional parameters to a user.
Application
The basis for analysis is the process of tracking events that are taking place within an application. These events can be initiated by a user, as well as by interactive content within the window, where the content is located.
For the system integrator, there are two levels of logged events:
- System level
- User level
Most of the event types are available at the user level. The integrator implements tracking checkpoints in the application’s functions system.
For accurate identification of the control events/checkpoints there is a set of configuration parameters:
- Value – checkpoint identifier (an id html of the element, field name, etc.)
- CustomAttribute1, CustomAttribute2, CustomAttribute3 – 3 additional attributes are set at the discretion of the user/developer