我已经从App文档中读了十几遍这一段,对于聊天邀请是如何工作的,我仍然一无所知:
请柬 Google Talk和其他聊天服务器只接受“订阅”发送方的消息,原因要么是用户邀请发送方聊天,要么是因为用户接受了发送方发送的聊天邀请。API应用程序可以使用服务API发送聊天邀请。与发送电子邮件一样,最佳做法是只在用户询问时发送聊天邀请,例如单击网页上的按钮。或者,应用程序可以要求用户向应用程序的XMPP地址发送邀请,以便接收消息。 App引擎自动接受所有聊天邀请,不与应用程序通信邀请。app引擎会将所有聊天消息路由到应用程序,而不管发送者之前是否向应用程序发送了邀请。
也许问题是我没有用过聊天,所以我不熟悉邀请在实践中是如何运作的。但是,第一个问题是应用程序如何/为什么/是否需要/获得与用户聊天的权限。
上文这一段似乎是这样说的:
问:应用程序如何知道是否可以向用户发送消息,因为app确实向应用程序传递了关于用户对邀请的响应的信息?
发布于 2010-02-16 00:15:11
Gmail就是一个很好的例子:
我给不在我“朋友名单”上的朋友发了一条信息。Gmail没有传递我的信息,而是传递了一条消息,上面写着"Anthony想聊天,你接受吗?“
如果我的朋友点击“是”,他们会收到我的留言,我在他们的朋友名单上,他们也在我的朋友名单上,我们可以在没有Gmail的情况下自由聊天。
如果我的朋友点击“否”,他们就永远不会看到我的原始信息,如果我稍后再试一次,GMail会请求允许。
因此,应用程序在另一端与用户进行通信,它只是不传递信息,只是我对成为聊天伙伴感兴趣。
快速更新
另一种看待这个问题的方法(如果你还记得这些天的话)是一个对方付费电话。接线员简单地说:“你愿意接琼斯打来的对方付费电话吗?”接线员没有说“他说这真的很重要,他在监狱里。”接线员没有说“他说不,你可以在监狱里腐烂”。敬琼斯。在双方同意之前,他们在没有任何一方进行真正接触的情况下调解这种联系。
(当然,我们总是说我们的名字是“我被困在商场里了!”我们打电话回家的时候。但是,由于聊天是免费的,在XMPP世界中,这种诡秘的变通方法是不必要的。)
发布于 2010-02-17 00:15:56
使用get_presence()函数确定是否可以发送给用户。如果您向未接受邀请的用户发送消息,大多数XMPP服务器(包括Google )将不会传递消息或自动邀请。至少在Google Talk中,一个已经接受邀请的用户将被“呈现”,即使他们被注销,因为Gmail可以将你的XMPP消息作为伪电子邮件传递。
https://stackoverflow.com/questions/2269819
复制相似问题