window.jimo.push([ "set", "user:attributes", [object, object /* { refetchBoosted: boolean, removeUnspecified: boolean } */] ])
// Example 1 : set the attribute foo and bar
window.jimo.push([ "set", "user:attributes", [ { foo : "hello", bar: "world" } ] ])
// Example 2 : set the attribute foo and refetch boosted posts
window.jimo.push([ "set", "user:attributes", [ { foo : "hello" }, { refetchBoosted: true } ]])
// Example 3 : set the attribute foo and delete all unspecified one
window.jimo.push([ "set", "user:attributes", [ { foo : "hello" }, { removeUnspecified: true } ]])
Force language
window.jimo.push(['set', 'core:language', [string /* language */]])
// Example : Force language to fr
window.jimo.push([ "set", "core:language", [ "fr" ] ])
We expect the passed languages to be one of those :
en, fr, es, pt, it, de, jp, zh, se, nl, fi, ru, cs, hu, pl, da, sv, no, ro
GET
User Id
window.jimo.push([ 'get', 'jimer:id' ]) // "d33c2af7-b228-49f5-b02a-bd9af14987ac"
// this method return the interal jimo id of the current user
User attributes
window.jimo.push([ 'get', 'jimer:attributes' ]) // { foo : "bar" }
// this method will always return an empty object if attributes is undefined
User segments
window.jimo.push([ 'get', 'jimer:segments' ]) // ["744da3be-7512-41c8-a93c-78081d3629e5"]
// this method will always return an empty array
// Open the widget
window.jimo.push([ "do", "widget:open" ])
// Open the widget to a specific page
// - page values : eedback
window.jimo.push(['do', 'widget:open', [{ page: 'feedback' }]])
// Open the widget to a specific experience(formerly poke)
window.jimo.push(['do', 'widget:open', [{ evolutionId : 'uuid_of_evolution' }]])
Trigger an experience (formerly poke)
// Trigger/open a specific experience
window.jimo.push(['do', 'boosted:trigger', [{ evolutionId : 'uuid_of_evolution' }]])
// Trigger an experience and bypass the recurrences rules
window.jimo.push(['do', 'boosted:trigger', [{ evolutionId : 'uuid_of_evolution' }, true]])
Close widget
// Close the widget (if opened)
window.jimo.push([ "do", "widget:close" ])
Reset widget last open date
// Reset the date of the last time the user opened the widget
window.jimo.push([ "do", "widget:resetOpenDate" ])
Boosted refresh
// Refresh the list of boosted pushes
window.jimo.push([ "do", "boosted:refresh" ])
Trigger badge find
// Find badge's triggers (require widget trigger mode to be "badge")
window.jimo.push([ "do", "trigger-badge:find" ])
Show trigger
// Show the Jimo trigger
window.jimo.push([ "do", "trigger:show" ])
Hide Trigger
// Hide the Jimo trigger
window.jimo.push([ "do", "trigger:hide" ])
By default, the trigger is set to show. You can set the trigger to hide by default, using window.jimo["JIMO_DEFAULT_TRIGGER_HIDDEN"] = true; when the script is loaded, see example bellow.
// Example
<script>
window.jimo = [];
(function (j, i, m, o) {
var s = document.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = "https://undercity.usejimo.com/jimo-invader.js";
j["JIMO_PROJECT_ID"] = "your-project-id";
j["JIMO_DEFAULT_TRIGGER_HIDDEN"] = true; // add this
document.getElementsByTagName("head")[0].appendChild(s);
})(window);
</script>
Reset storage
// Clear localstorage data related to Jimo
window.jimo.push([ "do", "storage:reset" ])
ON
Widget opened
// Event triggered when widget is opened
window.jimo.push([ "on", "widget:opened" ])
Widget closed
// Event triggered when widget is closed
window.jimo.push([ "on", "widget:closed" ])
Boosted closed
// Event triggered when a boosted push is closed
window.jimo.push([ "on", "boosted:closed" ])
OFF
To remove a listener, simply replace on by off. For example, window.jimo.push(["off", "widget:opened"]) to remove the listener on widget:opened.
If you are using , we recommend using this method in the callback of our .
We recommend clearing the storage at logout if you are using the Jimo