2013-03-13 4 views
0

Je veux savoir si quelqu'un a entendu parler d'obtenir des mises à jour de facebook avec facebook android sdk.Recevez des mises à jour facebook sur mon application android

Je veux dans ma demande d'être notifié lorsque l'utilisateur a reçu un message, ou lorsque l'utilisateur a reçu une demande similaire ou une demande d'ami.

Savez-vous la plus petite possibilité de le faire? Je ne veux pas lire des messages ou des goûts dans mon application, je veux juste être averti: Nouvelle activité sur le profil de l'utilisateur, de sorte que je vais incrémenter une variable.

Répondre

0

Veuillez noter que bien que l'API vous permette de vérifier les notifications, il n'existe aucune méthode inhérente pour les obtenir automatiquement. Vous devrez trouver un moyen d'aller chercher de nouvelles notifications périodiquement et les afficher dans votre application. Cela dépasse le contexte de cette question et a été omis.

try { 
    Bundle bun = new Bundle(); 
    bun.putString(Facebook.TOKEN, Utility.mFacebook.getAccessToken()); 
    bun.putString("include_read", "true"); // CHANGE "true" to "false" if you need just the unread/unseen notifications 
    String result = Utility.mFacebook.request("/me/notifications", bun); 
    JSONObject JORoot = new JSONObject(result); 
    JSONArray JAFeeds = JORoot.getJSONArray("data"); 

    Log.e("TEST LENGTH", String.valueOf(JAFeeds.length())); 

} catch (Exception e) { 
    // TODO: handle exception 
} 

Parse Maintenant, le contenu en utilisant la JAFeeds JSONArray dans un for loop. Si vous avez besoin juste le nombre, vous pouvez l'obtenir à l'aide JAFeeds.length() (voir le Log.e dans le code ci-dessus)

Note: Puisque vous avez la balise facebook-graph-api dans l'OP, je suggère un exemple en utilisant l'API graphique. Cependant, si vous avez besoin d'une solution utilisant FQL, faites le moi savoir.

mise à jour:

Selon le commentaire de l'OP, en ajoutant une solution de rechange à l'aide FQL

try { 
    String query = "SELECT notification_id, recipient_id, object_id, object_type, sender_id, title_text, body_text, href, created_time FROM notification WHERE recipient_id=me() AND is_unread = 1 AND is_hidden = 0" 
    Bundle newNotifications = new Bundle(); 
    newNotifications.putString("method", "fql.query"); 
    newNotifications.putString("query", queryStatus); 
    String responseNewNotifications = Utility.mFacebook.request(newNotifications); 
    JSONArray JANotifications = new JSONArray(responseNewNotifications); 

    Log.e("TEST LENGTH", String.valueOf(JANotifications.length())); 

} catch (Exception e) { 
    // TODO: handle exception 
} 

Tant la solution API graphique, ainsi que la solution FQL sont des codes de production et le travail qu'ils devrait. Si quelque chose de spécifique ne fonctionne pas, veuillez commenter ou mettre à jour le PO avec le problème.

+0

oui ... pouvez-vous me fournir une solution FQL .... cela ne fonctionne pas ... thx –

+0

@ dany: laissez-moi obtenir au bureau pour le code FQL. Mais qu'est-ce qui n'a pas fonctionné? Ce code est utilisé dans la production et fonctionne parfaitement. –

+0

peut-être que je ne sais pas pour initialiser la session facebook ... pouvez-vous s'il vous plaît fournir quelque chose de complet? ... je veux dire je pense avoir besoin de permissions, je dois définir un ACCES TOCKEN et un APP ID, quel est l'ordre de faire tout ça? ... Merci beaucoup, Vous seriez un sauveur de la vie si vous pouvez dire que –

Questions connexes