87 lines
4.0 KiB
C
87 lines
4.0 KiB
C
|
|
//
|
||
|
|
// ALEventService.h
|
||
|
|
// AppLovinSDK
|
||
|
|
//
|
||
|
|
// Created by Thomas So on 2/13/19
|
||
|
|
// Copyright © 2020 AppLovin Corporation. All rights reserved.
|
||
|
|
//
|
||
|
|
|
||
|
|
#import "ALEventTypes.h"
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Service that tracks various analytical events.
|
||
|
|
*/
|
||
|
|
@interface ALEventService : NSObject
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets a super property that this service will record with all future events.
|
||
|
|
*
|
||
|
|
* If @c superProperty is @c nil, this method will remove the super property with key @c key from being recorded with all future events.
|
||
|
|
*
|
||
|
|
* @param superProperty The value to assign to the super property whose key is @c key. Valid types include @c NSString, @c NSNumber, @c NSSDate, @c NSURL,
|
||
|
|
* @c NSArray, and @c NSDictionary. Set this to @c nil to remove the super property whose key is @c key from being recorded with all future
|
||
|
|
* events.
|
||
|
|
* @param key The key that identifies the the super property whose value this method sets.
|
||
|
|
*/
|
||
|
|
- (void)setSuperProperty:(nullable id)superProperty forKey:(NSString *)key;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* NSDictionary that represents the currently-set super properties that this services records with events.
|
||
|
|
*/
|
||
|
|
@property (nonatomic, copy, readonly) NSDictionary<NSString *, id> *superProperties;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Tracks an event without adding supplemental data.
|
||
|
|
*
|
||
|
|
* AppLovin recommends that you use one of the predefined strings provided in ALEventTypes.h for the event name, when those strings apply to the event.
|
||
|
|
*
|
||
|
|
* @param eventName A string that represents the event to track.
|
||
|
|
*/
|
||
|
|
- (void)trackEvent:(NSString *)eventName;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Tracks an event and adds supplemental data.
|
||
|
|
*
|
||
|
|
* AppLovin recommends that you use one of the predefined strings provided in ALEventTypes.h for the event name and parameter keys, when those strings
|
||
|
|
* apply to the event.
|
||
|
|
*
|
||
|
|
* @param eventName A string that represents the event to track.
|
||
|
|
* @param parameters A dictionary that contains key-value pairs that further describe this event.
|
||
|
|
*/
|
||
|
|
- (void)trackEvent:(NSString *)eventName parameters:(nullable NSDictionary<NSString *, id> *)parameters;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Tracks an in-app purchase.
|
||
|
|
*
|
||
|
|
* AppLovin recommends that you use one of the predefined strings provided in ALEventTypes.h for the parameter keys, when one of those strings applies
|
||
|
|
* to the event. At a minimum, provide the following parameters: @c kALEventParameterProductIdentifierKey, @c kALEventParameterRevenueAmountKey, and
|
||
|
|
* @c kALEventParameterRevenueCurrencyKey. If you pass a value for @c kALEventParameterStoreKitReceiptKey, AppLovin will use that value for validation.
|
||
|
|
* Otherwise, AppLovin will collect @code [NSBundle mainBundle] @endcode ⇒ @code [NSBundle appStoreReceiptURL] @endcode and use it for validation.
|
||
|
|
*
|
||
|
|
* @param transactionIdentifier Value of the @code [SKTransaction transactionIdentifier] @endcode property.
|
||
|
|
* @param parameters A dictionary that contains key-value pairs that further describe this event.
|
||
|
|
*/
|
||
|
|
- (void)trackInAppPurchaseWithTransactionIdentifier:(NSString *)transactionIdentifier parameters:(nullable NSDictionary<NSString *, id> *)parameters;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Tracks a checkout / standard purchase.
|
||
|
|
*
|
||
|
|
* AppLovin recommends that you use one of the predefined strings provided in ALEventTypes.h for the parameter keys, when one of those strings applies to the
|
||
|
|
* event. At a minimum, provide the following parameters: @c kALEventParameterProductIdentifierKey, @c kALEventParameterRevenueAmountKey, and
|
||
|
|
* @c kALEventParameterRevenueCurrencyKey.
|
||
|
|
*
|
||
|
|
* @param transactionIdentifier An optional unique identifier for this transaction, generated by you. For Apple Pay transactions, AppLovin suggests that you use
|
||
|
|
* the value of the @code [PKPaymentToken transactionIdentifier] @endcode property.
|
||
|
|
* @param parameters A dictionary that contains key-value pairs that further describe this event.
|
||
|
|
*/
|
||
|
|
- (void)trackCheckoutWithTransactionIdentifier:(nullable NSString *)transactionIdentifier parameters:(nullable NSDictionary<NSString *, id> *)parameters;
|
||
|
|
|
||
|
|
- (instancetype)init NS_UNAVAILABLE;
|
||
|
|
+ (instancetype)new NS_UNAVAILABLE;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_END
|