YMMRevenueInfo class

The class contains immutable information about the revenue from in-app purchases.

Use the YMMMutableRevenueInfo class to change information about revenue.

The instance of the YMMRevenueInfo class should be sent to the AppMetrica server using the reportRevenue method of the YMMYandexMetrica class.

Instance methods

init!(price:currency:)

Initializes the instance of the YMMRevenueInfo class for sending information about purchases.

init!(price:currency:quantity:productID:transactionID:receiptData:payload:)

Initializes the instance of the YMMRevenueInfo class for sending information about purchases.

Properties

currency

Currency code of the purchase in the ISO 4217 format.

payload

Additional information to be passed about the purchase.

price

Price. It can be negative, e.g. for refunds.

productID

ID of the product purchased. The value can contain up to 200 characters.

quantity

Quantity of products purchased.

receiptData

Details about the in-app purchase order from App Store.

transactionID

Information about the in-app purchase order from App Store.

Method descriptions

init!(price:currency:)

init!(price: Double, currency: String!)

Initializes the instance of the YMMRevenueInfo class for sending information about purchases.

Parameters:
price

Price. It can be negative, e.g. for refunds.

currency

Currency code of the purchase in the ISO 4217 format.

The value should contain 3 Latin letters in uppercase.

Example: RUB.
Note. If the value is not in the ISO 4217 format, the purchase is ignored.

Returns:

The instance of the YMMRevenueInfo class.

init!(price:currency:quantity:productID:transactionID:receiptData:payload:)

init!(price: Double, currency: String!, quantity: UInt, productID: String!, transactionID: String!, receiptData: NSData!, payload: [NSObject: AnyObject]!)

Initializes the instance of the YMMRevenueInfo class for sending information about purchases.

Parameters:
price

Price. It can be negative, e.g. for refunds.

currency

Currency code of the purchase in the ISO 4217 format.

The value should contain 3 Latin letters in uppercase.

Example: RUB.
Note. If the value is not in the ISO 4217 format, the purchase is ignored.
quantity

Quantity of products purchased.

It is used in the following formula:
Revenue = quantity * price.
Note. The value cannot be negative. If the value is equal to 0, the purchase is ignored.
productID

ID of the product purchased. The value can contain up to 200 characters.

transactionID

Information about the in-app purchase order from App Store.

Must contain the transactionIdentifier value from the SKPaymentTransaction class. For more information, see Apple documentation.

This value should be passed along with receiptData to verify the transaction.

receiptData

Details about the in-app purchase order from App Store.

This value should be passed along with transactionID to verify the transaction. Example:
var receiptURL: NSURL? = Bundle.main.appStoreReceiptURL
revenueInfo.receiptData = NSData(contentsOf: receiptURL!)
For more information, see Apple documentation.
Note. It is necessary to get information about the purchase before calling SKPaymentQueue.default().finishTransaction(transaction).
payload

Additional information to be passed about the purchase. For instance, it can be used for categorizing your products.

It should contain the NSDictionary object that can be converted to valid JSON. The maximum size of the value is 30 KB.

Returns:

The instance of the YMMRevenueInfo class.

Property descriptions

currency

var currency: String! { get }

Currency code of the purchase in the ISO 4217 format.

payload

var payload: [NSObject : AnyObject]! { get }

Additional information to be passed about the purchase.

price

var price: Double { get }

Price. It can be negative, e.g. for refunds.

productID

var productID: String! { get }

ID of the product purchased. The value can contain up to 200 characters.

quantity

var quantity: UInt { get }

Quantity of products purchased.

receiptData

var receiptData: NSData! { get }

Details about the in-app purchase order from App Store.

transactionID

var transactionID: String! { get }

Information about the in-app purchase order from App Store.