Search packages, repositories and app categories

GitHub repositoryvavadiyahiren/xmpp_plugin

xmpp_plugin

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

xmpp_plugin project cover
Stars
45
Forks
39
Last push (UTC)
Oct 3, 2024
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

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("xyz@conference.domain", "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("xyz@conference.domain", "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(hiren@xrstudio.in) the if you have questions or need support.

vavadiya hiren GitHub avatar
GitHub author

vavadiya hiren ↗

Xr studioSurat,India
LanguagesSwiftJavaDartRubyKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 2 items

  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗