{"_id":"57d5428de2e70e20009cda12","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"},"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":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"4.0.0","version":"4.0"},"parentDoc":null,"user":"548d74b716fc980b00e2a786","project":"54861bb654b3ce0b00367292","__v":4,"updates":["58637e0e679d4b2300af1df3","58637e2811ec752300d5fe0d","58637e61dfe6cc3700a7be7c"],"next":{"pages":[],"description":""},"createdAt":"2016-09-11T11:39:57.410Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"The following code represents the moment and can be created separately and called later on\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"elasticode.showAppTrigger(\\\"TriggerName\\\");\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\nReturn to the dashboard and create the right audiences and additional​ experiences for this moment\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Advance usage\"\n}\n[/block]\n** Programmatically close a moment**\nAlthough any dashboard action can achieve this, you can also programmatically close any moment, and learn if it was completed successfully\n\n\nCompletion with goal \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"elasticode.endAppTriggerWithCompletion(true);\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\nThe following completion block is available as well:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"elasticode.endAppTriggerWithCompletionAfterDismissBlock(true, \\n                                                        new DismissBlock() {\\n\\t:::at:::Override\\n  public void perform() {\\n                    \\n  }\\n});\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]","excerpt":"A walkthrough, support flow, tour and more","slug":"running-apptriggers","type":"basic","title":"Running appTriggers"}

Running appTriggers

A walkthrough, support flow, tour and more

The following code represents the moment and can be created separately and called later on [block:code] { "codes": [ { "code": "elasticode.showAppTrigger(\"TriggerName\");", "language": "java" } ] } [/block] Return to the dashboard and create the right audiences and additional​ experiences for this moment [block:api-header] { "type": "basic", "title": "Advance usage" } [/block] ** Programmatically close a moment** Although any dashboard action can achieve this, you can also programmatically close any moment, and learn if it was completed successfully Completion with goal [block:code] { "codes": [ { "code": "elasticode.endAppTriggerWithCompletion(true);", "language": "java" } ] } [/block] The following completion block is available as well: [block:code] { "codes": [ { "code": "elasticode.endAppTriggerWithCompletionAfterDismissBlock(true, \n new DismissBlock() {\n\t@Override\n public void perform() {\n \n }\n});", "language": "java" } ] } [/block]