首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序如何知道是否可以在app中向用户发送XMPP消息?

应用程序如何知道是否可以在app中向用户发送XMPP消息?
EN

Stack Overflow用户
提问于 2010-02-16 00:06:39
回答 2查看 1.3K关注 0票数 2

我已经从App文档中读了十几遍这一段,对于聊天邀请是如何工作的,我仍然一无所知:

请柬 Google Talk和其他聊天服务器只接受“订阅”发送方的消息,原因要么是用户邀请发送方聊天,要么是因为用户接受了发送方发送的聊天邀请。API应用程序可以使用服务API发送聊天邀请。与发送电子邮件一样,最佳做法是只在用户询问时发送聊天邀请,例如单击网页上的按钮。或者,应用程序可以要求用户向应用程序的XMPP地址发送邀请,以便接收消息。 App引擎自动接受所有聊天邀请,不与应用程序通信邀请。app引擎会将所有聊天消息路由到应用程序,而不管发送者之前是否向应用程序发送了邀请。

也许问题是我没有用过聊天,所以我不熟悉邀请在实践中是如何运作的。但是,第一个问题是应用程序如何/为什么/是否需要/获得与用户聊天的权限。

上文这一段似乎是这样说的:

  1. 应用程序需要向用户发送XMPP消息的权限(和用户需要向应用程序?发送XMPP消息的权限),因此
  2. 用户必须向应用程序发送邀请,以便向用户发送消息(和应用程序必须向用户发送邀请,以允许用户向应用程序?发送消息)
  3. App引擎收到聊天邀请,但不与应用程序通信。

问:应用程序如何知道是否可以向用户发送消息,因为app确实向应用程序传递了关于用户对邀请的响应的信息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-16 00:15:11

Gmail就是一个很好的例子:

我给不在我“朋友名单”上的朋友发了一条信息。Gmail没有传递我的信息,而是传递了一条消息,上面写着"Anthony想聊天,你接受吗?“

如果我的朋友点击“是”,他们会收到我的留言,我在他们的朋友名单上,他们也在我的朋友名单上,我们可以在没有Gmail的情况下自由聊天。

如果我的朋友点击“否”,他们就永远不会看到我的原始信息,如果我稍后再试一次,GMail会请求允许。

因此,应用程序在另一端与用户进行通信,它只是不传递信息,只是我对成为聊天伙伴感兴趣。

快速更新

另一种看待这个问题的方法(如果你还记得这些天的话)是一个对方付费电话。接线员简单地说:“你愿意接琼斯打来的对方付费电话吗?”接线员没有说“他说这真的很重要,他在监狱里。”接线员没有说“他说不,你可以在监狱里腐烂”。敬琼斯。在双方同意之前,他们在没有任何一方进行真正接触的情况下调解这种联系。

(当然,我们总是说我们的名字是“我被困在商场里了!”我们打电话回家的时候。但是,由于聊天是免费的,在XMPP世界中,这种诡秘的变通方法是不必要的。)

票数 2
EN

Stack Overflow用户

发布于 2010-02-17 00:15:56

使用get_presence()函数确定是否可以发送给用户。如果您向未接受邀请的用户发送消息,大多数XMPP服务器(包括Google )将不会传递消息或自动邀请。至少在Google Talk中,一个已经接受邀请的用户将被“呈现”,即使他们被注销,因为Gmail可以将你的XMPP消息作为伪电子邮件传递。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2269819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档