-1

我開發了一個簡單的遊戲,我使用Facebook SDK進行統一排名,一切工作都很好,但是在我發佈它之後,排名沒有與普通用戶一起工作。朋友排名沒有顯示,但與測試用戶合作

I have the permission of Publish_actions

The game is live on Facebook

也許有些問題的FB.login?

FB.Login("email, publish_actions", AuthCallback); 

或者用我的代碼保存分數?我不這麼認爲,B/C與測試用戶的工作

// 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); 
} 

回答

0

只要知道測試用戶跳過許可,不得以的FB.login,所以在應用程序,你應該在的FB.login使用的所有權限。

FB.Login("email, publish_actions", AuthCallback); 

FB.Login("email, publish_actions, user_friends, public_profile", AuthCallback); 
相關問題