UNPKG

fpt-akainsights-react-native

Version:

React Native Plugin for the akaInsights Javascript SDK

106 lines (76 loc) 3.4 kB
# `AKAInsights JavaScript SDK - React Native Plugin` ![Supports Android, iOS](https://img.shields.io/badge/platforms-android%20|%20ios-lightgrey.svg) [![Lean Core Extracted](https://img.shields.io/badge/Lean%20Core-Extracted-brightgreen.svg)](https://github.com/facebook/react-native/issues/23313) <!-- ![ISC License](https://img.shields.io/npm/l/@react-native-community/netinfo.svg) --> React Native Aka Insight API for Android, iOS It allows you to get information on: - [x] Finish my changes - [ ] Push my commits to GitHub - [ ] Open a pull request ## Prerequisites - This plugin will only work in react-native apps, e.g. it will not work with expo. - React-Native v0.59.0 -> v0.62.* ## Getting started >**This plugin relies on [`@react-native-community/async-storage`](https://github.com/react-native-community/react-native-async-storage#readme), [`@react-native-community/geolocation`](https://github.com/react-native-community/react-native-geolocation#README.md), [`@react-native-community/netinfo`](https://github.com/react-native-community/react-native-netinfo#readme), [`react-native-device-info`](https://github.com/react-native-community/react-native-device-info) <br/> You must install and link all this packages. <br/> NOTE: Keep [`react-native-device-info`](https://github.com/react-native-community/react-native-device-info) up-to-date to collect the latest device names using your app.** Install the library using either Yarn: ```bash yarn add fpt-akainsights-react-native ``` or npm: ```bash npm install --save fpt-akainsights-react-native ``` ## Initializing the Plugin To use this plugin, you only need to construct the plugin and add it as an extension to your existing Application Insights instance. ```javascript import {Initial} from 'fpt-akainsights-react-native'; Initial({clientId: 'YOUR_CLENT_ID', clientSecret: 'YOUR_CLIENT_SECRET'}); const App = () => { // Your code } ``` ## Event API usage 1. **Send event behavior registration** ```javascript import {Events} from 'fpt-akainsights-react-native'; const CategoryViewComponent = () => { ... const handleCategoryList = () => { // Import this line in your code for display category list Events.categoryView({ categoryId: 'YOUR_CATEGORY_ID', categoryName: 'YOUR_CATEGORY_NAME', ... }); } return (...) } ``` _Full attributes for category view event_ | Attribute | Type | Required | | --------- | ---- | -------- | | categoryId | string | x | | categoryName | string | x | | category1 | string || | category2 | string || | category3 | string || | categoriesPath | string || | language | string || | location | string || | domain | string || | userId | string || | campaignId | string || ### Enumeration | Enums | Data | | ----- | ---- | | **`ActionEnum`**| ADD, REMOVE, EMPTY | | **`PageTypeEnum`** | PRODUCT, HOME_PAGE, CATEGORY, PAGE, CHECKOUT | | **`PaymentTypeEnum`** | BANK_TRANSFER, ONLINE_PAYMENT, CASH, COD | | **`PurchaseSourceTypeEnum`** | ONLINE, STORE | | **`ShippingTypeEnum`** | COURIER, NORMAL_DELIVERY | | **`StatusEnum`** | SENT, DELIVERED, CLICKED | ## Contributing Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate. ## License [MIT](https://choosealicense.com/licenses/mit/)