Added google analytics tracking.

This commit is contained in:
Patrick Fic
2021-03-09 17:03:19 -08:00
parent 3e1dd78c85
commit b5176b4d61
12 changed files with 163 additions and 10 deletions

View File

@@ -1,12 +1,17 @@
import * as Analytics from "expo-firebase-analytics";
import { all, call, put, takeLatest } from "redux-saga/effects";
import {
auth,
getCurrentUser,
logImEXEvent,
updateCurrentUser,
} from "../../firebase/firebase.utils";
import { QUERY_BODYSHOP } from "../../graphql/bodyshop.queries";
import { client } from "../../graphql/client";
import {
sendPasswordResetFailure,
sendPasswordResetSuccess,
setBodyshop,
signInFailure,
signInSuccess,
signOutFailure,
@@ -15,18 +20,15 @@ import {
updateUserDetailsSuccess,
validatePasswordResetFailure,
validatePasswordResetSuccess,
setBodyshop,
} from "./user.actions";
import UserActionTypes from "./user.types";
import { client } from "../../graphql/client";
import { QUERY_BODYSHOP } from "../../graphql/bodyshop.queries";
export function* onEmailSignInStart() {
yield takeLatest(UserActionTypes.EMAIL_SIGN_IN_START, signInWithEmail);
}
export function* signInWithEmail({ payload: { email, password } }) {
try {
//logImEXEvent("redux_sign_in_attempt", { user: email });
logImEXEvent("imexmobile_sign_in_attempt", { user: email });
const { user } = yield auth.signInWithEmailAndPassword(email, password);
yield put(
signInSuccess({
@@ -74,7 +76,7 @@ export function* onSignOutStart() {
}
export function* signOutStart() {
try {
//logImEXEvent("redux_sign_out");
logImEXEvent("imexmobile_sign_out");
yield auth.signOut();
yield put(signOutSuccess());
@@ -102,8 +104,10 @@ export function* onSignInSuccess() {
export function* signInSuccessSaga({ payload }) {
try {
const shop = yield client.query({ query: QUERY_BODYSHOP });
Analytics.setUserId(payload.email);
const shop = yield client.query({ query: QUERY_BODYSHOP });
logImEXEvent("imexmobile_sign_in_success", payload);
yield put(setBodyshop(shop.data.bodyshops[0]));
} catch (error) {
console.log("UH-OH. Couldn't get shop details.", error);