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);
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
앱과 사용자를 트래킹하고 분석하기 위한 기능 모음 (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)
광고 수익 측정 이벤트 설정