{"__v":7,"_id":"55a9409802becf2d007aac64","category":{"__v":11,"_id":"55a93098cf45e1390093f351","pages":["55a930bdcf45e1390093f353","55a932afc8bd450d000dd1d6","55a938ba4c661b3700cf4e1f","55a939b502becf2d007aac34","55a93a015d3abb0d0012f184","55a93b225d3abb0d0012f191","55a93c4002becf2d007aac43","55a93d4c02becf2d007aac4c","55a940485d3abb0d0012f1af","55a9409802becf2d007aac64","55a9410c5d3abb0d0012f1b4"],"project":"559a61d2dbcfd20d00710b39","version":"559a61d2dbcfd20d00710b3c","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-17T16:43:04.054Z","from_sync":false,"order":4,"slug":"android-sdk-reference","title":"Android SDK Reference"},"parentDoc":null,"project":"559a61d2dbcfd20d00710b39","user":"559a618bdbcfd20d00710b38","version":{"__v":23,"_id":"559a61d2dbcfd20d00710b3c","project":"559a61d2dbcfd20d00710b39","createdAt":"2015-07-06T11:09:06.510Z","releaseDate":"2015-07-06T11:09:06.510Z","categories":["559a61d3dbcfd20d00710b3d","55a589ddaaf9cf1900114dd0","55a589e30f354f0d00fd0312","55a589ea80c8a30d00b323cc","55a589f6aaf9cf1900114dd1","55a58d4e80c8a30d00b323e6","55a8e7a227a17d21005251a2","55a93098cf45e1390093f351","55afb085f202b12100cd9e83","55afb22e902fd51700f5f8bf","55afb260902fd51700f5f8c2","55afb28ec8a85321007a5462","55afb294f202b12100cd9e95","55afb29b902fd51700f5f8c5","55afb2a1c8a85321007a5463","55afb2a7902fd51700f5f8c7","55afb2ad902fd51700f5f8c8","55afb2b5902fd51700f5f8ca","55b74b2131bccb190081bedc","55bb441b54f9640d006e6cf2","565711085cb2420d00d70071","5681681330018c0d006bf7ff","588f38b5923d610f00c72dad"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-07-17T17:51:20.498Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":8,"body":"You may also customize actions using `MOCAProximityService.ActionListener`:\n\n1 - Add the listener to MOCA:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"MOCAProximityService proxService = MOCA.getProximityService();\\nif (proxService != null) {\\n\\tproxService.setActionListener(this);\\n}\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Important\",\n  \"body\": \"If you implement this interface within an Activity, your actions won't be always executed in background. If you **always** want to listen to this actions, even in background, ensure you implement this in a class that inherits from **Application** (the same where you initialize MOCA SDK).\"\n}\n[/block]\n1 - Implement the methods:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"/**       \\n* This listener defines the callback methods to respond to       \\n* proximity-invoked actions.       \\n*/      \\npublic interface ActionListener {\\n\\n   boolean displayNotificationAlert(String alertMessage);\\n   boolean openUrl(URL url);   \\n   boolean showHtmlWithString (String html);   \\n   boolean playVideoFromUrl(URL url);   \\n   boolean displayImageFromUrl(URL url); \\n   boolean displayPassFromUrl(URL url);  \\n   boolean addTag(String tagName, String value);\\n   boolean playNotificationSound(String soundFilename);\\n//return true if you want to track this action in MOCA Campaign Analytics\\n   boolean performCustomAction(String customAttribute);         \\n\\n}\\n \\n\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"body\": \"By implementing this interface, you will be notified when an experience is about to be shown to the user. If the method returns `true`, MOCA assumes you have completely handled the behavior, so **no further action will be performed**. Return `false` if you want to be notified about the experience, but still want MOCA to execute the default behavior.\",\n  \"title\": \"\",\n  \"sidebar\": true\n}\n[/block]","excerpt":"","slug":"proximity-actions-listener","type":"basic","title":"Proximity Actions Listener"}

Proximity Actions Listener


You may also customize actions using `MOCAProximityService.ActionListener`: 1 - Add the listener to MOCA: [block:code] { "codes": [ { "code": "MOCAProximityService proxService = MOCA.getProximityService();\nif (proxService != null) {\n\tproxService.setActionListener(this);\n}", "language": "java" } ] } [/block] [block:callout] { "type": "warning", "title": "Important", "body": "If you implement this interface within an Activity, your actions won't be always executed in background. If you **always** want to listen to this actions, even in background, ensure you implement this in a class that inherits from **Application** (the same where you initialize MOCA SDK)." } [/block] 1 - Implement the methods: [block:code] { "codes": [ { "code": "/** \n* This listener defines the callback methods to respond to \n* proximity-invoked actions. \n*/ \npublic interface ActionListener {\n\n boolean displayNotificationAlert(String alertMessage);\n boolean openUrl(URL url); \n boolean showHtmlWithString (String html); \n boolean playVideoFromUrl(URL url); \n boolean displayImageFromUrl(URL url); \n boolean displayPassFromUrl(URL url); \n boolean addTag(String tagName, String value);\n boolean playNotificationSound(String soundFilename);\n//return true if you want to track this action in MOCA Campaign Analytics\n boolean performCustomAction(String customAttribute);  \n\n}\n \n", "language": "java" } ] } [/block] [block:callout] { "type": "danger", "body": "By implementing this interface, you will be notified when an experience is about to be shown to the user. If the method returns `true`, MOCA assumes you have completely handled the behavior, so **no further action will be performed**. Return `false` if you want to be notified about the experience, but still want MOCA to execute the default behavior.", "title": "", "sidebar": true } [/block]