[통합로그API No.42] webOS Home에서 ShopTime 진입시 진입점 로그 정보 수집
This commit is contained in:
@@ -191,8 +191,18 @@ function AppBase(props) {
|
|||||||
if (launchParams?.bypass) {
|
if (launchParams?.bypass) {
|
||||||
dispatch(handleBypassLink(launchParams.bypass));
|
dispatch(handleBypassLink(launchParams.bypass));
|
||||||
}
|
}
|
||||||
|
if (launchParams?.contentTarget) {
|
||||||
|
dispatch(handleDeepLink(launchParams?.contentTarget));
|
||||||
|
} else {
|
||||||
|
dispatch(
|
||||||
|
sendLogTotalRecommend({
|
||||||
|
contextName: Config.LOG_CONTEXT_NAME.ENTRY,
|
||||||
|
messageId: Config.LOG_MESSAGE_ID.ENTRY_INFO,
|
||||||
|
entry_menu: "App",
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
dispatch(handleDeepLink(launchParams?.contentTarget));
|
|
||||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||||
dispatch(
|
dispatch(
|
||||||
sendLogTotalRecommend({
|
sendLogTotalRecommend({
|
||||||
|
|||||||
@@ -1,7 +1,14 @@
|
|||||||
|
import { useDispatch } from "react-redux";
|
||||||
import { updateHomeInfo } from "../actions/homeActions";
|
import { updateHomeInfo } from "../actions/homeActions";
|
||||||
import { pushPanel } from "../actions/panelActions";
|
import { pushPanel } from "../actions/panelActions";
|
||||||
import { LOG_MENU, panel_names } from "../utils/Config";
|
import {
|
||||||
|
LOG_CONTEXT_NAME,
|
||||||
|
LOG_MENU,
|
||||||
|
LOG_MESSAGE_ID,
|
||||||
|
panel_names,
|
||||||
|
} from "../utils/Config";
|
||||||
import { SpotlightIds } from "../utils/SpotlightIds";
|
import { SpotlightIds } from "../utils/SpotlightIds";
|
||||||
|
import { sendLogTotalRecommend } from "../actions/logActions";
|
||||||
|
|
||||||
//V2_진입경로코드_진입경로명_MT_노출순번
|
//V2_진입경로코드_진입경로명_MT_노출순번
|
||||||
export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
||||||
@@ -33,6 +40,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
type = tokens[3];
|
type = tokens[3];
|
||||||
|
|
||||||
let panelName = "";
|
let panelName = "";
|
||||||
|
let deeplinkPanel = "";
|
||||||
let panelInfo = {};
|
let panelInfo = {};
|
||||||
|
|
||||||
if (tokens[0] === "V2") {
|
if (tokens[0] === "V2") {
|
||||||
@@ -50,6 +58,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
// "MT": Main TOP
|
// "MT": Main TOP
|
||||||
// V3_진입경로코드_진입경로명_MT_노출순번
|
// V3_진입경로코드_진입경로명_MT_노출순번
|
||||||
panelName = panel_names.HOME_PANEL;
|
panelName = panel_names.HOME_PANEL;
|
||||||
|
deeplinkPanel = "Main TOP";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PD":
|
case "PD":
|
||||||
@@ -60,6 +69,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
expsOrd = tokens[6]; // 노출순번
|
expsOrd = tokens[6]; // 노출순번
|
||||||
curationId = tokens[7]; // 큐레이션아이디
|
curationId = tokens[7]; // 큐레이션아이디
|
||||||
panelName = panel_names.DETAIL_PANEL;
|
panelName = panel_names.DETAIL_PANEL;
|
||||||
|
deeplinkPanel = "Product Detaoil";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
prdtId: prdtId,
|
prdtId: prdtId,
|
||||||
@@ -75,6 +85,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
expsOrd = tokens[6]; // 노출순번
|
expsOrd = tokens[6]; // 노출순번
|
||||||
curationId = tokens[7]; // 큐레이션아이디
|
curationId = tokens[7]; // 큐레이션아이디
|
||||||
panelName = panel_names.PLAYER_PANEL;
|
panelName = panel_names.PLAYER_PANEL;
|
||||||
|
deeplinkPanel = "Live Show";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
chanId: chanId,
|
chanId: chanId,
|
||||||
@@ -91,6 +102,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
expsOrd = tokens[6]; // 노출순번
|
expsOrd = tokens[6]; // 노출순번
|
||||||
curationId = tokens[7]; // 큐레이션아이디
|
curationId = tokens[7]; // 큐레이션아이디
|
||||||
panelName = panel_names.PLAYER_PANEL;
|
panelName = panel_names.PLAYER_PANEL;
|
||||||
|
deeplinkPanel = "VOD Show";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
showId: showId,
|
showId: showId,
|
||||||
@@ -111,6 +123,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
expsOrd = tokens[7]; // 노출순번
|
expsOrd = tokens[7]; // 노출순번
|
||||||
grNumber = tokens[8]; // 그룹번호
|
grNumber = tokens[8]; // 그룹번호
|
||||||
panelName = panel_names.DETAIL_PANEL;
|
panelName = panel_names.DETAIL_PANEL;
|
||||||
|
deeplinkPanel = "Theme Detail";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
curationId: curationId,
|
curationId: curationId,
|
||||||
@@ -125,10 +138,12 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
case "HD":
|
case "HD":
|
||||||
// "HD": Hotel Detail
|
// "HD": Hotel Detail
|
||||||
// V3_진입경로코드_진입경로명_HD_파트너아이디_큐레이션아이디_노출순번
|
// V3_진입경로코드_진입경로명_HD_파트너아이디_큐레이션아이디_노출순번
|
||||||
|
|
||||||
patnrId = tokens[4]; // 파트너아이디
|
patnrId = tokens[4]; // 파트너아이디
|
||||||
curationId = tokens[5]; // 큐레이션아이디
|
curationId = tokens[5]; // 큐레이션아이디
|
||||||
expsOrd = tokens[6]; // 노출순번
|
expsOrd = tokens[6]; // 노출순번
|
||||||
panelName = panel_names.DETAIL_PANEL;
|
panelName = panel_names.DETAIL_PANEL;
|
||||||
|
deeplinkPanel = "Hotel Detail";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
curationId: curationId,
|
curationId: curationId,
|
||||||
@@ -140,10 +155,12 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
case "HP":
|
case "HP":
|
||||||
// "HP": Hot Picks
|
// "HP": Hot Picks
|
||||||
// V3_진입경로코드_진입경로명_HP_파트너아이디_큐레이션아이디_노출순번
|
// V3_진입경로코드_진입경로명_HP_파트너아이디_큐레이션아이디_노출순번
|
||||||
|
|
||||||
patnrId = tokens[4]; // 파트너아이디
|
patnrId = tokens[4]; // 파트너아이디
|
||||||
curationId = tokens[5]; // 큐레이션아이디
|
curationId = tokens[5]; // 큐레이션아이디
|
||||||
expsOrd = tokens[6]; // 노출순번
|
expsOrd = tokens[6]; // 노출순번
|
||||||
panelName = panel_names.HOT_PICKS_PANEL;
|
panelName = panel_names.HOT_PICKS_PANEL;
|
||||||
|
deeplinkPanel = "Hot Picks";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
curationId: curationId,
|
curationId: curationId,
|
||||||
@@ -156,6 +173,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
// V3_진입경로코드_진입경로명_WE_이벤트아이디
|
// V3_진입경로코드_진입경로명_WE_이벤트아이디
|
||||||
evntId = tokens[4]; // 이벤트아이디
|
evntId = tokens[4]; // 이벤트아이디
|
||||||
panelName = panel_names.WELCOME_EVENT_PANEL;
|
panelName = panel_names.WELCOME_EVENT_PANEL;
|
||||||
|
deeplinkPanel = "Welcome Event";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
evntId: evntId,
|
evntId: evntId,
|
||||||
};
|
};
|
||||||
@@ -167,6 +185,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
lgCatCd = tokens[4]; // LG카테고리Code
|
lgCatCd = tokens[4]; // LG카테고리Code
|
||||||
lgCatNm = tokens[5]; // 서브카테고리명
|
lgCatNm = tokens[5]; // 서브카테고리명
|
||||||
panelName = panel_names.ON_SALE_PANEL;
|
panelName = panel_names.ON_SALE_PANEL;
|
||||||
|
deeplinkPanel = "On Sale";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
lgCatCd: lgCatCd,
|
lgCatCd: lgCatCd,
|
||||||
lgCatNm: lgCatNm,
|
lgCatNm: lgCatNm,
|
||||||
@@ -177,16 +196,19 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
// "BS": Best Sellers
|
// "BS": Best Sellers
|
||||||
// V3_진입경로코드_진입경로명_BS
|
// V3_진입경로코드_진입경로명_BS
|
||||||
panelName = panel_names.TRENDING_NOW_PANEL;
|
panelName = panel_names.TRENDING_NOW_PANEL;
|
||||||
|
deeplinkPanel = "Best Sellers";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
pageName: "BS",
|
pageName: "BS",
|
||||||
focusedContainerId: SpotlightIds.TRENDING_NOW_BEST_SELLER,
|
focusedContainerId: SpotlightIds.TRENDING_NOW_BEST_SELLER,
|
||||||
};
|
};
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PS":
|
case "PS":
|
||||||
// "PS": Popular Shows
|
// "PS": Popular Shows
|
||||||
// V3_진입경로코드_진입경로명_PS_노출순번
|
// V3_진입경로코드_진입경로명_PS_노출순번
|
||||||
panelName = panel_names.TRENDING_NOW_PANEL;
|
panelName = panel_names.TRENDING_NOW_PANEL;
|
||||||
|
deeplinkPanel = "Popular Shows";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
pageName: "PS",
|
pageName: "PS",
|
||||||
focusedContainerId: SpotlightIds.TRENDING_NOW_POPULAR_SHOW,
|
focusedContainerId: SpotlightIds.TRENDING_NOW_POPULAR_SHOW,
|
||||||
@@ -201,7 +223,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
lgCatNm = tokens[5]; // 서브카테고리명
|
lgCatNm = tokens[5]; // 서브카테고리명
|
||||||
tabType = tokens[6].toLowerCase(); // 컨텐츠타입
|
tabType = tokens[6].toLowerCase(); // 컨텐츠타입
|
||||||
panelName = panel_names.CATEGORY_PANEL;
|
panelName = panel_names.CATEGORY_PANEL;
|
||||||
|
deeplinkPanel = "Sub Category";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
lgCatCd: lgCatCd,
|
lgCatCd: lgCatCd,
|
||||||
lgCatNm: lgCatNm,
|
lgCatNm: lgCatNm,
|
||||||
@@ -214,6 +236,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
// V3_진입경로코드_진입경로명_FB_파트너아이디_노출순번
|
// V3_진입경로코드_진입경로명_FB_파트너아이디_노출순번
|
||||||
patnrId = tokens[4]; // 파트너아이디
|
patnrId = tokens[4]; // 파트너아이디
|
||||||
panelName = panel_names.FEATURED_BRANDS_PANEL;
|
panelName = panel_names.FEATURED_BRANDS_PANEL;
|
||||||
|
deeplinkPanel = "Featured Brands";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
};
|
};
|
||||||
@@ -222,6 +245,7 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
case "TM":
|
case "TM":
|
||||||
curationId = tokens[4]; // 큐레이션 아이디
|
curationId = tokens[4]; // 큐레이션 아이디
|
||||||
panelName = panel_names.THEME_CURATION_PANEL;
|
panelName = panel_names.THEME_CURATION_PANEL;
|
||||||
|
deeplinkPanel = "THEME MENU";
|
||||||
panelInfo = {
|
panelInfo = {
|
||||||
curationId: curationId,
|
curationId: curationId,
|
||||||
};
|
};
|
||||||
@@ -236,6 +260,16 @@ export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
|
|||||||
// break;
|
// break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispatch(
|
||||||
|
sendLogTotalRecommend({
|
||||||
|
contextName: LOG_CONTEXT_NAME.ENTRY,
|
||||||
|
messageId: LOG_MESSAGE_ID.ENTRY_INFO,
|
||||||
|
deeplink: deeplinkPanel,
|
||||||
|
curationId: curationId ? curationId : showId,
|
||||||
|
productId: prdtId,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
if (panelName) {
|
if (panelName) {
|
||||||
const action =
|
const action =
|
||||||
panelName === panel_names.HOME_PANEL ? updateHomeInfo : pushPanel;
|
panelName === panel_names.HOME_PANEL ? updateHomeInfo : pushPanel;
|
||||||
|
|||||||
@@ -1610,7 +1610,7 @@ export const sendLogTotalRecommend = (params) => (dispatch, getState) => {
|
|||||||
...params,
|
...params,
|
||||||
userNumber: userNumber,
|
userNumber: userNumber,
|
||||||
macAddr: macAddr ? macAddr : localMacAddress,
|
macAddr: macAddr ? macAddr : localMacAddress,
|
||||||
entryMenu: entryMenu,
|
entryMenu: entryMenu ? entryMenu : "APP",
|
||||||
logCreateTime,
|
logCreateTime,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -601,6 +601,7 @@ export const LOG_CONTEXT_NAME = {
|
|||||||
SEARCH: "shoptime.search",
|
SEARCH: "shoptime.search",
|
||||||
THEME_CURATION: "shoptime.themeCuration",
|
THEME_CURATION: "shoptime.themeCuration",
|
||||||
CATEGORY: "shoptime.category",
|
CATEGORY: "shoptime.category",
|
||||||
|
ENTRY: "shoptime.entry",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const LOG_MESSAGE_ID = {
|
export const LOG_MESSAGE_ID = {
|
||||||
@@ -622,4 +623,5 @@ export const LOG_MESSAGE_ID = {
|
|||||||
HOTPICKS_CLICK: "AL_HOTPICKS_CLICK",
|
HOTPICKS_CLICK: "AL_HOTPICKS_CLICK",
|
||||||
SEARCH_RESULT_CLICK: "AL_SEARCH_RESULT_CLICK",
|
SEARCH_RESULT_CLICK: "AL_SEARCH_RESULT_CLICK",
|
||||||
SEARCH_ITEM: "AL_SEARCH_ITEM",
|
SEARCH_ITEM: "AL_SEARCH_ITEM",
|
||||||
|
ENTRY_INFO: "AL_APP_ENTRY_INFO",
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user