diff options
-rw-r--r-- | packages/instant/.DS_Store | bin | 0 -> 8196 bytes | |||
-rw-r--r-- | packages/instant/src/redux/analytics_middleware.ts | 18 | ||||
-rw-r--r-- | packages/instant/src/util/analytics.ts | 6 |
3 files changed, 19 insertions, 5 deletions
diff --git a/packages/instant/.DS_Store b/packages/instant/.DS_Store Binary files differnew file mode 100644 index 000000000..9a0cceca6 --- /dev/null +++ b/packages/instant/.DS_Store diff --git a/packages/instant/src/redux/analytics_middleware.ts b/packages/instant/src/redux/analytics_middleware.ts index 47876ca2d..3f7a51707 100644 --- a/packages/instant/src/redux/analytics_middleware.ts +++ b/packages/instant/src/redux/analytics_middleware.ts @@ -1,10 +1,11 @@ +import { AssetProxyId } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; import { Middleware } from 'redux'; import { ETH_DECIMALS } from '../constants'; import { AccountState, StandardSlidingPanelContent } from '../types'; -import { analytics } from '../util/analytics'; +import { analytics, AnalyticsEventOptions } from '../util/analytics'; import { Action, ActionTypes } from './actions'; @@ -29,9 +30,11 @@ export const analyticsMiddleware: Middleware = store => next => middlewareAction if (didJustTurnReady) { analytics.trackAccountReady(ethAddress); analytics.addUserProperties({ lastKnownEthAddress: ethAddress }); + analytics.addEventProperties({ ethAddress }); } else if (didJustUpdateAddress) { analytics.trackAccountAddressChanged(ethAddress); analytics.addUserProperties({ lastKnownEthAddress: ethAddress }); + analytics.addEventProperties({ ethAddress }); } } break; @@ -51,7 +54,8 @@ export const analyticsMiddleware: Middleware = store => next => middlewareAction curAccount.ethBalanceInWei, ETH_DECIMALS, ).toString(); - analytics.addUserProperties({ ethBalanceInUnitAmount }); + analytics.addUserProperties({ lastEthBalanceInUnitAmount: ethBalanceInUnitAmount }); + analytics.addEventProperties({ ethBalanceInUnitAmount }); } break; case ActionTypes.UPDATE_SELECTED_ASSET: @@ -63,10 +67,16 @@ export const analyticsMiddleware: Middleware = store => next => middlewareAction assetName, assetData, }); - analytics.addEventProperties({ + + const selectedAssetEventProperties: AnalyticsEventOptions = { selectedAssetName: assetName, selectedAssetData: assetData, - }); + }; + if (selectedAsset.metaData.assetProxyId === AssetProxyId.ERC20) { + selectedAssetEventProperties.selectedAssetDecimals = selectedAsset.metaData.decimals; + selectedAssetEventProperties.selectedAssetSymbol = selectedAsset.metaData.symbol; + } + analytics.addEventProperties(selectedAssetEventProperties); } break; case ActionTypes.SET_AVAILABLE_ASSETS: diff --git a/packages/instant/src/util/analytics.ts b/packages/instant/src/util/analytics.ts index 760ec8b5c..3ab5c55fc 100644 --- a/packages/instant/src/util/analytics.ts +++ b/packages/instant/src/util/analytics.ts @@ -97,11 +97,13 @@ const buyQuoteEventProperties = (buyQuote: BuyQuote) => { export interface AnalyticsUserOptions { lastKnownEthAddress?: string; - ethBalanceInUnitAmount?: string; + lastEthBalanceInUnitAmount?: string; } export interface AnalyticsEventOptions { embeddedHost?: string; embeddedUrl?: string; + ethBalanceInUnitAmount?: string; + ethAddress?: string; networkId?: number; providerName?: string; gitSha?: string; @@ -112,7 +114,9 @@ export interface AnalyticsEventOptions { affiliateFeePercent?: number; numberAvailableAssets?: number; selectedAssetName?: string; + selectedAssetSymbol?: string; selectedAssetData?: string; + selectedAssetDecimals?: number; } export enum TokenSelectorClosedVia { ClickedX = 'Clicked X', |