2016-06-29 8 views
1

Ich benutze Tom Grill's gdx-facebook Erweiterung um Facebook in mein Spiel zu integrieren, und es funktioniert super.Erstellen von Facebook Game Requests mit LibGdx

Allerdings kann ich keine Methode zum Erstellen einer Spielanforderung finden. Ich kann eine Liste mit Freunden erhalten, die Sie einladen können, aber das ist nur nützlich, wenn Sie eine benutzerdefinierte Liste erstellen und nur einen Bruchteil Ihrer Freunde zurückgeben möchten.

Ich möchte alle Freunde, und in der Lage sein, ihnen eine Spielanfrage zu senden, ist es möglich? Wenn ja, wie bekomme ich eine Liste aller Freunde und wie sende ich ihnen Spielanfragen?

Quellen:

FB-dev: https://developers.facebook.com/docs/games/services/gamerequests

Erweiterung: https://github.com/TomGrill/gdx-facebook

Beispiel mit Erweiterung: https://github.com/TomGrill/gdx-facebook-app

Antwort

2

alle invitable Freunde geht so wie immer: Dieses

funktioniert nur wenn du Facebook App ist ein Spiel.

GDXFacebookGraphRequest request = new GDXFacebookGraphRequest().setNode("me/invitable_friends").useCurrentAccessToken(); 

Dies wird Ihnen eine Liste von 25 Freunden geben, die nicht mit Ihrer App verbunden sind. Um die Lochliste zu erhalten, müssen Sie "Paging" verwenden.

Das JsonResult enthält eine Liste von Freunden und am Ende die Paging-Informationen. Sieht wie folgt aus:

{ 
"data": [ 
    { 
     "id": "AVlH4xqLBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
     "name": "Friends Name", 
     "picture": { 
      "data": { 
       "is_silhouette": false, 
       "url": "https://scontent.xx.fbcdn.net/v/t1.0-1/pxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
      } 
     } 
    }, 
    ................. 
], 
"paging": { 
    "cursors": { 
     "before": "QVZAuZATBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
     "after": "QVZAtbmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
    }, 
    "previous": "https://graph.facebook.com/v2.6/12xxxxxxxxxxxxxx/invitable_friends?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxx&limit=25&after=QVZAuZxxxxxxxxxxxxxxx" 
} 
} 

Um die nächsten 25 Freunde bekommen Sie eine weitere Anfrage wie folgt senden:

GDXFacebookGraphRequest request = new GDXFacebookGraphRequest().setNode("me/invitable_friends").useCurrentAccessToken(); 
request.putField("after", "QVZAtbmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); 

Es ist eine nicht dokumentierte Feld „Grenze“, die Ihnen zu erlauben scheint mehr zu gewinnen Freunde mit einer Anfrage. Bitte beachten Sie, dass Facebook ohne vorherige Ankündigung geändert oder entfernt werden kann.

request.putField("limit", "1000"); 

GameRequest:

https://github.com/TomGrill/gdx-facebook/wiki/7.-Game-Requests

GDXFacebookGameRequest request = new GDXFacebookGameRequest(); 
request.setMessage("Come on play this game with me!"); 
Array<String> recipientIds = new Array<String>(); 
recipientIds.add("AVlH4xqLBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); 
request.setRecipients(recipientIds); 
gdxFacebook.gameRequest(request); 
+0

Perfect, danke! –