2012-04-24 34 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

相關問題