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();
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);
266 static void executeEngine(picojson::value jsonParam);
269class HIVESDK_DLLEXPORT AnalyticsAdRevenue
275 std::string adPlatform;
277 std::string adUnitId;
281 std::string adPlacement;
283 std::string currency;
285 AnalyticsAdRevenue();
287 AnalyticsAdRevenue(
double revenue, std::string adPlatform, std::string adUnitId, std::string adType, std::string adPlacement, std::string currency);
289 AnalyticsAdRevenue(picojson::value jsonParam);
291 picojson::object toJson()
const;
293 std::string toString()
const;
296class HIVESDK_DLLEXPORT ConsentStatus {
298 std::string providerName;
299 std::string consentForDataUsage;
300 std::string consentForPersonalization;
305 ConsentStatus(picojson::value jsonParam);
307 picojson::object toJson()
const;
308 std::string toString()
const;
311class HIVESDK_DLLEXPORT ConsentForm {
313 std::string providerName;
315 std::string dataUsageTitle;
316 std::string dataUsageDescription;
317 std::string personalizationTitle;
318 std::string personalizationDescription;
321 ConsentForm(picojson::value jsonParam);
323 picojson::object toJson()
const;
324 std::string toString()
const;
327class HIVESDK_DLLEXPORT ConsentMode {
330 std::string companyName;
331 std::string privacyPolicy;
332 ConsentForm* mainForm;
333 std::vector<ConsentForm> formList;
337 ConsentMode(picojson::value jsonParam);
339 picojson::object toJson()
const;
340 std::string toString()
const;
351 picojson::object customAttributes;
352 picojson::object moduleSpecificAttributes;
356 void addCustomAttribute(
const std::string& key,
const picojson::value& value);
357 void addModuleSpecificAttribute(
const IAnalyticsSpecific& specific);
359 virtual picojson::object toJson()
const;
360 virtual std::string toString()
const;
365class HIVESDK_DLLEXPORT IAnalyticsSpecific
368 std::string providerName;
370 IAnalyticsSpecific();
372 virtual picojson::object toJson()
const;
373 virtual std::string toString()
const;
375 virtual ~IAnalyticsSpecific() =
default;
387 picojson::object semanticAttributes;
391 void setSemanticAction(
const std::string& value);
392 void setSemanticLabel(
const std::string& value);
393 void setSemanticValue(
const double value);
394 void addSemanticAttribute(
const std::string& key,
const picojson::value& value);
395 picojson::object toJson()
const override;
396 std::string toString()
const override;
Analytics 추가 데이터 (Airbridge 추가 데이터 포함)
Definition: HIVE_Analytics.h:385
Analytics 추가 데이터
Definition: HIVE_Analytics.h:349
앱과 사용자를 트래킹하고 분석하기 위한 기능 모음 (User Tracking Tool Wrapper & Callect Analytics Log API)
Definition: HIVE_Analytics.h:52
static void sendUserEntryFunnelsLogs(std::string funnelTrack, std::string optionTag)
사용자의 퍼널 분석을 위한 지표를 전송한다.
static void showConsentModeIfRequire(bool checkCmp, ConsentMode *consentMode, onShowConsentMode listener)
개인 정보를 사용하는 데 최종 사용자 동의를 받기 위한 UI를 노출합니다.
static void showConsentMode(ConsentMode *consentMode, onShowConsentMode listener)
개인 정보를 사용하는 데 최종 사용자 동의를 받기 위한 UI를 노출합니다.
static std::map< std::string, std::string > getConsent(std::string providerName)
각 provider별 setConsent 으로 설정한 동의 유형별 동의 상태를 반환한다.
static void setConsent(std::string providerName, std::map< std::string, std::string > settings)
각 Provider 별로 서드 파티 동의 관리 플랫폼(CMP) 또는 맞춤 솔루션으로 구현한 최종 사용자 동의 상태를 설정한다.
Definition: HIVE_ResultAPI.h:64
static void sendEvent(std::string eventName)
사용자 분석을 위한 사용자 정보 이벤트 설정
static void setEnableTrackerWithName(std::string name, bool isEnable)
사용자 분석을 위한 사용자 정보 트래커 사용 유무 설정
static bool sendAnalyticsLog(picojson::object &logData)
분석용 로그 전송.
TrackingType
사용자 분석을 위한 서드 파티 트래커 형태
Definition: HIVE_Analytics.h:64
static void sendEventWithAttributes(std::string eventName, AnalyticsAttributes const &attributes)
사용자 분석을 위한 사용자 정보 이벤트 설정
static void setEnableTracker(TrackingType trackingType, bool isEnable)
사용자 분석을 위한 사용자 정보 트래커 사용 유무 설정
static void sendAdRevenueEvent(AnalyticsAdRevenue analyticsAdRevenue)
광고 수익 측정 이벤트 설정