@interface ATRewardedVideoCustomEvent : ATAdCustomEvent
/// When playback fails
/// @param error - Playback error information
- (void)trackRewardedVideoAdPlayEventWithError:(NSError *)error;
/// When the ad is closed
/// @param rewarded - Whether to grant the reward
- (void)trackRewardedVideoAdCloseRewarded:(BOOL)rewarded __attribute__((deprecated("Deprecated. Please use `trackRewardedVideoAdCloseRewarded:extra:`")));
- (void)trackRewardedVideoAdCloseRewarded:(BOOL)rewarded extra:(NSDictionary *)extra;
/// When playback ends
- (void)trackRewardedVideoAdVideoEnd;
/// When the ad is clicked
- (void)trackRewardedVideoAdClick;
/// When the ad is clicked
- (void)trackRewardedVideoAdClickWithClickType:(ATOfferClickAdType)clickType;
/// When playback starts
- (void)trackRewardedVideoAdVideoStart;
- (void)trackRewardedVideoAdShow;
/// When ad loading fails
/// @param error - Error information
- (void)trackRewardedVideoAdLoadFailed:(NSError *)error;
- (void)trackRewardedVideoAdPlayEventWithError:(NSError *)error extra:(NSDictionary *)extraDic;
/// When ad loading is complete
/// @param adObject - Ad object
/// @param adExtra - Extra data
- (void)trackRewardedVideoAdLoaded:(id)adObject adExtra:(NSDictionary *_Nullable)adExtra;
/// When the ad is rendered successfully (asset download successful)
- (void)trackRewardedVideoAdRenderSuccess:(id)adObject adExtra:(NSDictionary *_Nullable)adExtra;
/// When ad data is loaded successfully
- (void)trackRewardedVideoAdDataLoadSuccess:(id)adObject adExtra:(NSDictionary *_Nullable)adExtra;
/// When the reward is granted
- (void)trackRewardedVideoAdRewarded;
/// Whether the ad click jump is in Deeplink form
/// @param success - Success status
- (void)trackRewardedVideoAdDeeplinkOrJumpResult:(BOOL)success;
- (instancetype)initWithInfo:(NSDictionary *)serverInfo localInfo:(NSDictionary *)localInfo;
@property (nonatomic) NSString *userID;
@property (nonatomic, readonly) NSString *unitID;
@property (nonatomic, assign) NSInteger priorityIndex;
@property (nonatomic, strong) id _Nullable protectLifeCycleObject;
@property (nonatomic, strong, nullable) ATRewardedVideo *rewardedVideo;
@property (nonatomic, weak) id<ATRewardedVideoDelegate> delegate;
@end