check matomo and disable if necessary
This commit is contained in:
parent
7b504b5fa7
commit
f88b98ea62
1 changed files with 19 additions and 2 deletions
|
@ -56,7 +56,24 @@ type LogPublishParams = {
|
|||
channel_claim_id?: string,
|
||||
};
|
||||
|
||||
const checkmatomo = (url, timeout = 2000) => {
|
||||
return Promise.race([
|
||||
fetch(url),
|
||||
new Promise((resolve, reject) => setTimeout(() => reject(new Error('timeout')), timeout)),
|
||||
]);
|
||||
};
|
||||
|
||||
let internalAnalyticsEnabled: boolean = IS_WEB || false;
|
||||
let matomoOnline = true;
|
||||
if (internalAnalyticsEnabled) {
|
||||
checkmatomo(MATOMO_URL)
|
||||
.then()
|
||||
.catch(() => {
|
||||
matomoOnline = false;
|
||||
console.log('matomo offline');
|
||||
});
|
||||
}
|
||||
|
||||
// let thirdPartyAnalyticsEnabled: boolean = IS_WEB || false;
|
||||
// @if TARGET='app'
|
||||
if (window.localStorage.getItem(SHARE_INTERNAL) === 'true') internalAnalyticsEnabled = true;
|
||||
|
@ -89,7 +106,7 @@ const analytics: Analytics = {
|
|||
});
|
||||
},
|
||||
pageView: path => {
|
||||
if (internalAnalyticsEnabled) {
|
||||
if (internalAnalyticsEnabled && matomoOnline) {
|
||||
MatomoInstance.trackPageView({
|
||||
href: `${path}`,
|
||||
});
|
||||
|
@ -245,7 +262,7 @@ const analytics: Analytics = {
|
|||
};
|
||||
|
||||
function sendMatomoEvent(category, action, name, value) {
|
||||
if (internalAnalyticsEnabled) {
|
||||
if (internalAnalyticsEnabled && matomoOnline) {
|
||||
const event = { category, action, name, value };
|
||||
MatomoInstance.trackEvent(event);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue