{"_id":"57d53beab0249a0e002bb9bf","__v":1,"user":"548d74b716fc980b00e2a786","version":{"_id":"57b96d6b1d08500e00bf81d1","__v":7,"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":true,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"4.0.0","version":"4.0"},"category":{"_id":"57d52b5cf350090e00fe073e","__v":0,"version":"57b96d6b1d08500e00bf81d1","project":"54861bb654b3ce0b00367292","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-11T10:01:00.892Z","from_sync":false,"order":4,"slug":"android-app-triggers","title":"Android / App triggers"},"githubsync":"","project":"54861bb654b3ce0b00367292","parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-11T11:11:38.060Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"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(\\\"triggerName\\\");\",\n \"language\": \"java\",\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\": \":::at:::Override\\nprotected void onCreate(Bundle savedInstanceState) {\\n super.onCreate(savedInstanceState);\\n setContentView(R.layout.ac_main);\\n\\t\\n // basic setup\\n elasticode = Elasticode.getInstance(this, \\\"<APIKey>\\\", elasticodeObserver);\\n \\n // app triggers basic setup\\n ElasticodeSessionParams params = \\n new ElasticodeSessionParams(false, this);\\n \\n // define app trigger \\n params.data.defineAppTrigger(\\\"triggerName\\\");\\n \\n elasticode.setSessionParams(params);\\n elasticode.ready();\\n\\n}\",\n \"language\": \"java\"\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","type":"basic","title":"App triggers setup"}