| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | ////  ALEventService.h//  AppLovinSDK////  Created by Thomas So on 2/13/19//  Copyright © 2020 AppLovin Corporation. All rights reserved.//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;@endNS_ASSUME_NONNULL_END
 |