16#ifndef __HIVE_ANALYTICS_H__
17#define __HIVE_ANALYTICS_H__
25class AnalyticsAdRevenue;
30class IAnalyticsSpecific;
33#define HIVE_SDK_ANALYTICS_CONSENT_TYPE_AD_STORAGE "ad_storage"
34#define HIVE_SDK_ANALYTICS_CONSENT_TYPE_AD_USER_DATA "ad_user_data"
35#define HIVE_SDK_ANALYTICS_CONSENT_TYPE_AD_PERSONALIZATION "ad_personalization"
36#define HIVE_SDK_ANALYTICS_CONSENT_TYPE_ANALYTICS_STORAGE "analytics_storage"
37#define HIVE_SDK_ANALYTICS_CONSENT_GRANTED "granted"
38#define HIVE_SDK_ANALYTICS_CONSENT_DENIED "denied"
71 typedef std::function<void(
ResultAPI const & result, std::vector<ConsentStatus>
const & consentStatus)> onShowConsentMode;
166 static unsigned int getRemainAnalyticsLogCount();
210 static void sendUserEntryFunnelsLogs(std::string funnelTrack, std::string optionTag);
222 static void setConsent(std::string providerName, std::map<std::string, std::string> settings);
231 static std::map<std::string, std::string> getConsent(std::string providerName);
246 static void showConsentModeIfRequire(
bool checkCmp, ConsentMode* consentMode, onShowConsentMode listener);
260 static void showConsentMode(ConsentMode* consentMode, onShowConsentMode listener);
264 static void executeEngine(picojson::value jsonParam);
267class HIVESDK_DLLEXPORT AnalyticsAdRevenue
273 std::string adPlatform;
275 std::string adUnitId;
279 std::string adPlacement;
281 std::string currency;
283 AnalyticsAdRevenue();
285 AnalyticsAdRevenue(
double revenue, std::string adPlatform, std::string adUnitId, std::string adType, std::string adPlacement, std::string currency);
287 AnalyticsAdRevenue(picojson::value jsonParam);
289 picojson::object toJson()
const;
291 std::string toString()
const;
294class HIVESDK_DLLEXPORT ConsentStatus {
302 ConsentStatus(picojson::value jsonParam);
304 picojson::object toJson()
const;
305 std::string toString()
const;
308class HIVESDK_DLLEXPORT ConsentForm {
314 std::vector<ConsentForm> subForms;
317 ConsentForm(picojson::value jsonParam);
319 picojson::object toJson()
const;
320 std::string toString()
const;
323class HIVESDK_DLLEXPORT ConsentMode {
326 std::string companyName;
327 std::string privacyPolicy;
328 ConsentForm* adUserData;
329 ConsentForm* adPersonalization;
330 ConsentForm* analyticsStorage;
334 ConsentMode(picojson::value jsonParam);
336 picojson::object toJson()
const;
337 std::string toString()
const;
348 picojson::object customAttributes;
349 picojson::object moduleSpecificAttributes;
353 void addCustomAttribute(
const std::string& key,
const picojson::value& value);
354 void addModuleSpecificAttribute(
const IAnalyticsSpecific& specific);
356 virtual picojson::object toJson()
const;
357 virtual std::string toString()
const;
362class HIVESDK_DLLEXPORT IAnalyticsSpecific
365 std::string providerName;
367 IAnalyticsSpecific();
369 virtual picojson::object toJson()
const;
370 virtual std::string toString()
const;
372 virtual ~IAnalyticsSpecific() =
default;
384 picojson::object semanticAttributes;
388 void setSemanticAction(
const std::string& value);
389 void setSemanticLabel(
const std::string& value);
390 void setSemanticValue(
const double value);
391 void addSemanticAttribute(
const std::string& key,
const picojson::value& value);
392 picojson::object toJson()
const override;
393 std::string toString()
const override;
Analytics 추가 데이터 (Airbridge 추가 데이터 포함)
Definition: HIVE_Analytics.h:382
Analytics 추가 데이터
Definition: HIVE_Analytics.h:346
A collection of features for tracking and analyzing apps and users (User Tracking Tool Wrapper & Cal...
Definition: HIVE_Analytics.h:52
Definition: HIVE_ResultAPI.h:64
static void sendEvent(std::string eventName)
Send event for user analysis.
static void setEnableTrackerWithName(std::string name, bool isEnable)
Set whether to use User Information Tracker for user analysis.
static bool sendAnalyticsLog(picojson::object &logData)
Send log for analysis.
TrackingType
Tracker type for user analysis.
Definition: HIVE_Analytics.h:64
static void sendEventWithAttributes(std::string eventName, AnalyticsAttributes const &attributes)
Send event for user analysis.
static void setEnableTracker(TrackingType trackingType, bool isEnable)
Set whether to use User Information Tracker for user analysis.
static void sendAdRevenueEvent(AnalyticsAdRevenue analyticsAdRevenue)
Send events for ad revenue measurement.