PreEmptive Analytics iOS API  2.0
The official iOS API for sending PreEmptive Analytics data.
PAConfiguration.h
1 //
2 // PAConfiguration.h
3 // PreEmptiveAnalyticsClient
4 //
5 // Copyright (c) 2013 PreEmptive Solutions. All rights reserved.
6 //
7 #import <Foundation/Foundation.h>
8 #import "PAAttributeSizeLimiter.h"
12 @interface PAConfiguration : NSObject <NSCopying>
13 
17 enum PALoggerLevel : NSUInteger {
20  WARN_LEVEL=1 << 1,
21  INFO_LEVEL=1 << 2,
22  DEBUG_LEVEL=1 << 3,
23  TRACE_LEVEL=1 << 4
24 };
25 
29 enum PASizeLimiter : NSUInteger {
30  COMMON=0,
31  PA_TFS=1,
32  WORKBENCH = 1 << 3,
33  RUNTIME_INTELLIGENCE=1 << 1,
35  NONE=1 << 2
36 };
37 
42 -(id) init;
43 
50 -(id) initWithCompanyID:(NSString*) cID appID:(NSString*)aID;
51 
57 -(void) setLimiterType:(enum PASizeLimiter) type;
58 
62 @property BOOL useSSL;
63 
68 @property BOOL optIn;
69 
73 @property BOOL omitPII;
74 
78 @property BOOL fullData;
79 
83 @property BOOL offline;
84 
89 @property BOOL sendDisabled;
90 
94 @property BOOL supportOfflineStorage;
95 
100 @property enum PALoggerLevel logLevel;
101 
105 @property NSUInteger timeout;
106 
110 @property NSUInteger maximumBatchSize;
111 
115 @property NSUInteger minimumTimeToLive;
116 
120 @property NSUInteger minimumFailureCount;
121 
125 @property (strong) NSString* appID;
126 
130 @property (strong) NSString* appType;
131 
135 @property (strong) NSString* appName;
136 
140 @property (strong) NSString* appVersion;
141 
145 @property (strong) NSString* appInstanceID;
146 
150 @property (strong) NSString* companyID;
151 
155 @property (strong) NSString* companyName;
156 
160 @property (strong) NSString* defaultSessionID;
161 
165 @property (strong) NSString* endpoint;
166 
170 @property (readonly) enum PASizeLimiter limiterType;
171 
176 @property (strong, readonly) id<PAAttributeSizeLimiter> attributeSizeLimiter;
177 
178 @end
Only log errors and failures.
BOOL supportOfflineStorage
Should messages be saved offline when they cannot be sent? Default: YES.
BOOL offline
Is the transmission of messages prohibited? If offline, analytics data will be cached to be sent late...
PALoggerLevel
Used to specify the level of logging that should be done.
BOOL fullData
This controls how system and performance profilling is allowed to go.
BOOL sendDisabled
Is sending data temporarily disabled? Default: NO.
NSUInteger timeout
The maximum number of milliseconds the sytstem should wait while transmitting information.
NSUInteger maximumBatchSize
The maximum size (in bytes) of a message batch.
Log the above plus situations where the API may not perform as expected.
BOOL omitPII
Should personally identifiable information (PII) be stripped? This includes things like: device name...
NSUInteger minimumTimeToLive
The minimum age (in seconds) a message must be before it becomes eligible for deletion from offline s...
NSUInteger minimumFailureCount
The minimum amount of times a message should fail to be transmitted before becoming eligible for dele...
PASizeLimiter
The type of size limiter to use.
Log the above plus informational message such as life cycle events.
BOOL optIn
Is the Client is permitted to send any information? Default: YES.
The configuration for the client.
Log the above plus debug information such as the raw messages being transmitted.
BOOL useSSL
Should SSL encryption be used when sending messages? Default: YES.