#pragma once

/**
 * pokkt-to-framework events
 **/
//Video Ad Related Events
#define EVENT_VIDEO_AD_CACHING_COMPLETED        "VideoAdCachingCompleted"
#define EVENT_VIDEO_AD_CACHING_FAILED           "VideoAdCachingFailed"
#define EVENT_VIDEO_AD_CLOSED                   "VideoAdClosed"
#define EVENT_VIDEO_AD_COMPLETED                "VideoAdCompleted"
#define EVENT_VIDEO_AD_FAILED_TO_SHOW           "VideoAdFailedToShow"
#define EVENT_VIDEO_AD_DISPLAYED                "VideoAdDisplayed"
#define EVENT_VIDEO_AD_CLICKED                  "VideoAdClicked"
#define EVENT_VIDEO_AD_SKIPPED                  "VideoAdSkipped"
#define EVENT_VIDEO_AD_GRATIFIED                "VideoAdGratified"

//Interstitial Related Events
#define EVENT_INTERSTITIAL_CACHING_COMPLETED        "InterstitialCachingCompleted"
#define EVENT_INTERSTITIAL_CACHING_FAILED           "InterstitialCachingFailed"
#define EVENT_INTERSTITIAL_CLOSED                   "InterstitialClosed"
#define EVENT_INTERSTITIAL_COMPLETED                "InterstitialCompleted"
#define EVENT_INTERSTITIAL_FAILED_TO_SHOW           "InterstitialFailedToShow"
#define EVENT_INTERSTITIAL_DISPLAYED                "InterstitialDisplayed"
#define EVENT_INTERSTITIAL_CLICKED                  "InterstitialClicked"
#define EVENT_INTERSTITIAL_SKIPPED                  "InterstitialSkipped"
#define EVENT_INTERSTITIAL_GRATIFIED                "InterstitialGratified"


/**
 * various pokkt-operations
 **/
#define SET_POKKT_CONFIG_OP						"setPokktConfig"
#define SET_THIRDPARTY_ID_OP					"setThirdPartyUserId"
#define SET_PLAYER_VIEW_CONFIG_OP				"setAdPlayerViewConfig"
#define SET_USER_DETAILS_OP						"setUserDetails"
#define SET_CALLBACK_EXTRA_PARAMS_OP            "setCallbackExtraParam"

#define VIDEO_CACHE_REWARDED_OP					"VideoAd_cacheRewarded"
#define VIDEO_SHOW_REWARDED_OP					"VideoAd_showRewarded"
#define VIDEO_CACHE_NONREWARDED_OP				"VideoAd_cacheNonRewarded"
#define VIDEO_SHOW_NONREWARDED_OP				"VideoAd_showNonRewarded"

#define INTERSTITIAL_CACHE_REWARDED_OP			"Interstitial_cacheRewarded"
#define INTERSTITIAL_SHOW_REWARDED_OP			"Interstitial_showRewarded"
#define INTERSTITIAL_CACHE_NONREWARDED_OP		"Interstitial_cacheNonRewarded"
#define INTERSTITIAL_SHOW_NONREWARDED_OP		"Interstitial_showNonRewarded"

#define BANNER_LOAD_OP							"Banner_loadBanner"
#define BANNER_DESTROY_OP						"Banner_destroyBanner"

#define ANALYTICS_SET_DETAILS_OP				"Analytics_setAnalyticsDetails"
#define ANALYTICS_TRACK_IAP_OP					"Analytics_trackIAP"
#define ANALYTICS_UPDATE_IGA_DATA_OP			"Analytics_updateIGAData"

#define DEBUGGING_SHOULD_DEBUG_OP				"Debugging_shouldDebug"
#define DEBUGGING_EXPORT_LOG_OP					"Debugging_exportLog"
#define DEBUGGING_EXPORT_LOG_TO_CLOUD_OP		"Debugging_exportLogToCloud"
#define DEBUGGING_SHOW_TOAST_OP					"Debugging_showToast"
#define DEBUGGING_SHOW_LOG_OP					"Debugging_showLog"

#define SET_DATA_ACCESS_CONSENT_OP				"setDataAccessConsent"



#include "CoreUObject.h"
#include "Engine.h"
#include "IPokktAds.h"
#include "PokktAdsClasses.h"


DECLARE_LOG_CATEGORY_EXTERN(LogPokktAds, Log, All);
