@blackbox-vision/react-native-analytics
v0.0.1
Published
Analytics module
Downloads
3
Readme
RN Analytics
This package let us use Firebase Analytics to log events and track views.
Install
You can install this library via NPM or YARN.
NPM
npm i @blackbox-vision/react-native-babel-preset
YARN
yarn add @blackbox-vision/react-native-babel-preset
Use case
This library let us solve 2 use cases:
Usage
Log events
import * as analytics from "@blackbox-vision/react-native-analytics";
const handleAction = async () => {
await analytics.logEvent("custom-event", {
// info associated to custom event
});
};
Log screen views
import { useRef } from "react";
import { NavigationContainer } from "@react-navigation/native";
import * as analytics from "@blackbox-vision/react-native-analytics";
export default () => {
const navigationRef = useRef();
const routeNameRef = useRef();
return (
<NavigationContainer
ref={navigationRef}
onReady={() => {
routeNameRef.current = navigationRef.current.getCurrentRoute().name;
}}
onStateChange={async () => {
const currentRouteName = navigationRef.current.getCurrentRoute().name;
await analytics.logScreenView(routeNameRef.current, currentRouteName);
// Save the current route name for later comparison
routeNameRef.current = currentRouteName;
}}
>
{/* ... */}
</NavigationContainer>
);
};
API
logEvent(name, info?, options?)
This function returns a Promise
that is fulfilled when the log has sent.
name
Type: String
The name of the event.
info
Type: Object
An object with properties associated to the event
options
Type: Object
Receives an object to handle retrial logic:
retries
:Number
- The number of max retries.onFailedAttempt(error)
:Function
- A callback to notice if a retrial has an error.
logScreenView(previousRouteName, currentRouteName, options?)
This function returns a Promise
that is fulfilled when the log has sent.
previousRouteName
Type: String
Receives the name of the previous screen.
currentRouteName
Type: Object
Receives the name of the current screen.
options
Type: Object
Receives an object to handle retrial logic:
retries
:Number
- The number of max retries.onFailedAttempt(error)
:Function
- A callback to notice if a retrial has an error.
Issues
Please, open an issue following one of the issues templates. We will do our best to fix them.
Contributing
If you want to contribute to this project see contributing for more information.
License
Distributed under the MIT license. See LICENSE for more information.