{"__v":1,"_id":"57e119499ff1e21900a721c7","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-20T11:11:05.789Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Add more locations along your app\"\n}\n[/block]\nNext step, let's add more places in your app where you can launch experiences.\n* When a screen loads\n* When you click on a button\n* etc...\nRead more about appTriggers here.\n\nEach app trigger needs to get a \"Define\" ( and you have a completion block as well, to run code once the sync per app trigger is completed) \n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Add the app trigger in the dashboard first\",\n  \"body\": \"Than add the following code in your client app\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"params.data.defineAppTrigger(\\n  \\\"triggerName\\\", \\n\\tfunction(active){\\n    //console.log(\\\"triggerName - \\\" + active);\\n  }\\n);\",\n      \"language\": \"javascript\",\n      \"name\": \"Java\"\n    }\n  ]\n}\n[/block]\nThis code should be inserted before initiating a session, here:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"onDeviceReady: function() {\\n  app.receivedEvent('deviceready');\\n  \\n  // basic setup - iOS/android key\\n  window.elasticode.setAndroidApiKey(\\\"<androidApiKey>\\\");\\n  window.elasticode.setIOSApiKey(\\\"<iOSApiKey>\\\");\\n\\t\\n  // app triggers basic setup\\n  var params = window.elasticode.createSessionParamsObject();\\n\\n  // define app trigger\\n  params.data.defineAppTrigger(\\n  \\t\\\"triggerName\\\", \\n\\t\\tfunction(active){\\n  \\t  //console.log(\\\"triggerName - \\\"+active);\\n\\t  }\\n\\t);\\n\\n  window.elasticode.setSessionParams(false, params);\\n  window.elasticode.ready();\\n},\\n//...\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"This is only a definition, it will not launch an experience  for this app trigger ( yet )\",\n  \"body\": \"To **launch** triggers, read here : [Running appTriggers](doc:running-apptriggers)\"\n}\n[/block]","excerpt":"","slug":"app-triggers-setup-1","type":"basic","title":"App triggers setup"}

App triggers setup


[block:api-header] { "type": "basic", "title": "Add more locations along your app" } [/block] Next step, let's add more places in your app where you can launch experiences. * When a screen loads * When you click on a button * etc... Read more about appTriggers here. Each app trigger needs to get a "Define" ( and you have a completion block as well, to run code once the sync per app trigger is completed) [block:callout] { "type": "info", "title": "Add the app trigger in the dashboard first", "body": "Than add the following code in your client app" } [/block] [block:code] { "codes": [ { "code": "params.data.defineAppTrigger(\n \"triggerName\", \n\tfunction(active){\n //console.log(\"triggerName - \" + active);\n }\n);", "language": "javascript", "name": "Java" } ] } [/block] This code should be inserted before initiating a session, here: [block:code] { "codes": [ { "code": "onDeviceReady: function() {\n app.receivedEvent('deviceready');\n \n // basic setup - iOS/android key\n window.elasticode.setAndroidApiKey(\"<androidApiKey>\");\n window.elasticode.setIOSApiKey(\"<iOSApiKey>\");\n\t\n // app triggers basic setup\n var params = window.elasticode.createSessionParamsObject();\n\n // define app trigger\n params.data.defineAppTrigger(\n \t\"triggerName\", \n\t\tfunction(active){\n \t //console.log(\"triggerName - \"+active);\n\t }\n\t);\n\n window.elasticode.setSessionParams(false, params);\n window.elasticode.ready();\n},\n//...", "language": "javascript" } ] } [/block] [block:callout] { "type": "danger", "title": "This is only a definition, it will not launch an experience for this app trigger ( yet )", "body": "To **launch** triggers, read here : [Running appTriggers](doc:running-apptriggers)" } [/block]