@mntm/stats
Version:
A package for integrating analytics tools
35 lines (34 loc) • 1.08 kB
JavaScript
import { loadScript, thenable } from '../utils.js';
import { launchParams } from '../launch.js';
import { safeWindow } from '../dom.js';
/**
* Implements Amplitude
*
* @param code XXXXXXX
*/
export const createProviderAMP = (code) => {
const context = safeWindow;
context.amplitude = context.amplitude || {};
let instance = null;
const load = loadScript('https://cdn.amplitude.com/libs/amplitude-8.21.4-min.gz.js');
const ready = load.then(() => {
if (context.amplitude && context.amplitude.getInstance) {
instance = context.amplitude.getInstance('$default_instance');
instance.init(code, launchParams.vk_user_id, {
userId: launchParams.vk_user_id,
includeUtm: true
});
}
else {
throw new Error('net::ERR_BLOCKED_BY_CLIENT');
}
});
const provider = {
send(event, params) {
return thenable(ready, () => {
instance.logEvent(event, params.params);
});
}
};
return provider;
};