[ WIP ]
A redux middleware for triggering Adobe Launch direct-call rules.
Wolf Tracker was created to act as a bridge between the redux store and Adobe launch.
- Adobe Launch script must be imported onto the page. This will expose the
_satellite
api to track events.If no Launch script is imported the middle ware will not dispatch events
- Direct call rules and data handlers must be created in Launch.
For defining events check Events Object
import { createStore, applyMiddleware } from 'redux';
import wolfTracker from '@maarkllc/wolf-tracker'
const EVENTS = {...}
const middleware = [wolfTracker(EVENTS)]
const store = createStore(rootReducter, applyMiddleware(...middleware));
This function is exposed for flexibility to allow for developers to directly trigger a direct call rule.
import { trackEvent } from '@maarkllc/wolf-tracker'
trackEvent({
event: '[Direct call event]',
data: {} // data to be tracked
})
The events object is created to map specific Redux actions to Launch events. Each mapping should include the event name to be triggered within launch and the data to be passed in from the redux store.
const EVENTS = {
ADD_TODO: { // redux action being tracked
event: 'addToDo' // direct call rule to be triggered.
data: { // Data to be passed into launch.
status :'foo.bar.status' //Path to the desired data within the redux store.
}
},
REMOVE_TODO : {...}
}
// Example of output of data mappings.
/* Redux store */
{
foo: {
bar: {
status: true
}
}
}
/* Data Outputted to Launch */
{
status: true
}
<<<<<<< HEAD
trackEvent({
event: '[Direct call event]',
data: {} // data to be tracked
})
=======
>>>>>>> origin/main