在Facebook上,应用程序是否可以仅向使用该应用程序的用户发布通知?

时间:2012-04-24 07:44:14

标签: facebook

我有一个不在Facebook上独家使用的应用程序。它也可以(将会)在iPhone和Androids上使用。

这是一个社交应用,因此,例如,Android用户会邀请朋友进入,然后他们会在他们之间来回发送信息。

在我的Facebook界面中,我希望他们能够做同样的事情,但是通过Facebook通知系统。当用户对他们的系统进行某些更改时,会在墙上显示。

问题是,由于我的应用程序的性质 - 它只是亲密的朋友会想要彼此做的事情 - 我不希望该通知显示给Facebook上的所有用户的朋友。它应该只对其他已注册我的应用程序的人显示。

我在概念化它如何工作方面遇到了一些麻烦。在我看来,大多数应用程序向所有朋友广播,然后这些朋友可以隐藏或不隐藏通知。充其量,似乎可以发出警告说“用户X已经在应用程序Y中进行了更改”,然后使用该应用程序的用户可以进入其特定界面并发现特定更改(这对于什么不太理想)我想这样做。

我是否可以将其显示为通知,并且只向我的应用空间中的人发布墙贴?如果是这样,怎么样?

(如果它有所不同,我的应用程序是使用PHP后端的Javascript。而且,我远不是使用Facebook的专家,所以请以新手可以掌握的方式回答。谢谢!)< / em>的

1 个答案:

答案 0 :(得分:1)

Social Channels文档中介绍了与使用您的应用程序的人员及其朋友联系的不同选项。

至于只与正在使用该应用的用户的朋友联系,您有两种选择:

(1)使用graph api,您可以向 /me/friends?fields=installed 发出请求,该请求应返回用户列表,已安装该应用的用户将拥有此形式:

{
    "installed": true, 
    "id": "USER_ID"
}

没有应用程序的人将采用以下形式:

{
    "id": "USER_ID"
}

(2)您可以使用FQL来检查使用this query安装该应用的朋友:

SELECT 
    uid
FROM 
    user 
WHERE 
    is_app_user 
    AND 
    uid IN (SELECT uid2 FROM friend WHERE uid1 = me())