2012-04-24 76 views
0

我有一个应用程序不是独家使用在Facebook上。它也(将会)在iPhone和Android上可用。在Facebook上,应用程序是否可以仅向使用该应用程序的用户发布通知?

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

在我的Facebook界面中,我希望他们能够做同样的事情,但通过Facebook通知系统。当用户对他们的系统做出某种改变时,他们的墙上就会显示出来。

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

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

我可以做到这一点:通知和墙贴仅显示给我的应用程序空间内的人吗?如果是这样,怎么样?

(如果它的确与众不同,我的应用程序是在Javascript与PHP后端。另外,我从专家很远上使用Facebook的,所以请在某种程度上是新手可以把握回答,谢谢!)

回答

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()) 
+0

感谢你们给我评论。我只是觉得我应该提一提,我相信你可能是对的,但由于整个Facebook通知系统对我来说都是新手,我一直在努力实施你的建议。在标记正确之前,我只想看到它能够亲眼看到。 – Questioner 2012-05-07 05:47:26

+0

没有问题。另外,[Debug Tool](http://developers.facebook.com/tools/explorer)仅用于这种测试。 – 2012-05-07 07:40:34

相关问题