Description
react-native mqtt client module
MQTT Features (inherit from native MQTT framework)
Warning
This library in progress developing, api may change, SSL/TLS non verify
Getting started
Manual install
JS
npm install rusfearuth/react-native-mqtt --save
or
yarn add rusfearuth/react-native-mqtt
iOS
- In XCode, in the project navigator, right click
Libraries
➜ Add Files to [your project's name]
- Go to
node_modules
➜ react-native-mqtt
and add RCTMqtt.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRCTmqtt.a
to your project's Build Phases
➜ Link Binary With Libraries
- Click
RCTMqtt.xcodeproj
in the project navigator and go the Build Settings
tab. Make sure 'All' is toggled on (instead of 'Basic'). In the Search Paths
section, look for Header Search Paths
and make sure it contains both $(SRCROOT)/../../react-native/React
- mark as recursive
. - Run your project (
Cmd+R
)
Android
- Modify the ReactInstanceManager.builder() calls chain in
android/app/main/java/.../MainActivity.java
to include:
import com.tuanpm.RCTMqtt.*;
.addPackage(new RCTMqttPackage())
new RCTMqttPackage()
- Append the following lines to
android/settings.gradle
before include ':app'
:
include ':react-native-mqtt'
project(':react-native-mqtt').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mqtt/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
, don't missing apply plugin:'java'
on top:
compile project(':react-native-mqtt')
Notes:
dependencies {
compile project(':react-native-mqtt')
}
Usage
import MQTT from 'react-native-mqtt';
MQTT.createClient({
uri: 'mqtt://test.mosquitto.org:1883',
clientId: 'your_client_id'
}).then(function(client) {
client.on('closed', function() {
console.log('mqtt.event.closed');
});
client.on('error', function(msg) {
console.log('mqtt.event.error', msg);
});
client.on('message', function(msg) {
console.log('mqtt.event.message', msg);
});
client.on('connect', function() {
console.log('connected');
client.subscribe('/data', 0);
client.publish('/data', "test", 0, false);
});
client.connect();
}).catch(function(err){
console.log(err);
});
API
Todo
LICENSE
INHERIT FROM MQTT LIBRARY (progress)