Request the following from support@netminers.net
- The latest Netminers tracking for API IOS.
- An Account id
- A breadcrumb version
The following example demonstrates the basic usage of the IOS API.
- (void)viewDidLoad { [super viewDidLoad]; ... // Initialize API [NMTracker initAccountId: @"debug" withBreadCrumbVersion:@"1"]; // Send our first event, a PageView [[NMTracker sharedTracker] postPageView:@"My App/Start" nameSpace:@"http://myiosapp.company.com"]; } // Commerce action - (void) buyproduct:(id)sender { NSString *namespace = @"http://myiosapp.company.com"; // Set product name NSString *productName = @"Babelfish"; // Set product SKU/ID NSString *productId = @"42"; // Set price long unitPrice = 42; // Set quantity long quantity = 1; // Set optional product properties // Color: Yellow // Category: Translator // NOTE: initWithObjectsAndKeys uses reverse order: Value, Key, ..., Value, Key, nil NSDictionary* properties = [[NSDictionary alloc] initWithObjectsAndKeys: @"Yellow", @"Color", @"Translator", @"Category", nil]; [[NMTracker sharedTracker] postCommerceAddProductName:productName productId:productId nameSpace:namespace unitPrice:unitPrice quantity:quantity properties:properties]; } // A subpage event - (void) tipAFriend:(id)sender { NSString *namespace = @"http://myiosapp.company.com"; // Set breadcrumb NSString *breadCrumb = @"Tip a friend"; // Set optional properties for action // Relationship: Colleague // NOTE: initWithObjectsAndKeys uses reverse order: Value, Key, ..., Value, Key, nil NSDictionary* properties = [[NSDictionary alloc] initWithObjectsAndKeys: @"Colleague", @"Relationship", nil]; [[NMTracker sharedTracker] postOther:breadCrumb nameSpace:namespace properties: properties]; }
Properties
Every tracking method have a variant/overload taking a NSDictionary called properties. For example:
(void) postPageView: (NSString *) breadCrumb nameSpace: (NSString *) nameSpace properties: (NSDictionary *) properties;
The NSDictionary can contain useful segmentation categories. For example:
- Gender: Male/Female
- Age: 0-25/26-30/31-45/etc.
- Color: Red/white/etc. etc.
Categories should always be chosen wisely, since queries in Netminers Insight may take a performance hit. Keep categories to a minimum and make them discreete and aim for low cardinality/member count. E.g. Track a login success action while adding additional information about the gender of a person who logged in.
NSDictionary* properties = [[NSDictionary alloc] initWithObjectsAndKeys: @"Colleague", @"Relationship", nil]; [[NMTracker sharedTracker] postOther:@"Tip a friend" nameSpace:@"http://myiosapp.company.com" properties: properties];
Initialization
- initAccountId: withBreadCrumbVersion:
Tracking methods
- postPageView: nameSpace:
- postPageView: nameSpace: properties:
- postCommerceAddProductName: productId: nameSpace: unitPrice: quantity:
- postCommerceAddProductName: productId: nameSpace: unitPrice: quantity: properties:
- postFieldChange: nameSpace: value:
- postFieldChange: nameSpace: value: properties:
- postOther: nameSpace:
- postOther: nameSpace: properties: