iOS SDK

Be sure to read iOS: Getting Started

Source code for the SDK is here: https://github.com/pauluxprobe/uxprobeClientSDK

API

initWithAccountID

Description
Called once to initialize the logger and set the account ID
Method
- (id) initWithAccountID: (NSString*)theAccountID;)
Arguments
(NSString*)theAccountID - your account ID
Returns
id

enabled

Description
Disable all logging by setting false, default is true
Method
@property (atomic) BOOL enabled;
Arguments
BOOL enabled
Returns
BOOL

paused

Description
Pause the sending of events but not the recording of events, default is false
Method
@property (atomic) BOOL paused;
Arguments
BOOL paused
Returns
BOOL

wifiOnly

Description
Send events when in wifi but not 3g/4g
Method
@property (atomic) BOOL wifiOnly;
Arguments
BOOL wifiOnly
Returns
BOOL

timerFreq

Description
The time between sending events in seconds, default is 10 seconds
Method
@property (atomic) long timerFreq;
Arguments
long timerFreq
Returns
long

sessionTimeout

Description
Default is 0, no timeout. Value is in seconds. If two events are separated by a time greater than this value then a new session start will be sent
Method
@property (atomic) long sessionTimeout;
Arguments
long sessionTimeout
Returns
long

batchSize

Description
Number of events to send each batch, default is 100
Method
@property (atomic) long batchSize;
Arguments
long batchSize
Returns
long

logStartSessionWithProduct

Description
Call this once at the beginning of the user session. It is critical that this is called prior to any other UXprobe log methods
Method
- (void) logStartSessionWithProduct: (NSString*)product Version: (NSString*)version
UserID: (NSString*)userID Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)product - the product being measured
(NSString*)version - product version
(NSString*)userID - if an empty string then a unique UUID will be generated and saved in preferences
(NSMutableDictionary*)theTags - Can be nil

Returns
void

logEndSessionWithTags

Description
Stop the user session, the last UXprobe call that should be made, not mandatory
Method
- (void) logEndSessionWithTags:(NSMutableDictionary*)theTags;
Arguments
(NSMutableDictionary*)theTags - Can be nil
Returns
void

logStartTaskWithTaskID

Description
Marks the start of a new task
Method
- (void) logStartTaskWithTaskID: (NSString*)taskID Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)taskID
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the task. Can be nil
Returns
void

logEndTaskWithTaskID

Description
Mark the completion of a task
Method
- (void) logEndTaskWithTaskID: (NSString*)taskID Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)taskID
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the task. Can be nil
Returns
void

logErrorWithErrorID

Description
Record an error, can be a user error, e.g. a form field that was not filled out correctly, or a system error, e.g. exception
Method
- (void) logErrorWithErrorID: (NSString*)errorID UIElement: (NSString*)uiElement UserInput: (NSString*)userInput
ErrorMessage: (NSString*)errorMessage Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)errorID
(NSString*)uiElement
(NSString*)userInput
(NSString*)errorMessage
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the task. Can be nil
Returns
void

logFeatureWithFeatureID

Description
Record a feature a user has selected, e.g. menu item selected or button click
Method
- (void) logFeatureWithFeatureID: (NSString*)featureID Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)featureID
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the feature. Can be nil
Returns
void

logScreenWithScreenID

Description
Record the user visiting a screen, dialog etc
Method
(void) logScreenWithScreenID: (NSString*)screenID Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)screenID
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the screen. Can be nil
Returns
void

logFeedbackWithType

Description
Record the active user feedback
Method
- (void) logFeedbackWithType: (NSString*)type Comment: (NSString*)comment ScreenShot: (NSData*)screenshot
Tags:(NSMutableDictionary*)theTags;
Arguments
(NSString*)type - must be the string 'good', 'bad', or 'idea'
(NSString*)comment
(NSData*)screenshot - currently not supported
(NSMutableDictionary*)theTags - optional dictionary that can be used to further identify the feedback. Can be nil

Returns
void

logSurveyUIWithSurveyID

Description
Show native UI and record the answers to the specified survey
Method
- (void) logSurveyUIWithSurveyID: (NSString*)surveyID Title: (NSString*)title Questions: (NSArray*) questions
View: (UIView*) view;
Arguments
(NSString*)surveyID
(NSString*)title
(NSArray*)questions
(UIView*) view

Returns
void

logSurveyWithSurveyID

Description
Record the answers for a survey (after showing your own UI)
Method
- (void) logSurveyWithSurveyID: (NSString*)theSurveyID Answers: (NSString*) answers;
Arguments
(NSString*)theSurveyID
(NSString*) answers

Returns
void

getSurveyWithID

Description
Open the requested survey in the browser
Method
- (void) getSurveyWithID: (NSString*)surveyID;
Arguments
(NSString*)surveyID
Returns
void