{"id":4690,"date":"2021-12-03T14:48:09","date_gmt":"2021-12-03T06:48:09","guid":{"rendered":"https:\/\/www.enablex.io\/developer\/?page_id=4690"},"modified":"2025-02-22T20:37:40","modified_gmt":"2025-02-22T12:37:40","slug":"custom-signalling","status":"publish","type":"page","link":"https:\/\/doc.smartflomeet.ttns.in\/developer\/video-api\/client-api\/flutter-toolkit\/custom-signalling\/","title":{"rendered":"Custom Signalling: Flutter SDK &#8211; Video API"},"content":{"rendered":"\n<p>Your Application may require to send instructions, data to one or more recipient connected in a Session to deploy new features, business workflow. For example, you wan to create a Polling mechanism among participants. Portal supports Custom Signalling method through which you can build such utility that requires passing of messages among participants.<\/p>\n\n\n\n<p>Using Custom Signaling Method, you might send message to all or selected participants in a Room. You can define your custom data structure to pass to meet your business requirement.<\/p>\n\n\n\n<p><strong>Method:&nbsp;<\/strong> <code>static Future&lt;void&gt; sendUserData(Map&lt;String,dynamic&gt; message, bool isBroadCast, List&lt;dynamic&gt; recipientIDs)<\/code><\/p>\n\n\n\n<p><strong>Parameters<\/strong>:<\/p>\n\n\n\n<ul><li><code>@param Map message<\/code> \u2013 Map containing custom keys.  This object is passed to Recipients as is. Portal doesn\u2019t enforce it\u2019s structure. Be advised to define keys effectively for signaling needs.<\/li><li><code>@param bool isBroadcast<\/code>\u2013 Boolean. Use\u00a0<em>true\u00a0<\/em>for Public Broadcast, Use\u00a0<em>false\u00a0<\/em>for signaling to one or more recipients.<\/li><li><code>@param List clientIds<\/code> \u2013 Array of ClientIDs whom you wish to send private messages.<\/li><\/ul>\n\n\n\n<p><strong>Callback<\/strong>:&nbsp; <\/p>\n\n\n\n<ul><li><code>onAcknowledgeSendData<\/code> \u2013 It notifies when signaling mesage is sent to another user or group of users<\/li><li><code>onUserDataReceived<\/code> \u2013 Receives a new signaling message<\/li><\/ul>\n\n\n\n<p><strong>message &#8211; Example of custom chat Map<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Example: Important Information you can put with custom keys\n\/\/ You may define the Map as per your business needs\n\nmap message = {\n    \"sender\": \"Sender's Name\",\n    \"message\": \"Message body\",\n    \"custom_key\": \"Data\"\n}<\/pre>\n\n\n\n<p><strong>To send &amp; receive Custom Signaling<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">EnxRtc.sendUserData(\u201dmessage\u201d,true,[]);\t\/\/ Send Custom Signaling\n\nEnxRtc.onAcknowledgeSendData = (Map&lt;dynamic,dynamic&gt; map) {\n\t\/\/ Signaling Message has been sent\n};\n\nEnxRtc.onUserDataReceived = (Map&lt;dynamic,dynamic&gt; map) {\n\t\/\/ New Signaling Message is received\n};<\/pre>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p>\u2190 <a href=\"..\/screen-share\/\"><\/a><a href=\"..\/screen-share\/\">Screen Share<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><a href=\"..\/\">Index<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-right\"><a href=\"..\/annotation\/\">Annotation<\/a> \u2192<a href=\"\/developer\/how-to-use\/\"><\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your Application may require to send instructions, data to one or more recipient connected in a Session to deploy new features, business workflow. For example, you wan to create a Polling mechanism among participants. Portal supports Custom Signalling method through which you can build such utility that requires passing of messages among participants. Using Custom Signaling Method, you might send message to all or selected participants in a Room. You&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3755,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":""},"featured_image_src":null,"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"featured":false,"featured-large":false},"uagb_author_info":{"display_name":"vcxdevwpadmin","author_link":"https:\/\/doc.smartflomeet.ttns.in\/developer\/author\/vcxdevwpadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"Your Application may require to send instructions, data to one or more recipient connected in a Session to deploy new features, business workflow. For example, you wan to create a Polling mechanism among participants. Portal supports Custom Signalling method through which you can build such utility that requires passing of messages among participants. Using Custom&hellip;","_links":{"self":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/4690"}],"collection":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/comments?post=4690"}],"version-history":[{"count":0,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/4690\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/3755"}],"wp:attachment":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/media?parent=4690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}