我已经使用XMPP在我的iOS和Android应用程序中集成了聊天系统.我在服务器端使用了ejabberd 2.聊天系统工作正常.我想在使用APNS和GCM的聊天中集成推送通知.如何向每条聊天消息发送推送通知?ejabberd 2有任何API或扩展可用于实现此功能吗?
帮助很高,
iphone xmpp ejabberd apple-push-notifications google-cloud-messaging
除了明显的人对人即时消息聊天之外,您还使用了Jabber服务器的哪些功能来启用?
编辑:链接到工作代码以真正显示它是特别有用的 - 并且更有可能被投票.
所以我对BOSH的热情有点困惑.它是使用http与XMPP服务器交互的方式吗?例如,openfire在http://domain.com:7070/http-bind/使用BOSH
我如何使用此URL?需要做什么?
对于Stack Overflow聊天的XMPP界面,我目前正在使用聊天消息的HTML并转换为有效的XML,并将其设置为htmlXMPP message对象的子元素.在我的Mac OS X jabber客户端中,这工作得很好!这意味着当SO聊天中的用户发布了一个单盒化图像时,该图像将显示在我的XMPP客户端(Adium for OS X)中:

但是我刚刚将Adium更新到了最新版本,显然他们认为我正在做的是一个安全漏洞和XMPP规范,并改变了这种行为.他们的理由是XMPP不应该透露你的IP地址,而通过HTTP获取图像会显示我的IP地址.
所以现在这些聊天对XMPP来说是无形的.如何使图像在XMPP上运行?我的XMPP组件应该下载图像并将它们嵌入到<Message>节中吗?可以通过XMPP服务器代理图像吗?或者这是不可能的?
我在这里使用了很棒的帖子设置了一个xmpp服务器和android客户端...我在xmpp服务器中设置了一些预先定义的用户,我可以使用这些凭据登录.
现在,从我的应用程序,我想通过Android客户端注册为xmpp服务器的新用户.任何人都可以建议我如何实现这一目标......任何帮助都将受到赞赏...... !!!
我想使用XMPP,以便我的应用程序将发送更新到Android手机(1.5和更高).我非常想使用XMPP向手机发送推送通知.
我将如何实现这一目标.目前我的web应用程序正在运行apache tomact with a many servlet,因此android手机可以访问信息,但我发现很难理解如何实现XMPP以便我可以将信息从服务器推送到客户端( android手机).
我已经使用Google ID登录测试了以下教程 的XMPP示例
它使用Google ID登录.但我需要使用我的webapplication来做谷歌实现的.有任何想法吗?
有一个关于谷歌支持XMPP的问题.我想建立对谷歌聊天,可以从Gmail或任何其他服务中与谷歌聊天运行互操作的顶部移动聊天客户端.这个应用程序是否可以构建,因为它已宣布它将放弃对其新环聊产品的XMPP支持?是否有其他技术可以与Google帐户进行互操作聊天?
我们有QuickBlox的企业安装(实现XMPP),并希望在我们的QuickBlox服务器安装上为所有用户创建镜像帐户.我们还希望使用已建立在我们系统上的关系(例如,"客户端和提供者")来同步我们系统用户创建的网络.
简而言之,我们希望将限制聊天"对手"的白名单导出为仅限与我们每个用户已拥有关系的用户.如果User1在我们的系统中与User2和User3之间存在关系,而不是 User4到User40,我们希望能够通过QuickBlox API创建白名单,使用QuickBlox API在聊天中强制执行.
编辑:我们不能使用"荣誉系统"白名单.也就是说,强制执行必须是服务器端使用客户端无法规避的方法.出于隐私考虑,用户之间必须存在严格的,不可避免的阻止.
使用案例:
QuickBlox(或XMPP)服务器具有User1到User40(包括).
User1的白名单仅由[User2,User3]组成.
如果User1尝试联系User15,我们希望QuickBlox/XMPP注意User15不在User1的白名单上并阻止该通信,就像User1双向阻止该用户一样.
我在QB的文档中找到了引用XMPP规范文档的地方,并且发现了隐私列表的概念,它们似乎作为黑名单运行:
这些只提供两种黑名单隐私风格:
您可以选择一种被阻止的逻辑(隐私列表).有两种类型:
- 阻止一种方式.您已被阻止,但您可以写入被阻止的用户.
- 阻挡有两种方式.您被阻止,也无法写入被阻止的用户.
我还找到了有关服务器白名单的文档,这些文档似乎在对话框/ jid中运行,而不是用户级别:
添加到白名单的实体可以是RFC 6120中指定的任何格式的JID ......白名单可能会阻止入站通信,出站通信或两者兼有......
还有一些名单,这些名单与白名单很接近,但在我的测试中似乎并不限制任何两个用户之间的通信,这些用户可能不在彼此的名单上.
也就是说,我没有在我的测试应用程序中设置一个名单,并且用户能够创建组和一对一聊天对话框,尽管没有明确接受任何名册请求.在Android文档中,我在名单上发现了以下内容:"[名册]是一个人收到状态更新的用户集合." 我不相信,这不会出现在状态警报之外的任何方式.
是否有建议的方法为每个用户创建一个悲观的白名单,其中只包含允许通信的用户?或者我们被迫创建和维护"逆黑名单",在这里我们自动化隐私列表创建为每个新用户阻止每一个其他用户,然后使用该API,以消除那些与每个用户应该能够沟通?
如果我们必须使用"反黑名单",是否有办法让默认黑名单适用于最初阻止与我们的QuickBlox系统中已有的每个其他用户进行通信的每个新用户?
(同样,我们不能用"荣誉系统"名单.如果客户端必须请求白名单被激活后才能使用它,可以自由地探索和再改活跃的白名单,或者客户端是否可以拒绝使用列表,这不够安全.)
我通过fcm xmpp客户端发送以下消息.但我没有收到交付邮件的送达回执.
我正在使用node-xcs节点包发送XMPP消息.
var Sender = require('node-xcs').Sender;
var Message = require('node-xcs').Message;
var Notification = require('node-xcs').Notification;
var Result = require('node-xcs').Result;
var xcs = new Sender('123', 'xxxx', 1);
const uuidv4 = require('uuid/v4');
xcs.on('message', function(messageId, from, data, category) {
console.log('received message', arguments);
});
xcs.on('receipt', function(messageId, from, data, category){
console.log(messageId,'dsafdsafdsaf')
});
xcs.on('connected', function(){console.log('connected')});
xcs.on('disconnected', function(){console.log('disconnected')});
xcs.on('online', function(){console.log('online')});
xcs.on('error', console.error);
xcs.on('message-error', function(){console.log('message-error')});
var notification = new Notification("./logo.png")
.title("Hello buddy!")
.clickAction("https://github.com/guness/node-xcs/blob/master/google/Notification.js")
.body("test_body")
.build();
var message = new Message(uuidv4())
.priority("high")
.dryRun(false)
.deliveryReceiptRequested(true)
.notification(notification)
.build();
xcs.sendNoRetry(message, …Run Code Online (Sandbox Code Playgroud) xmpp node.js firebase google-cloud-functions firebase-cloud-messaging