spitfirepm 1.30.181 → 1.40.185

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.
@@ -2,6 +2,7 @@
2
2
  import { GoogleAnalyticPayload } from "./globals";
3
3
  export declare class APIClientBase {
4
4
  static _SiteURL: string | null;
5
+ /** Spitfire Assigned Site ID */
5
6
  private static GAClientID;
6
7
  private static GAIgnoreActions;
7
8
  getBaseUrl(baseURL: string): string;
@@ -9,6 +10,7 @@ export declare class APIClientBase {
9
10
  protected GAAPIEvent(action: string, label: string): JQuery.Promise<any> | undefined;
10
11
  static GAMonitorEvent(clientID: string, category: string, action: string, label: string, value: number): JQuery.Promise<any> | undefined;
11
12
  static GAMonitorSendFailed: boolean;
13
+ static GA4MonitorSendFailed: boolean;
12
14
  /** POSTS supplied payload to Google Analytics
13
15
  * @summary - Defaults property ID (tid) to sfPMS and version (v) to 1
14
16
  * - One failure disables all future tracking on this client instance
@@ -17,4 +19,22 @@ export declare class APIClientBase {
17
19
  *
18
20
  */
19
21
  static GAMonitorSend(payload: GoogleAnalyticPayload): JQuery.Promise<any>;
22
+ /** converts and posts supplied payload to Google Analytics v4
23
+ * @summary - Defaults property ID (tid) to sfPMS and version (v) to 1
24
+ * - One failure disables all future tracking on this client instance
25
+ * @async uses jQuery.ajax
26
+ * @see https://developers.google.com/analytics/devguides/collection/protocol/ga4
27
+ * Requests can have a maximum of 25 events.
28
+ * Events can have a maximum of 25 parameters.
29
+ * Events can have a maximum of 25 user properties.
30
+ * User property names must be 24 characters or fewer.
31
+ * User property values must be 36 characters or fewer.
32
+ * Event names must be 40 characters or fewer, may only contain alpha-numeric characters and underscores, and must start with an alphabetic character.
33
+ * Parameter names (including item parameters) must be 40 characters or fewer, may only contain alpha-numeric characters and underscores, and must start with an alphabetic character.
34
+ * Parameter values (including item parameter values) must be 100 character or fewer.
35
+ * Item parameters can have a maximum of 10 custom parameters.
36
+ * The post body must be smaller than 130kB.
37
+ *
38
+ */
39
+ static GA4MonitorSend(payload: GoogleAnalyticPayload): JQuery.Promise<any>;
20
40
  }
@@ -43,7 +43,7 @@ class APIClientBase {
43
43
  el: label,
44
44
  ev: value
45
45
  };
46
- return APIClientBase.GAMonitorSend(payload);
46
+ return APIClientBase.GA4MonitorSend(payload);
47
47
  // .done(function (data, textStatus, jqXHR) {
48
48
  // console.log(`GAMonitor(${category}:${action}) ${label} ok`);
49
49
  // })
@@ -60,6 +60,9 @@ class APIClientBase {
60
60
  *
61
61
  */
62
62
  static GAMonitorSend(payload) {
63
+ if ((typeof (APIClientBase.GA4MonitorSendFailed) === "boolean") && (!APIClientBase.GA4MonitorSendFailed)) {
64
+ return this.GA4MonitorSend(payload);
65
+ }
63
66
  if ((typeof (APIClientBase.GAMonitorSendFailed) === "boolean") && (APIClientBase.GAMonitorSendFailed)) {
64
67
  var darnSoon = $.Deferred();
65
68
  var GASendDone = darnSoon.promise();
@@ -80,10 +83,75 @@ class APIClientBase {
80
83
  APIClientBase.GAMonitorSendFailed = true;
81
84
  });
82
85
  }
86
+ /** converts and posts supplied payload to Google Analytics v4
87
+ * @summary - Defaults property ID (tid) to sfPMS and version (v) to 1
88
+ * - One failure disables all future tracking on this client instance
89
+ * @async uses jQuery.ajax
90
+ * @see https://developers.google.com/analytics/devguides/collection/protocol/ga4
91
+ * Requests can have a maximum of 25 events.
92
+ * Events can have a maximum of 25 parameters.
93
+ * Events can have a maximum of 25 user properties.
94
+ * User property names must be 24 characters or fewer.
95
+ * User property values must be 36 characters or fewer.
96
+ * Event names must be 40 characters or fewer, may only contain alpha-numeric characters and underscores, and must start with an alphabetic character.
97
+ * Parameter names (including item parameters) must be 40 characters or fewer, may only contain alpha-numeric characters and underscores, and must start with an alphabetic character.
98
+ * Parameter values (including item parameter values) must be 100 character or fewer.
99
+ * Item parameters can have a maximum of 10 custom parameters.
100
+ * The post body must be smaller than 130kB.
101
+ *
102
+ */
103
+ static GA4MonitorSend(payload) {
104
+ if ((typeof (APIClientBase.GA4MonitorSendFailed) === "boolean") && (APIClientBase.GA4MonitorSendFailed)) {
105
+ var darnSoon = $.Deferred();
106
+ var GASendDone = darnSoon.promise();
107
+ darnSoon.resolve("fake"); //makes GASendDone be ready
108
+ return GASendDone;
109
+ }
110
+ const measurement_id = 'G-9NW0XG0RRE';
111
+ const apiSecret = 'gCh1G03eRv2mIkT1uAiu0Q';
112
+ if (payload.t === "pageview")
113
+ payload.ec = payload.t;
114
+ if (!payload.tid)
115
+ delete payload.tid;
116
+ if (!payload.v)
117
+ payload.v = 1;
118
+ let G4Payload = { client_id: payload.cid, non_personalized_ads: true, "events": [{ name: payload.ec, "params": { "items": []
119
+ } }] };
120
+ if (payload.ec === "npmREST") {
121
+ if (payload.ea)
122
+ G4Payload.events[0].params.controller = payload.ea;
123
+ if (payload.el)
124
+ G4Payload.events[0].params.endpoint = payload.el;
125
+ }
126
+ else {
127
+ if (payload.ea)
128
+ G4Payload.events[0].params.action = payload.ea;
129
+ if (payload.el)
130
+ G4Payload.events[0].params.label = payload.el;
131
+ }
132
+ if (payload.ev)
133
+ G4Payload.events[0].params.value = payload.ev;
134
+ if (payload.dl)
135
+ G4Payload.events[0].params.url = payload.dl;
136
+ if (payload.dt)
137
+ G4Payload.events[0].params.title = payload.dt;
138
+ //console.log(`GA4MonitorSend() : `,G4Payload);
139
+ return $.ajax({
140
+ type: "POST",
141
+ url: `https://www.google-analytics.com/mp/collect?api_secret=${apiSecret}&measurement_id=${measurement_id}`,
142
+ async: true,
143
+ data: JSON.stringify(G4Payload)
144
+ }).fail(function (jqXHR, textStatus) {
145
+ console.warn(`GA4MonitorSend() failed: ${jqXHR.responseText}`, G4Payload);
146
+ // APIClientBase.GA4MonitorSendFailed = true;
147
+ });
148
+ }
83
149
  }
84
150
  exports.APIClientBase = APIClientBase;
85
151
  APIClientBase._SiteURL = null;
152
+ /** Spitfire Assigned Site ID */
86
153
  APIClientBase.GAClientID = undefined;
87
154
  APIClientBase.GAIgnoreActions = { account: true, session: true, suggestions: true, viewable: true };
88
155
  APIClientBase.GAMonitorSendFailed = false;
156
+ APIClientBase.GA4MonitorSendFailed = false;
89
157
  //# sourceMappingURL=APIClientBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"APIClientBase.js","sourceRoot":"","sources":["../src/APIClientBase.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAIf,UAAU,CAAE,OAAgB;QAC/B,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE;YACjC,IAAI,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5J,aAAa,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;SACtF;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAClC,CAAC;IAES,eAAe,CAAC,GAAW,EAAE,QAAkB,EAAE,SAAsC;QAC5F,MAAM,QAAQ,GAAG,6DAA6D,CAAC;QAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACjE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1E,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,eAAe,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACnI;;YACI,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,EAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAES,UAAU,CAAC,MAAa,EAAE,KAAa;QAC7C,IAAI,CAAC,aAAa,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,MAAM,IAAE,SAAS,IAAI,KAAK,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC;QAC1D,OAAO,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEM,MAAM,CAAC,cAAc,CAAG,QAAe,EAAG,QAAe,EAAE,MAAa,EAAE,KAAY,EAAE,KAAY;QAEvG,IAAI,CAAC,QAAQ,IAAI,CAAE,aAAa,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,UAAU;YAAE,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAC;QAEnE,IAAI,OAAO,GAA2B;YAClC,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,OAAO;YACV,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,aAAa,CAAC,UAAU;YAC7B,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;SACZ,CAAA;QAED,OAAO,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,6CAA6C;QAC7C,mEAAmE;QACnE,KAAK;QACL,uCAAuC;QACvC,sFAAsF;QACtF,gDAAgD;QAChD,MAAM;IAE1B,CAAC;IAID;;;;;;MAME;IACK,MAAM,CAAC,aAAa,CAAC,OAA6B;QACrD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;YACnG,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE,2BAA2B;YACtD,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,CAAC,GAAG,GAAG,cAAc,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,0CAA0C;YAC/C,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,UAAU;YAC/B,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,YAAY,EAAE,EAAC,OAAO,CAAC,CAAC;YACtE,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;;AAnFL,sCAqFC;AApFU,sBAAQ,GAAmB,IAAI,CAAC;AACvB,wBAAU,GAAwB,SAAS,CAAC;AAC7C,6BAAe,GAAG,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAoD3F,iCAAmB,GAAY,KAAK,CAAC"}
1
+ {"version":3,"file":"APIClientBase.js","sourceRoot":"","sources":["../src/APIClientBase.ts"],"names":[],"mappings":"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"}