Exemplo n.º 1
0
export function trackLogout() {
  if (!trackingEnabled) {
    return;
  }
  track('Logout');
  //Mixpanel.removePushToken();
  Mixpanel.reset();
  Analytics.setUserId(null);
}
Exemplo n.º 2
0
export function track(eventName: string, params: ?Params) {
  if (!trackingEnabled) {
    return;
  }
  if (params != null) {
    const firebaseSafeParams = {};
    for (let key of Object.keys(params)) {
      firebaseSafeParams[firebaseSafe(key)] = params[key];
    }
    AppEventsLogger.logEvent(eventName, 1, params);
    Mixpanel.trackWithProperties(eventName, params);
    Analytics.logEvent(firebaseSafe(eventName), firebaseSafeParams);
  } else {
    AppEventsLogger.logEvent(eventName, 1);
    Mixpanel.track(eventName);
    Analytics.logEvent(firebaseSafe(eventName));
  }
}
Exemplo n.º 3
0
async function setupPersonProperties() {
  const token = await AccessToken.getCurrentAccessToken();
  if (!token) {
    return;
  }
  Crashlytics.setUserIdentifier(token.userID);
  Mixpanel.identify(token.userID);
  Analytics.setUserId(token.userID);

  const user = await performRequest('GET', 'me', {fields: 'id,name,first_name,last_name,gender,locale,timezone,email,link'});
  const now = new Date().toISOString().slice(0,19); // Trim off the fractional seconds from our ISO?UTC time

  Crashlytics.setUserName(user.name);
  Crashlytics.setUserEmail(user.email);
  Mixpanel.set({
    '$first_name': user.first_name,
    '$last_name': user.last_name,
    'FB Gender': user.gender,
    'FB Locale': user.locale,
    'FB Timezone': user.timezone,
    '$email': user.email,
    'Last Login': now,
  });
  Mixpanel.setOnce({'$created': now});

  Analytics.setUserProperties({
    'FBFirstName': user.first_name,
    'FBLastName': user.last_name,
    'FBGender': user.gender,
    'FBLocale': user.locale,
    'FBTimezone': user.timezone.toString(),
    'FBEmail': user.email,
    'LastLogin': now,
  });

}