2012-04-24 6 views
0

私はFacebook上での使用に独占的ではないアプリを持っています。それはまた、iPhoneとアンドロイドでも利用可能になる予定です。Facebookのアプリでそのアプリを使用しているユーザーにのみ通知を送信することはできますか?

それは社会的なアプリですので、例えば、Androidのユーザーはで友人を招く、と彼らはそれらの間で前後に情報を送信します。私のFacebookのインターフェースで

、私は彼らが同じことを行うことができるようにしたいが、Facebookの通知システムを介して。ユーザーがシステムにある変更を加えると、その壁に表示されます。

トラブルが原因私のアプリの性質のために、である - それは唯一の親しい友人はお互いにしたいと思う何か - 私はその通知がFacebook上ですべてのユーザーの友達に表示したくありません。それは、自分のアプリにもサインアップしている他の人にのみ表示されるべきです。

これがどのように機能するかを概念的に少し問題があります。ほとんどのアプリはすべての友人にブロードキャストされ、その友だちは通知を隠すか隠さないようにすることができます。最高でも、「ユーザーXはアプリYに変更を加えました」という警告を出すことが可能で、そのアプリを使用するユーザーは特定のインターフェースに入り、特定の変更を検出することができます(これは、私はやってみたいです)。

は、私はそれはとても何かが唯一の私のアプリ空間内の人への通知と壁の投稿として表示させることができますか?もしそうなら、どうですか?

(それが違いを作る場合は、私のアプリは、PHPのバックエンドとJavaScriptである。また、私は、そう初心者が把握することができる方法でお答えくださいフェイスブックを使用して、専門家から遠く離れています。ありがとう!)

答えて

1

アプリケーションとその友だちを使用しているユーザーに連絡するためのさまざまなオプションについては、Social Channels文書を参照してください。アプリを使用しているだけで、ユーザーの友人に連絡については

、あなたは2つのオプションがあります。

(1)graph apiあなたがに要求することができます使用:ユーザーのリストを返す必要があります/me/friends?fields=installedを、アプリがインストールされているものは、このフォームを持っています:

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

アプリを持っていないものは、この形式のものであろう:

{ 
    "id": "USER_ID" 
} 

は、(2)あなたはアプリがthis queryを使用してインストールされている友人の誰であるかをチェックするためにFQLを使用することができます。

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

このコメントありがとうございました。私はちょうどあなたが正しいかもしれないと言わなければならないと言いたいと思っていましたが、Facebook通知システム全体が新しくなったので、あなたのアドバイスを実装するのに苦労しています。私はちょうどそれが正しいとマークする前に私の目でそれが動作することを確認したい。 – Questioner

+0

問題ありません。また、[デバッグツール](http://developers.facebook.com/tools/explorer)は、このようなテストのためだけに作られています。 –

関連する問題