MPProduct Class Reference

Inherits from NSObject
Conforms to NSCopying
NSSecureCoding
Declared in MPProduct.h

Overview

This class is used to describe a product used in a commerce event. Since this class behaves similarly to an NSMutableDictionary, custom key/value pairs can be specified, in addition to the ones listed as class properties.

For example:

Swift


let product = MPProduct(name:"Product Name", sku:"s1k2u3", quantity:1, price:1.23)

product["Custom Key"] = "Custom Value"

Objective-C


MPProduct *product = [[MPProduct alloc] initWithName:@"Product Name" sku:@"s1k2u3" quantity:@1 price:@1.23];

product[@"Custom Key"] = @"Custom Value";

  brand

The product brand

@property (nonatomic, strong, nullable) NSString *brand

Discussion

The product brand

Declared In

MPProduct.h

  category

A category to which the product belongs

@property (nonatomic, strong, nullable) NSString *category

Discussion

A category to which the product belongs

Declared In

MPProduct.h

  couponCode

The coupon associated with the product

@property (nonatomic, strong, nullable) NSString *couponCode

Discussion

The coupon associated with the product

Declared In

MPProduct.h

  name

The name of the product

@property (nonatomic, strong, nonnull) NSString *name

Discussion

The name of the product

Declared In

MPProduct.h

  price

The price of a product. If product is free or price is non-applicable use nil. Default value is nil

@property (nonatomic, strong, nullable) NSNumber *price

Discussion

The price of a product. If product is free or price is non-applicable use nil. Default value is nil

Declared In

MPProduct.h

  sku

SKU of a product. This is the product id

@property (nonatomic, strong, nonnull) NSString *sku

Discussion

SKU of a product. This is the product id

Declared In

MPProduct.h

  variant

The variant of the product

@property (nonatomic, strong, nullable) NSString *variant

Discussion

The variant of the product

Declared In

MPProduct.h

  position

The prosition of the product on the screen or impression list

@property (nonatomic) NSUInteger position

Discussion

The prosition of the product on the screen or impression list

Declared In

MPProduct.h

  quantity

The quantity of the product. Default value is 1

@property (nonatomic, strong, nonnull) NSNumber *quantity

Discussion

The quantity of the product. Default value is 1

Declared In

MPProduct.h

– initWithName:sku:quantity:price:

Initializes an instance of MPProduct.

- (nonnull instancetype)initWithName:(nonnull NSString *)name sku:(nonnull NSString *)sku quantity:(nonnull NSNumber *)quantity price:(nullable NSNumber *)price

Parameters

name

The name of the product

sku

The SKU or Product Id

quantity

The quantity of the product. If non-applicable use 0

price

The unit price of the product. If the product is free or if non-applicable pass 0

Return Value

An instance of MPProduct, or nil if it could not be created

Swift


let product = MPProduct(name:"Product Name", sku:"s1k2u3", quantity:1, price:1.23)

Objective-C


MPProduct *product = [[MPProduct alloc] initWithName:@"Product Name" sku:@"s1k2u3" quantity:@1 price:@1.23];

Discussion

Initializes an instance of MPProduct.

Declared In

MPProduct.h

– allKeys

Returns an array with all keys in the MPProduct dictionary

- (nonnull NSArray *)allKeys

Return Value

An array with all dictionary keys

Discussion

Returns an array with all keys in the MPProduct dictionary

Declared In

MPProduct.h

– count

Number of entries in the MPProduct dictionary

- (NSUInteger)count

Return Value

The number of entries in the dictionary

Discussion

Number of entries in the MPProduct dictionary

Declared In

MPProduct.h

  affiliation

An entity with which the transaction should be affiliated (e.g. a particular store). If nil, mParticle will use an empty string (Deprecated: use MPTransactionAttributes.affiliation instead)

@property (nonatomic, strong, nullable) NSString *affiliation

Discussion

An entity with which the transaction should be affiliated (e.g. a particular store). If nil, mParticle will use an empty string

Declared In

MPProduct.h

  currency

The currency of a transaction. If not specified, mParticle will use “USD” (Deprecated: use MPCommerceEvent.currency instead)

@property (nonatomic, strong, nullable) NSString *currency

Discussion

The currency of a transaction. If not specified, mParticle will use “USD”

Declared In

MPProduct.h

  transactionId

A unique ID representing the transaction. This ID should not collide with other transaction IDs. If not specified, mParticle will generate a random id with 20 characters (Deprecated: use MPTransactionAttributes.transactionId instead)

@property (nonatomic, strong, nullable) NSString *transactionId

Discussion

A unique ID representing the transaction. This ID should not collide with other transaction IDs. If not specified, mParticle will generate a random id with 20 characters

Declared In

MPProduct.h

  revenueAmount

use MPTransactionAttributes.revenue instead (Deprecated: use MPTransactionAttributes.revenue instead)

@property (nonatomic, readwrite) double revenueAmount

Declared In

MPProduct.h

  shippingAmount

The total cost of shipping for a transaction. If free or non-applicable use 0. Default value is zero (Deprecated: use MPTransactionAttributes.shipping instead)

@property (nonatomic, readwrite) double shippingAmount

Discussion

The total cost of shipping for a transaction. If free or non-applicable use 0. Default value is zero

Declared In

MPProduct.h

  taxAmount

The total tax for a transaction. If free or non-applicable use 0. Default value is zero (Deprecated: use MPTransactionAttributes.tax instead)

@property (nonatomic, readwrite) double taxAmount

Discussion

The total tax for a transaction. If free or non-applicable use 0. Default value is zero

Declared In

MPProduct.h

  totalAmount

The total value of a transaction, including tax and shipping. If free or non-applicable use 0. Default value is zero (Deprecated: use MPTransactionAttributes.revenue instead)

@property (nonatomic, readwrite) double totalAmount

Discussion

The total value of a transaction, including tax and shipping. If free or non-applicable use 0. Default value is zero

Declared In

MPProduct.h

  unitPrice

The price of a product. If product is free or price is non-applicable use 0. Default value is zero (Deprecated: use the price property instead)

@property (nonatomic, readwrite) double unitPrice

Discussion

The price of a product. If product is free or price is non-applicable use 0. Default value is zero

Declared In

MPProduct.h

– initWithName:category:quantity:totalAmount:

use initWithName:sku:quantity:price: instead (Deprecated: use initWithName:sku:quantity:price: instead)

- (nonnull instancetype)initWithName:(nonnull NSString *)name category:(nullable NSString *)category quantity:(NSInteger)quantity totalAmount:(double)totalAmount

Declared In

MPProduct.h

– initWithName:category:quantity:revenueAmount:

use initWithName:sku:quantity:price: instead (Deprecated: use initWithName:sku:quantity:price: instead)

- (nonnull instancetype)initWithName:(nonnull NSString *)name category:(nullable NSString *)category quantity:(NSInteger)quantity revenueAmount:(double)revenueAmount

Declared In

MPProduct.h