{"__v":1,"_id":"57df9dd55927cb0e002bce1d","category":{"project":"54861bb654b3ce0b00367292","version":"57b96d6b1d08500e00bf81d1","_id":"57df9df05927cb0e002bce1e","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-19T08:12:32.921Z","from_sync":false,"order":7,"slug":"cordova-app-triggers","title":"Cordova / App triggers"},"parentDoc":null,"project":"54861bb654b3ce0b00367292","user":"548d74b716fc980b00e2a786","version":{"__v":7,"_id":"57b96d6b1d08500e00bf81d1","project":"54861bb654b3ce0b00367292","createdAt":"2016-08-21T08:59:23.326Z","releaseDate":"2016-08-21T08:59:23.326Z","categories":["57b96d6b1d08500e00bf81d2","57b96d6b1d08500e00bf81d3","57b96d6b1d08500e00bf81d4","57b96d6b1d08500e00bf81d5","57b96d6b1d08500e00bf81d6","57b96d6b1d08500e00bf81d7","57b96d6b1d08500e00bf81d8","57b96d6b1d08500e00bf81d9","57b96d6b1d08500e00bf81da","57b96d6b1d08500e00bf81db","57b96d6b1d08500e00bf81dc","57b97748306b9b0e001dd53f","57d12c6c1227b40e0044908a","57d51ad68191880e008bb51b","57d52b5cf350090e00fe073e","57d5468a17b492170053a3f0","57df9df05927cb0e002bce1e"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"4.0.0","version":"4.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-19T08:12:05.804Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Basic premium integration (Mandatory)\"\n}\n[/block]\n**Less than a minute** and you can personalize and segment multiple experiences in your app \n* \"On launch\"\n* \"Backview\"  (iOS only)\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"On launch / Backview\",\n  \"body\": \"These are two app triggers that are pre set by our system\"\n}\n[/block]\nYou would need to add these two rows (In addition to the [Essentials kit](doc:setup-1) integration ):\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"var params = window.elasticode.createSessionParamsObject();\\nvar inProduction = false;\\nwindow.elasticode.setSessionParams(inProduction, params);\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\nSo the full integration ( till this point ), i.e. Essentials Kit + Basic App triggers\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"onDeviceReady: function() {\\n\\tapp.receivedEvent('deviceready');\\n  \\n  window.elasticode.setAndroidApiKey(\\\"<AndroidAPIKey>\\\");\\n  window.elasticode.setIOSApiKey(\\\"<iOSAPIKey>\\\");\\n  \\n  // Basic app triggers setup \\n  var params = window.elasticode.createSessionParamsObject();\\n  var inProduction = false;\\n\\twindow.elasticode.setSessionParams(inProduction, params);\\n  \\n\\twindow.elasticode.ready();\\n}\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Sync completion (optional)\",\n  \"body\": \"\"\n}\n[/block]\nIn some cases you would like to know if the asynchronous function `elasticode.ready();` has completed, and you might want to \"run\" your own propriety behaviour there\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// under your app settings:\\nvar app = {\\n  //...\\n  bindEvents: function(){\\n    document.addEventListener('deviceready', this.onDeviceReady, false);\\n    document.addEventListener('EC_SessionStarted', ec_started, false);\\n    document.addEventListener('EC_SessionRestarted', ec_restarted, false);\\n    //...\\n    \\n  },\\n  //...\\n};\\nfunction ec_started(e) {\\n  // Session has started (onLaunch will appear if needed)\\n    console.log(e.detail);\\n}\\nfunction ec_restarted(e) {\\n  // Session has updated/restarted \\n  // e.detail has information about:\\n  // - sync finish successfully\\n  // - moments that going to show/not show\\n    console.log(e.detail);\\n}\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]","excerpt":"Cordova / App triggers / Basic setup","slug":"basic-setup-1","type":"basic","title":"Basic setup"}

Basic setup

Cordova / App triggers / Basic setup

[block:api-header] { "type": "basic", "title": "Basic premium integration (Mandatory)" } [/block] **Less than a minute** and you can personalize and segment multiple experiences in your app * "On launch" * "Backview" (iOS only) [block:callout] { "type": "info", "title": "On launch / Backview", "body": "These are two app triggers that are pre set by our system" } [/block] You would need to add these two rows (In addition to the [Essentials kit](doc:setup-1) integration ): [block:code] { "codes": [ { "code": "var params = window.elasticode.createSessionParamsObject();\nvar inProduction = false;\nwindow.elasticode.setSessionParams(inProduction, params);", "language": "javascript" } ] } [/block] So the full integration ( till this point ), i.e. Essentials Kit + Basic App triggers [block:code] { "codes": [ { "code": "onDeviceReady: function() {\n\tapp.receivedEvent('deviceready');\n \n window.elasticode.setAndroidApiKey(\"<AndroidAPIKey>\");\n window.elasticode.setIOSApiKey(\"<iOSAPIKey>\");\n \n // Basic app triggers setup \n var params = window.elasticode.createSessionParamsObject();\n var inProduction = false;\n\twindow.elasticode.setSessionParams(inProduction, params);\n \n\twindow.elasticode.ready();\n}", "language": "javascript" } ] } [/block] [block:callout] { "type": "info", "title": "Sync completion (optional)", "body": "" } [/block] In some cases you would like to know if the asynchronous function `elasticode.ready();` has completed, and you might want to "run" your own propriety behaviour there [block:code] { "codes": [ { "code": "// under your app settings:\nvar app = {\n //...\n bindEvents: function(){\n document.addEventListener('deviceready', this.onDeviceReady, false);\n document.addEventListener('EC_SessionStarted', ec_started, false);\n document.addEventListener('EC_SessionRestarted', ec_restarted, false);\n //...\n \n },\n //...\n};\nfunction ec_started(e) {\n // Session has started (onLaunch will appear if needed)\n console.log(e.detail);\n}\nfunction ec_restarted(e) {\n // Session has updated/restarted \n // e.detail has information about:\n // - sync finish successfully\n // - moments that going to show/not show\n console.log(e.detail);\n}", "language": "javascript" } ] } [/block]