@magicpixel/rn-mp-client-sdk 0.8.6 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n os_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
@@ -46,6 +46,11 @@ class MagicPixelImpl {
46
46
  }
47
47
 
48
48
  this.setAppVersion(options.app_version);
49
+
50
+ if (options.os_version) {
51
+ this.customerIdentifiers.os_version = options.os_version;
52
+ }
53
+
49
54
  await _visitId.VisitIdProcessor.init(options === null || options === void 0 ? void 0 : options.orgId);
50
55
  const fbp = await _visitId.VisitIdProcessor.getFacebookFBP();
51
56
 
@@ -234,6 +239,10 @@ class MagicPixelImpl {
234
239
  this.customerIdentifiers.firebase_instance_id = instanceId;
235
240
  }
236
241
 
242
+ static setDeepLinkUrl(deepLinkUrl) {
243
+ this.deepLinkUrl = deepLinkUrl;
244
+ }
245
+
237
246
  static setFacebookClientId(fbp) {
238
247
  this.customerIdentifiers.fbp = fbp;
239
248
  }
@@ -249,6 +258,10 @@ class MagicPixelImpl {
249
258
  static recordPageLoad(pageLoadInfo) {
250
259
  pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
251
260
 
261
+ if (this.deepLinkUrl) {
262
+ pageLoadInfo.deep_link_url = this.deepLinkUrl;
263
+ }
264
+
252
265
  if (this.customerInfo) {
253
266
  const newPayload = { ...pageLoadInfo,
254
267
  ...this.customerInfo,
@@ -262,8 +275,10 @@ class MagicPixelImpl {
262
275
  ..._utils.Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
263
276
  };
264
277
  this.dl.pushEvent('page_load', newPayload);
265
- }
278
+ } // only set for first page load event and remove after that
266
279
 
280
+
281
+ this.deepLinkUrl = undefined;
267
282
  this.firstAppLaunch = false;
268
283
  }
269
284
 
@@ -275,6 +290,8 @@ _defineProperty(MagicPixelImpl, "customerInfo", void 0);
275
290
 
276
291
  _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
277
292
 
293
+ _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
294
+
278
295
  _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
279
296
 
280
297
  const MagicPixelEventBus = _eventBus.EventBus;
@@ -1 +1 @@
1
- {"version":3,"names":["DL_INIT_EVENT","MagicPixelImpl","init","options","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","VisitIdProcessor","orgId","fbp","getFacebookFBP","Logger","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","parseQueryParamsToObject","deep_link_url","MpDataLayerHelper","EventBus","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["DL_INIT_EVENT","MagicPixelImpl","init","options","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","os_version","customerIdentifiers","VisitIdProcessor","orgId","fbp","getFacebookFBP","Logger","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","setDeepLinkUrl","deepLinkUrl","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","deep_link_url","parseQueryParamsToObject","undefined","MpDataLayerHelper","EventBus","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n\n private static deepLinkUrl: string | undefined = undefined;\n\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n if (options.os_version) {\n this.customerIdentifiers.os_version = options.os_version;\n }\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setDeepLinkUrl(deepLinkUrl: string): void {\n this.deepLinkUrl = deepLinkUrl;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n\n if (this.deepLinkUrl) {\n pageLoadInfo.deep_link_url = this.deepLinkUrl;\n }\n\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n // only set for first page load event and remove after that\n this.deepLinkUrl = undefined;\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n os_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
@@ -28,6 +28,11 @@ class MagicPixelImpl {
28
28
  }
29
29
 
30
30
  this.setAppVersion(options.app_version);
31
+
32
+ if (options.os_version) {
33
+ this.customerIdentifiers.os_version = options.os_version;
34
+ }
35
+
31
36
  await VisitIdProcessor.init(options === null || options === void 0 ? void 0 : options.orgId);
32
37
  const fbp = await VisitIdProcessor.getFacebookFBP();
33
38
 
@@ -195,6 +200,10 @@ class MagicPixelImpl {
195
200
  this.customerIdentifiers.firebase_instance_id = instanceId;
196
201
  }
197
202
 
203
+ static setDeepLinkUrl(deepLinkUrl) {
204
+ this.deepLinkUrl = deepLinkUrl;
205
+ }
206
+
198
207
  static setFacebookClientId(fbp) {
199
208
  this.customerIdentifiers.fbp = fbp;
200
209
  }
@@ -210,6 +219,10 @@ class MagicPixelImpl {
210
219
  static recordPageLoad(pageLoadInfo) {
211
220
  pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
212
221
 
222
+ if (this.deepLinkUrl) {
223
+ pageLoadInfo.deep_link_url = this.deepLinkUrl;
224
+ }
225
+
213
226
  if (this.customerInfo) {
214
227
  const newPayload = { ...pageLoadInfo,
215
228
  ...this.customerInfo,
@@ -223,8 +236,10 @@ class MagicPixelImpl {
223
236
  ...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
224
237
  };
225
238
  this.dl.pushEvent('page_load', newPayload);
226
- }
239
+ } // only set for first page load event and remove after that
227
240
 
241
+
242
+ this.deepLinkUrl = undefined;
228
243
  this.firstAppLaunch = false;
229
244
  }
230
245
 
@@ -236,6 +251,8 @@ _defineProperty(MagicPixelImpl, "customerInfo", void 0);
236
251
 
237
252
  _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
238
253
 
254
+ _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
255
+
239
256
  _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
240
257
 
241
258
  export const MagicPixelEventBus = EventBus;
@@ -1 +1 @@
1
- {"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","parseQueryParamsToObject","deep_link_url","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","os_version","customerIdentifiers","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","setDeepLinkUrl","deepLinkUrl","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","deep_link_url","parseQueryParamsToObject","undefined","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n\n private static deepLinkUrl: string | undefined = undefined;\n\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n if (options.os_version) {\n this.customerIdentifiers.os_version = options.os_version;\n }\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setDeepLinkUrl(deepLinkUrl: string): void {\n this.deepLinkUrl = deepLinkUrl;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n\n if (this.deepLinkUrl) {\n pageLoadInfo.deep_link_url = this.deepLinkUrl;\n }\n\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n // only set for first page load event and remove after that\n this.deepLinkUrl = undefined;\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
@@ -101,5 +101,6 @@ export interface SdkInitOptions {
101
101
  baseUrl: string;
102
102
  device_type?: string;
103
103
  app_version?: string;
104
+ os_version?: string;
104
105
  }
105
106
  export declare type EventBusCallback = (event: string, payload: any) => void;
@@ -4,6 +4,7 @@ declare class MagicPixelImpl {
4
4
  private static dl;
5
5
  private static customerInfo;
6
6
  private static customerIdentifiers;
7
+ private static deepLinkUrl;
7
8
  private static firstAppLaunch;
8
9
  static init(options: SdkInitOptions): Promise<void>;
9
10
  static recordEvent(eventName: string, payload: MapLike): void;
@@ -15,6 +16,7 @@ declare class MagicPixelImpl {
15
16
  private static _fireTMPrivate;
16
17
  static setCustomerInfo(customerInfo: AppCustomerInfo): void;
17
18
  static setFirebaseAppInstanceId(instanceId: string): void;
19
+ static setDeepLinkUrl(deepLinkUrl: string): void;
18
20
  static setFacebookClientId(fbp: string): void;
19
21
  private static setAppVersion;
20
22
  static recordPageLoad(pageLoadInfo: AppPageLoad): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicpixel/rn-mp-client-sdk",
3
- "version": "0.8.6",
3
+ "version": "0.10.0",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -129,6 +129,7 @@ export interface SdkInitOptions {
129
129
  device_type?: string;
130
130
 
131
131
  app_version?: string;
132
+ os_version?: string;
132
133
  }
133
134
 
134
135
  export type EventBusCallback = (event: string, payload: any) => void;
package/src/index.tsx CHANGED
@@ -26,6 +26,9 @@ class MagicPixelImpl {
26
26
  );
27
27
  private static customerInfo: AppCustomerInfo;
28
28
  private static customerIdentifiers: MapLike = {};
29
+
30
+ private static deepLinkUrl: string | undefined = undefined;
31
+
29
32
  private static firstAppLaunch = true;
30
33
 
31
34
  static async init(options: SdkInitOptions): Promise<void> {
@@ -45,6 +48,10 @@ class MagicPixelImpl {
45
48
 
46
49
  this.setAppVersion(options.app_version);
47
50
 
51
+ if (options.os_version) {
52
+ this.customerIdentifiers.os_version = options.os_version;
53
+ }
54
+
48
55
  await VisitIdProcessor.init(options?.orgId);
49
56
 
50
57
  const fbp = await VisitIdProcessor.getFacebookFBP();
@@ -300,6 +307,10 @@ class MagicPixelImpl {
300
307
  this.customerIdentifiers.firebase_instance_id = instanceId;
301
308
  }
302
309
 
310
+ static setDeepLinkUrl(deepLinkUrl: string): void {
311
+ this.deepLinkUrl = deepLinkUrl;
312
+ }
313
+
303
314
  static setFacebookClientId(fbp: string): void {
304
315
  this.customerIdentifiers.fbp = fbp;
305
316
  }
@@ -312,6 +323,11 @@ class MagicPixelImpl {
312
323
 
313
324
  static recordPageLoad(pageLoadInfo: AppPageLoad): void {
314
325
  pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
326
+
327
+ if (this.deepLinkUrl) {
328
+ pageLoadInfo.deep_link_url = this.deepLinkUrl;
329
+ }
330
+
315
331
  if (this.customerInfo) {
316
332
  const newPayload: MapLike = {
317
333
  ...pageLoadInfo,
@@ -328,6 +344,8 @@ class MagicPixelImpl {
328
344
  };
329
345
  this.dl.pushEvent('page_load', newPayload);
330
346
  }
347
+ // only set for first page load event and remove after that
348
+ this.deepLinkUrl = undefined;
331
349
  this.firstAppLaunch = false;
332
350
  }
333
351
  }