1.0.4 • Published 9 months ago

stock42-react-native-lib v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Stock42 logo

Stock42 React Native

Platform NPM Badge

PRs Welcome

Official library for integrating Stock42 Services into your React Native applications, beginning with our powerful analytics tools.

Installation

To install the Stock42 React Native library, run the following command:

$ npm install stock42-react-native-lib --save

Stock42 React Native lib Analytics

Initializing

To get started, obtain a valid application token by registering a new tenant and creating an application at Stock42.

import { Stock42 } from 'stock42-react-native-lib'

try {
	const { track, screenshot } = await Stock42({
			appVersion: '1.0', // your mobile app version
			appName: 'Stock42Test', // your mobile app name
			userAgent: 'stock42agent', // your app userAgent
			applicationToken: 'bd23a6fb-02e6-4ac6-8e5c-2aa28bd83db2-FV2AH3', //get this using Stock42 Mobile Apps
			deviceId: '1', //important: generate your own deviceId for each device
		})
} catch (err) {
	console.info('Fatal Hit Errors: ', err)
}

Additional Dependency for Screenshots

To enable the screenshot functionality, you must also install react-native-view-shot:

npm install react-native-view-shot --save

This library allows you to capture fully rendered screenshots of your app. For more details, visit the react-native-view-shot GitHub page.

Sending hits

To send analytics hits to Stock42, use the track.do method as shown below:

	track.do({
		eventName: 'custom',
		screenName: 'home',
		functionName: `functionForSomeOne`,
		data: {
			msg: 'random msg',
		},
	})

Sending screenshot

Ensure you have installed react-native-view-shot and then use the screenshot.do method:

screenshot.do({
    screenName: 'screentesting',
    base64: 'base64-encoded-image-string'
});
import { captureScreen } from 'react-native-view-shot';

captureScreen({
  format: "jpg",
  quality: 0.8
}).then(
  uri => console.log("Image saved to", uri),
  error => console.error("Oops, snapshot failed", error)
);


screenshot.do({
			screenName: 'screentesting',
			base64:
				'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACClBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKDgUBAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAtEQcFFx4HAwEAAAArEAcCCAsAAAAiDQUBBQYAAAAEAgEBBAYnNxI2TBktPxQTGwkcJw1qlTCEuzx1ozJxnjBxnjFKaCENEgYMEAVrlzGJwT4/XykYQkgYR08lSTZKaydObSEAAAAyRxeNx0BdgikJICYce6UnpdwknNEab5UlTT8fLA4RBgNVdiaOyUE2TRgIBwkWHyMNPlMgh7QqreYkmc0SRloBAwMTBwNVIw5kjC2Jwj8hMA1paGrNzcxlY2ISHiQTV3Uno9kno9gPPVE8Fgl5MRRijS6Hvz4bJwuFhIb////6+vq6ubkuLy8NQVcijLoEEBZWIA6NNhZYfSiHwD4cKQuEg4Xn5+dHR0cPBQEdY4Iop90LLTxQHg2uQBtDVRx7enz29vaipKU3NTRSIA6lPBYmPUgmotgMMEDOTSBLKxBgji4pPBIdHSBAQEAtFg6MMxPqWCWcOBUYTWQjlMSfPBm/Rx5RLREzIAw/FgiBLhHUUCH2XSe2QhkqLjIhjr4UUWzCSR/qVyXgVCPtWiX3XSfgVCKMOBooPEYehLAXXn15LhOpQBukPhp3LRM3KCQVTGQXZogNNkgDAQABCg4EERf2NICUAAAAI3RSTlMAASuBw+AKbtz+/t1vC475+izb/v7C3/7+23D6+o/6+pD+/nx5/ywAAAABYktHRGIruR08AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH6AIGDx0mT1WRLwAAAQdJREFUGNNjYGBgYGRiZmFlZWFmYmQAAzZ2Dk5lFVU1Lm4eXjCfj19dQ1NLW0dXj5+PDSjAw69vYGhkbGJqZq4nwMPAIChkYWllbWNrZ+/g6GQhJMjALOzs4urm7uHp5e3j6yfCzCDqHxAYFBwSGhYeERkVbcHCIBYTGxefkJiUnJKaFpmeIcYglpmVnZObl5SUX1BYVFzCyiBaWlaeE1xRWVVdU1tX38DCwCze2NTc0trW3tHZ1d0jwcwgKNnb1z9h4qTJU6ZOmz6DQ5CBQUp65qzZc+bOm79g4SIZKaBLeWXlFi9Zumz5ipWr5BXAnuGV4lZcbbFmrRK3FC/Eu4yCEO8LgrwPAD5TP1gt5ja0AAAAPHRFWHRDb21tZW50AHhyOmQ6REFGN2tlTk1rQjg6NDQsajo1NjI0Mjg3ODc5MDUwODQ4NTMwLHQ6MjQwMjA2MTQOLTypAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI0LTAyLTA2VDE1OjI5OjM4KzAwOjAw7iETDQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0wMi0wNlQxNToyOTozOCswMDowMJ98q7EAAABXelRYdFJhdyBwcm9maWxlIHR5cGUgaXB0YwAAeJzj8gwIcVYoKMpPy8xJ5VIAAyMLLmMLEyMTS5MUAxMgRIA0w2QDI7NUIMvY1MjEzMQcxAfLgEigSi4A6hcRdPJCNZUAAAAASUVORK5CYII=',
		})