UNPKG

@shopgate/pwa-tracking

Version:

Tracking library for the Shopgate Connect PWA.

10 lines 2.01 kB
import{pushNotificationOpened$,deeplinkOpened$,universalLinkOpened$}from'@shopgate/engage/core/streams';import{track}from"../helpers/index";/** * Deeplink and push message tracking subscriptions. * @param {Function} subscribe The subscribe function. */export default function deeplinkPush(subscribe){/** * Gets triggered when a deeplink was opened. */subscribe(deeplinkOpened$,function(_ref){var getState=_ref.getState,action=_ref.action;var state=getState();var _action$payload=action.payload,_action$payload$link=_action$payload.link,link=_action$payload$link===void 0?'':_action$payload$link,_action$payload$sourc=_action$payload.sourceApp,sourceApp=_action$payload$sourc===void 0?'':_action$payload$sourc,wasOpenedFromSearchIndex=_action$payload.wasOpenedFromSearchIndex;var eventLabel=wasOpenedFromSearchIndex?'os_search':sourceApp;track('openDeepLink',{eventAction:link,eventLabel:eventLabel},state);track('setCampaignWithUrl',{url:link,type:'deeplink'},state);});/** * Gets triggered when a push was opened. */subscribe(pushNotificationOpened$,function(_ref2){var getState=_ref2.getState,action=_ref2.action;var state=getState();var notificationId=action.notificationId?action.notificationId.toString():'n/a';track('openPushNotification',{eventAction:'opened',eventLabel:notificationId},state);track('setCampaignWithUrl',{url:action.link,notificationId:notificationId,type:'push_message'},state);});/** * Gets triggered when a universal link was opened. */subscribe(universalLinkOpened$,function(_ref3){var getState=_ref3.getState,action=_ref3.action;var state=getState();var _action$payload2=action.payload,_action$payload2$link=_action$payload2.link,link=_action$payload2$link===void 0?'':_action$payload2$link,wasOpenedFromSearchIndex=_action$payload2.wasOpenedFromSearchIndex;var eventLabel=wasOpenedFromSearchIndex?'os_search':'n/a';track('openUniversalLink',{eventAction:link,eventLabel:eventLabel},state);track('setCampaignWithUrl',{url:link,type:'universal_link'},state);});}