Рейтинг друзей не отображается, но работает с тестовыми пользователями
Я разработал простую игру, и я использую Facebook SDK для единства, чтобы сделать часть рейтинга, все работает нормально с TestUsers, но после того, как я опубликовал его, рейтинг не работает с обычными пользователями.
Может быть, какая-то проблема с FB.login?
FB.Login("email, publish_actions", AuthCallback);
ИЛИ что-нибудь с моим кодом сохранения результатов? Я так не думаю, б / у работает с тестовыми пользователями
// All Scores API related Things
public void QueryScores()
{
FB.API ("/app/scores?fields=score,user.limit(30)", Facebook.HttpMethod.GET, ScoresCallback);
}
private void ScoresCallback(FBResult result)
{
Debug.Log ("Scores callback: " + result.Text);
scoresList = Util.DeserializeScores (result.Text);
foreach (Transform child in ScoreScrollList.transform)
{
GameObject.Destroy (child.gameObject);
}
foreach (object score in scoresList)
{
var entry = (Dictionary<string,object>) score;
var user = (Dictionary<string,object>) entry["user"];
GameObject ScorePanel;
ScorePanel = Instantiate (ScoreEntryPanel) as GameObject;
ScorePanel.transform.parent = ScoreScrollList.transform;
Transform ThisScoreName = ScorePanel.transform.Find ("FriendName");
Transform ThisScoreScore = ScorePanel.transform.Find ("FriendScore");
Text ScoreName = ThisScoreName.GetComponent<Text>();
Text ScoreScore = ThisScoreScore.GetComponent<Text>();
ScoreName.text = user["name"].ToString();
ScoreScore.text = entry["score"].ToString();
Transform TheUserAvatar = ScorePanel.transform.Find ("FriendAvatar");
Image UserAvatar = TheUserAvatar.GetComponent<Image>();
FB.API (Util.GetPictureURL(user["id"].ToString (), 128,128), Facebook.HttpMethod.GET, delegate(FBResult pictureResult){
if(pictureResult.Error != null) // if there was an error
{
Debug.Log (pictureResult.Error);
}
else // if everything was fine
{
UserAvatar.sprite = Sprite.Create (pictureResult.Texture, new Rect(0,0,128,128), new Vector2(0,0));
}
});
}
}
public void SetScore()
{
string highScore = PlayerPrefs.GetInt("recorde").ToString();
var scoreData = new Dictionary<string,string> ();
scoreData ["score"] = highScore;
FB.API ("/me/scores", Facebook.HttpMethod.POST, delegate(FBResult result) {
Debug.Log ("Score submit result: " + result.Text);
if(result.Text == "{\"success\":true}"){
QueryScores();
}
}, scoreData);
}
1 ответ
Просто поймите, что тестовые пользователи пропускают разрешение в FB.Login, поэтому в приложении вы должны использовать все разрешения в FB.Login.
FB.Login("email, publish_actions", AuthCallback);
в
FB.Login("email, publish_actions, user_friends, public_profile", AuthCallback);