myGroRN插件

myGroRN插件与原生app的交互接口


设备推送(订阅)信息

<p>[TOC]</p> <h3>接口描述</h3> <p>RN订阅或获取原生推送的数据</p> <ul> <li>获取原生订阅到的设备MQTT数据,可使用原生的<code>RNDeviceDataUpdater</code>进行订阅,主题为:<code>MQTT_MESSAGE</code>。网络端请参考原生订阅,原生订阅mqtt服务的主题为<code>c/33/</code>。</li> <li> <p>所有的订阅功能都有‘订阅’和‘取消订阅’两个与原生交互的方法,从RN监听订阅数据的方法中获取原生推送过来的数据。</p> </li> <li>其它的方法随开发进行可补充</li> </ul> <h3>所属模块</h3> <p><code>RNDeviceDataUpdater</code></p> <ul> <li> <p><code>RNDeviceDataUpdater</code> 模块中的主题说明:</p> <p><code>MQTT_MESSAGE</code>: 原生推送MQTT订阅收到的数据 <code>MQTT_STATE</code>: 原生推送当前MQTT订阅的状态</p> </li> </ul> <h3>方法详情</h3> <pre><code>// 引入原生模块 const dataUpdater = new NativeEventEmitter(NativeModules.RNDeviceDataUpdater);</code></pre> <pre><code>/** * 订阅原生的MQTT_MESSAGE数据消息 * @param {string} MQTT_MESSAGE - 订阅的原生主题 * @callback successCallBack-data - 如原生端收到服务端的设备数据推送,将会通过这里推送给RN模块 */ dataUpdater.addListener('MQTT_MESSAGE', data =&amp;gt; { let str = data.replace('message:', ''); let responseData = JSON.parse(str); // console.info('this show state info&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;', new Date()) });</code></pre> <pre><code>/** * 通知原生取消MQTT订阅的相关功能 * 这里会停止原生的对应设备的`c/33/`订阅,原生端也会停止对RN端的`MQTT_MESSAGE`及`MQTT_STATE`数据更新 */ dataUpdater.unSubscribeMqttMessage();</code></pre> <h3>使用示例</h3> <pre><code>// 引入原生模块 const dataUpdater = new NativeEventEmitter(NativeModules.RNDeviceDataUpdater); dataUpdater.addListener('MQTT_MESSAGE', data =&amp;gt; { let str = data.replace('message:', ''); let responseData = JSON.parse(str); // console.info('this show state info&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;', new Date()) });</code></pre> <pre><code>/** * 取消订阅原生的MQTT_MESSAGE数据消息 */ dataUpdater.unSubscribeBleMessage();</code></pre> <h5>备注</h5>

页面列表

ITEM_HTML