Skip to content

douglaseel/react-native-xmpp

 
 

Repository files navigation

react-native-xmpp

XMPP library for React Native

Simple interface for native XMPP communication (only iOS supported at this moment) using iOS XMPPFramework

Demo

XmppDemo uses Flux approach (check its XmppStore) to communicate with sample XMPP server, where 4 accounts were registered. demo-3

Example

var XMPP = require('react-native-xmpp');

// optional callbacks
XMPP.on('message', (message)=>console.log("MESSAGE:"+JSON.stringify(message)));
XMPP.on('iq', (message)=>console.log("IQ:"+JSON.stringify(message)));
XMPP.on('presence', (message)=>console.log("PRESENCE:"+JSON.stringify(message)));
XMPP.on('error', (message)=>console.log("ERROR:"+message));
XMPP.on('loginError', (message)=>console.log("LOGIN ERROR:"+message));
XMPP.on('login', (message)=>console.log("LOGGED!"));
XMPP.on('connect', (message)=>console.log("CONNECTED!"));
XMPP.on('disconnect', (message)=>console.log("DISCONNECTED!"));

// trust hosts(Ignore self-signed ssl issues)
// Warning: Do not use this in production( Security will be compromised. ).
XMPP.trustHosts(['chat.google.com']);

// connect
XMPP.connect(MYJID, MYPASSWORD);

// send message
XMPP.message('Hello world!', TOJID);

// disconnect
XMPP.disconnect();

// remove all event listeners (recommended on componentWillUnmount)
XMPP.removeListeners();

// remove specific event listener (type can be 'message', 'iq', etc.)
XMPP.removeListener(TYPE);

Getting started

  1. npm install react-native-xmpp --save
  2. rnpm link react-native-xmpp
  3. In the XCode project navigator, select your project, select the Build Phases tab and in the Link Binary With Libraries section add libRNXMPP.a, *libresolv and libxml2

About

XMPP library for React Native (iOS and Android native support)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 44.4%
  • Java 33.6%
  • JavaScript 19.8%
  • Python 2.1%
  • Shell 0.1%