1234567891011121314151617181920212223242526272829303132333435363738 |
- import amplitude from 'amplitude-js';
-
- export default {
- /**
- * Returns the AmplitudeClient instance.
- *
- * @param {Object} options - Optional parameters.
- * @property {string} options.instanceName - The name of the AmplitudeClient instance.
- * @returns {AmplitudeClient}
- */
- getInstance(options = {}) {
- return amplitude.getInstance(options.instanceName);
- },
-
- /**
- * Sets the device id to the value of __AMDID cookie or sets the __AMDID cookie value to the current device id in
- * case the __AMDID cookie is not set.
- *
- * @param {*} options - Optional parameters.
- * @property {string} options.instanceName - The name of the AmplitudeClient instance.
- * @property {string} options.host - The host from the original URL.
- * @returns {void}
- */
- fixDeviceID(options) {
- const deviceId = document.cookie.replace(/(?:(?:^|.*;\s*)__AMDID\s*=\s*([^;]*).*$)|^.*$/, '$1');
- const instance = this.getInstance(options);
-
- if (deviceId === '') {
- const { host = '' } = options;
-
- document.cookie
- = `__AMDID=${instance.options.deviceId};max-age=630720000${
- host === '' ? '' : `;domain=.${host}`}`; // max-age=10 years
- } else {
- instance.setDeviceId(deviceId);
- }
- }
- };
|