Geovation/photos

View on GitHub
src/gtag.js

Summary

Maintainability
A
0 mins
Test Coverage
import firebase from "firebase/app";

let analytics;

export const gtagInit = () => {
  analytics = firebase.analytics();
  analytics.logEvent("type", {
    event_category: "Tech",
    event_label: "web",
    non_interaction: true,
  });

  analytics.setCurrentScreen("/#");

  analytics.logEvent("app_version", {
    event_category: "Tech",
    event_label: String(process.env.REACT_APP_VERSION),
    non_interaction: true
  });

  analytics.logEvent("build_number", {
    event_category: "Tech",
    event_label: String(process.env.REACT_APP_BUILD_NUMBER),
    non_interaction: true
  });
};

export const gtagPageView = pathname => {
  analytics.setCurrentScreen("/#" + pathname);
};

export const gtagEvent = (
  name,
  category = null,
  label = null,
  non_interaction = false
) => {
  analytics.logEvent(String(name).replace(/ /g, "_"), {
    event_category: String(category),
    event_label: String(label),
    non_interaction: Boolean(non_interaction)
  });
};

export const gtagSetId = id => {
  analytics.setUserId(String(id));
};