voxa-opearlo
Version:
Integrate Opearlo analytics into your Alexa apps using the voxa framework
70 lines (52 loc) • 2.05 kB
Markdown
Voxa Opearlo
===========
[](https://travis-ci.org/mediarain/voxa-opearlo)
[](https://coveralls.io/github/mediarain/voxa-opearlo?branch=master)
An [Opearlo](https://www.npmjs.com/package/opearlo-analytics) plugin for [voxa](https://mediarain.github.io/voxa/)
Installation
-------------
Just install from [npm](https://www.npmjs.com/package/voxa-opearlo)
```bash
npm install --save voxa-opearlo
```
Usage
------
```javascript
const voxaOpearlo = require('voxa-opearlo');
const opearloConfig = {
userId: 'userId',
appName: 'appName',
apiKey: 'apiKey',
suppressSending: false, // A flag to supress sending hits. Useful while developing on the skill
};
voxaOpearlo(skill, opearloConfig);
```
What you get
------------
Once you register the Voxa plugin, it will handle logging all incoming intents automatically.
Additionally, each state will be logged as a CustomEvent. Thus out of the box you'll get a pathway that looks like:

### Suppressing State Events
Sometimes smaller intermediary states can flood the pathways diagram. Suppress a state from logging as follows:
```javascript
skill.onState('my-state',alexaEvent => {
alexaEvent.opearlo.ignore();
return {reply: 'Greeting', to: 'my-next-state'};
})
```
### Logging variables
You can also add additional values which will be logged along with the state custom event
```javascript
skill.onState('my-state',alexaEvent => {
alexaEvent.opearlo.variables.myVariable = 'hello'
return {reply: 'Greeting', to: 'my-next-state'};
})
```
### Custom Events
You can also log custom events from a state.
```javascript
skill.onState('my-state',alexaEvent => {
alexaEvent.opearlo.log('my-custom-event',{myVariable: 'hello'});
return {reply: 'Greeting', to: 'my-next-state'};
})
```