var push = (function(){ var appId var clientKey var push = { settings: {} } push.init = function(){ parsePlugin.initialize(appId, clientKey, push.did_initialize, push.error) } push.did_initialize = function() { parsePlugin.registerCallback('onNotification', function(){ window.onNotification = push.got_push_notification }, push.error) push.settings.requested = localStorage.getItem("yoox.push_requested") == "true" push.settings.hub = localStorage.getItem("yoox.push_hub") == "true" push.settings.store = localStorage.getItem("yoox.push_store") == "true" if ( ! push.settings.requested ) { localStorage.setItem("yoox.push_" + channel, "true") push.subscribe("hub", function(){ push.subscribe("store") }) } } push.subscribe = function(channel, cb){ parsePlugin.subscribe(channel, function(){ push.settings[channel] = true localStorage.setItem("yoox.push_" + channel, "true") cb && cb() }, push.error) } push.unsubscribe = function(channel, cb){ parsePlugin.unsubscribe(channel, function(){ push.settings[channel] = false localStorage.setItem("yoox.push_" + channel, "false") cb && cb() }, push.error) } push.did_subscribe = function(){ // parsePlugin.getInstallationId(function(id) { // var install_data = { // installation_id: id, // channels: ['SampleChannel'] // } // }, push.error) } push.did_unsubscribe = function(){ // parsePlugin.getInstallationId(function(id) { // var install_data = { // installation_id: id, // channels: ['SampleChannel'] // } // }, push.error) } push.got_push_notification = function(pnObj) { alert('We received this push notification: ' + JSON.stringify(pnObj)); app.collection.loaded = false app.hub.loaded = false if (pnObj.receivedInForeground === false) { // TODO: route the user to the uri in pnObj } else { app.route("intro") } } push.error = function(e){ console.log("push error") } return push })()