2 lines
4.9 KiB
JavaScript
2 lines
4.9 KiB
JavaScript
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(t){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},i=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),i.forEach((function(n){e(t,n,a[n])}))}return t}var n={trackingId:null,debug:!1,anonymizeIp:!1,customDimensions:{},resetCustomDimensionsOnPage:[],setCustomDimensionsToPage:!0},a={};function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!1,u=r(e),m=u.instanceName,d=u.instancePrefix;return{name:"google-analytics",config:t({},n,e),initialize:function(e){var n=e.config,i=e.instance;if(!n.trackingId)throw new Error("No GA trackingId defined");var r,c,s,u,g,f,p,v=n.customDimensions,y=n.customScriptSrc||"https://www.google-analytics.com/analytics.js";if(o(y)&&(r=window,c=document,s="script",u=y,g="ga",r.GoogleAnalyticsObject=g,r.ga=r.ga||function(){(r.ga.q=r.ga.q||[]).push(arguments)},r.ga.l=1*new Date,f=c.createElement(s),p=c.getElementsByTagName(s)[0],f.async=1,f.src=u,p.parentNode.insertBefore(f,p)),!a[m]){var k=t({cookieDomain:n.domain||"auto",siteSpeedSampleRate:n.siteSpeedSampleRate||1,sampleRate:n.sampleRate||100,allowLinker:!0},n.cookieConfig);if(m&&(k.name=m),ga("create",n.trackingId,k),n.debug&&(ga("".concat(d,"set"),"sendHitTask",null),window.ga_debug={trace:!0}),n.anonymizeIp&&ga("".concat(d,"set"),"anonymizeIp",!0),n.tasks){["customTask","previewTask","checkProtocolTask","validationTask","checkStorageTask","historyImportTask","samplerTask","buildHitTask","sendHitTask","timingTask","displayFeaturesTask"].forEach((function(e){if(n.tasks.hasOwnProperty(e)){var t=n.tasks[e];"function"==typeof t?ga(n.tasks[e]):null===t&&ga("".concat(d,"set"),e,t)}}))}var h=(i.user()||{}).traits||{};if(Object.keys(h).length&&v&&Object.keys(v).length){var b=l(h,n);ga("".concat(d,"set"),b)}a[m]=!0}},page:function(e){var n=e.payload,a=e.config,r=e.instance,c=n.properties,l=a.resetCustomDimensionsOnPage,u=a.customDimensions,f=r.getState("context.campaign");if(!o()){if(l&&l.length){var m=l.reduce((function(e,t){return u[t]&&(e[u[t]]=null),e}),{});Object.keys(m).length&&ga("".concat(d,"set"),m)}var p=c.path||document.location.pathname,v={page:p,title:c.title,location:c.url},y={page:p,title:c.title};c.referrer!==document.referrer&&(y.referrer=c.referrer);var k=t({},v,s(f),g(c,a,d));ga("".concat(d,"set"),y),i&&delete k.location,ga("".concat(d,"send"),"pageview",k),i=!0}},track:function(e){var t=e.payload,n=e.config,a=e.instance,i=t.properties,o=t.event,r=i.label,s=i.value;c({hitType:"event",event:o,label:r,category:i.category||"All",value:s,nonInteraction:i.nonInteraction,campaign:a.getState("context.campaign")},n,t)},identify:function(e){var t=e.payload,n=e.config;f(t.userId,t.traits,n)},loaded:function(){return!!window.gaplugins}}}function o(e){return e?!function(e){var t=document.querySelectorAll("script[src]");return!!Object.keys(t).filter((function(n){return(t[n].src||"")===e})).length}(e):"undefined"==typeof ga}function r(e){var t=e.instanceName;return{instancePrefix:t?"".concat(t,"."):"",instanceName:t}}function c(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!o()){var i=r(n),c=i.instancePrefix,l={hitType:e.hitType||"event",eventAction:e.event,eventLabel:e.label,eventCategory:e.category||"All",nonInteraction:void 0!==e.nonInteraction&&!!e.nonInteraction};e.value&&(l.eventValue=m(e.value));var u=s(e),f=g(a.properties,n,c),d=t({},l,u,f);return ga("".concat(c,"send"),"event",d),d}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=e.name,a=e.source,i=e.medium,o=e.content,r=e.keyword;return n&&(t.campaignName=n),a&&(t.campaignSource=a),i&&(t.campaignMedium=i),o&&(t.campaignContent=o),r&&(t.campaignKeyword=r),t}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.customDimensions;return Object.keys(n).reduce((function(t,a){var i=n[a],o=u(e,a)||e[a];return"boolean"==typeof o&&(o=o.toString()),o||0===o?(t[i]=o,t):t}),{})}function u(e,t,n,a,i){for(t=t.split?t.split("."):t,a=0;a<t.length;a++)e=e?e[t[a]]:i;return e===i?n:e}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,a=l(e,t);return Object.keys(a).length?t.setCustomDimensionsToPage?(ga("".concat(n,"set"),a),{}):a:{}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!o()){var a=r(n),i=a.instancePrefix;if(e&&ga("".concat(i,"set"),"userId",e),Object.keys(t).length){var c=l(t,n);ga("".concat(i,"set"),c)}}}function m(e){return!e||e<0?0:Math.round(e)}var d=i,p=i,v=void 0,y=void 0,k=c,h=f;export default d;export{h as identify,p as init,v as initialize,y as page,k as track};
|