Skip to content

Instantly share code, notes, and snippets.

@calincrist
Created April 15, 2020 08:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save calincrist/2569f979bcde2f34f8b837a3b0b4b14c to your computer and use it in GitHub Desktop.
Save calincrist/2569f979bcde2f34f8b837a3b0b4b14c to your computer and use it in GitHub Desktop.
import analytics, { firebase } from '@react-native-firebase/analytics';
class Analytics {
static init() {
if (firebase.app().utils().isRunningInTestLab) {
analytics().setAnalyticsCollectionEnabled(false);
} else {
analytics().setAnalyticsCollectionEnabled(true);
}
}
static onSignIn = async userObject => {
const { id, email } = userObject;
await Promise.all([
analytics().setUserId(id),
analytics().setUserProperty('email', email), // ←- DON'T DO THIS !!!
this.logEvent("sign_in")
]);
};
static onSignUp = async userObject => {
const { id, email } = userObject;
await Promise.all([
analytics().setUserId(id),
analytics().setUserProperty('email', email), // ←- DON'T DO THIS !!!
analytics().setUserProperty('created_at', new Date()),
this.logEvent("sign_up")
]);
};
static setCurrentScreen = async screenName => {
await analytics().setCurrentScreen(screenName, screenName);
};
static logEvent = async (eventName, propertyObject = {}) => {
await analytics().logEvent(eventName, propertyObject);
}
static onSignOut = async () => {
await analytics().resetAnalyticsData();
};
}
export default Analytics;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment