Чтобы начать с ядра, создайте учетную запись в ядре и возьмите идентификатор приложения, затем используйте SDK, чтобы начать отслеживать события.
Этот пакет имеет @react-native-async-storage/async-storage и @react-native-community/netinfo как зависимости от сверстников. Установите их сначала, если у вас их нет
yarn add @react-native-async-storage/async-storage @react-native-community/netinfo Затем приступите к установлению nucleus-rn в качестве пакета NPM (рекомендуется)
# with yarn
yarn add nucleus-rn import Nucleus from 'nucleus-rn' ;
Nucleus . init ( 'YOUR_APP_ID' ) ; Замените 'YOUR_APP_ID' на уникальный идентификатор вашего приложения. Вы можете получить это здесь.
Вы можете проверить примеры с разными структурами здесь.
Ядро поддерживает передачу следующих вариантов в качестве второго аргумента методу Nucleus.init() :
Nucleus . init ( 'APP_ID' , {
appVersion : '0.0.0' , // the version of your application
endpoint : 'wss://app.nucleus.sh' , // only option, we don't allow self hosting yet :(
disableInDev : true , // disable in development mode. We recommend not to call
// `init` method, as that will be more reliable.
debug : false , // if set to `true`, will log a bunch of things.
disableTracking : false , // will not track anything. You can also use `Nucleus.disableTracking()`.
// note that some events will still be added to the queue, so if you call
// Nucleus.enableTracking() again, they will be sent to the server.
reportInterval : 2 * 1000 , // at which interval the events are sent to the server.
sessionTimeout : 60 * 30 * 1000 , // time after which the session is ended
cutoff : 60 * 60 * 48 * 1000 , // time after which event that were not sent yet are deleted
disableErrorReports : false , // wether to disable error tracking
} )Отслеживать события с дополнительными пользовательскими данными
Nucleus . track ( "click" , { foo : 'bar' } ) ;Отслеживайте ошибки с именем и объектом ошибки.
Nucleus . trackError ( name , error ) ; По умолчанию ядро регистрирует обработчик для ErrorUtils.setGlobalHandler , который отправляет ошибки 'GlobalError' в API. Если вы хотите отключить это поведение, вы можете установить disableErrorReports на true :
Nucleus . init ( 'APP_ID' , { disableErrorReports : true } ) и уловить ошибки вручную, используя Nucleus.trackError('an error', errObject) .
Определите пользователя с помощью уникального идентификатора и, необязательно установить пользовательские свойства.
Nucleus . identify ( '04f8846d-ecca-4a81-8740-f6428ceb7f7b' , { firstName : 'Jordan' , lastName : 'Walke' } ) ;Отслеживание видов экрана с именем экрана и дополнительными параметрами.
Nucleus . page ( '/about' , { foo : 'baz' } ) ;Отключить отслеживание
Nucleus . disableTracking ( ) ;Чтобы включить отслеживание
Nucleus . enableTracking ( ) ; Мы всегда ищем вклад сообщества. Вот как вы можете помочь: