Skip to content

XMPP Plugin is developed with help of native channel and exposing sevral features of xmpp using the native libs like smack and xmppframework

License

Notifications You must be signed in to change notification settings

danishrafiqe/xmpp_plugin

 
 

Repository files navigation

xmpp_plugin

status workflow

  1. Connect to the xmpp server
final param = {
      "user_jid":"jid/resource",
      "password": "password",
      "host": "xmpphost",
      "port": "5222",
      "nativeLogFilePath": "filepath",
      "requireSSLConnection": true,
      "autoDeliveryReceipt": true,
      "useStreamManagement": false,
      "automaticReconnection": true,
};

XmppConnection xmppConnection = XmppConnection(param);

await xmppConnection.start(_onError);
await xmppConnection.login();

  1. Send message to one-one chat
await xmppConnection.sendMessageWithType("xyz@domain", "Hi", "MSGID");
await xmppConnection.sendGroupMessageWithType("[email protected]", "Hi", "MSGID");
  1. Disconnect the xmppConnection
xmppConnection.logout();
  1. Creating a MUC
xmppConnection.createMUC("groupName", true);
  1. Joining MUC
xmppConnection.joinMucGroups(List<String> allGroupsId)

  1. Sending Custom Message
await xmppConnection.sendCustomMessage("xyz@domain", "Hi", "MSGID","customTest");
await xmppConnection.sendCustomGroupMessage("[email protected]", "Hi", "MSGID","customText");

  1. Sending Delivery Receipt
await flutterXmpp.sendDelieveryReceipt("xyz@domain", "Received-Message-Id", "Receipt-Id");
  1. Adding members to MUC
await flutterXmpp.addMembersInGroup("groupName", List<String> allMembersId);
  1. Adding admins to MUC
await flutterXmpp.addAdminsInGroup("groupName", List<String> allMembersId);
  1. Get member list from the MUC
await flutterXmpp.getMembers("groupName");
  1. Get Admin list from the MUC
await flutterXmpp.getAdmins("groupName");
  1. Get Owner list from the MUC
await flutterXmpp.getOwners("groupName");
  1. Remove members from the MUC
await flutterXmpp.removeMember("groupName", List<String> allMembersId);
  1. Remove admins from group
await flutterXmpp.removeAdmin("groupName", List<String> allMembersId);
  1. Get online member count from group
var onlineCount = await flutterXmpp.getOnlineMemberCount("groupName");
  1. Get last activity of the jid
var lastseen = await flutterXmpp.getLastSeen(jid);
  1. Get the list of my rosters
await flutterXmpp.getMyRosters();
  1. Creating a roster entry
await flutterXmpp.createRoster(jid);
  1. Join single MUC
await flutterXmpp.joinMucGroup(groupId);
  1. Request MAM Messages
await flutterXmpp.requestMamMessages(userJid, requestSince, requestBefore, limit);
  1. Update Typing Status
await flutterXmpp.changeTypingStatus(userJid, typingStatus);
  1. Update Presence Type
await flutterXmpp.changePresenceType(presenceType, presenceMode);
  1. Get Connection status
XmppConnectionState connectionStatus = await flutterXmpp.getConnectionStatus();
  1. Get ErrorResponse Event
void onXmppError(ErrorResponseEvent errorResponseEvent) {
    // TODO : Handle the Error Event
}
  1. Get SuccessResponse Event
void onSuccessEvent(SuccessResponseEvent successResponseEvent) {
    // TODO : Handle the Success Event
}
  1. Get ChatMessage Event
void onChatMessage(MessageChat messageChat) {
    // TODO : Handle the ChatMessage Event
}
  1. Get GroupMessage status
void onGroupMessage(MessageChat messageChat) {
    // TODO : Handle the GroupMessage Event
}
  1. Get NormalMessage status
void onNormalMessage(MessageChat messageChat) {
    // TODO : Handle the NormalMessage Event
}
  1. Get PresenceChange status
void onPresenceChange(PresentModel presentModel) {
    // TODO : Handle the PresenceChange Event
}
  1. Get ChatStateChange status
void onChatStateChange(ChatState chatState) {
    // TODO : Handle the ChatState Event
}
  1. Get ConnectionEvent status
void onConnectionEvents(ConnectionEvent connectionEvent) {
    // TODO : Handle the ConnectionEvent Event
}

Contact

You can reach us via mail([email protected]) the if you have questions or need support.

About

XMPP Plugin is developed with help of native channel and exposing sevral features of xmpp using the native libs like smack and xmppframework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 36.8%
  • Java 35.5%
  • Dart 26.3%
  • Other 1.4%