C# 朋友排名不';不显示,但与测试用户一起工作

C# 朋友排名不';不显示,但与测试用户一起工作,c#,unity3d,facebook-unity-sdk,facebook-sdk-4.0,publish-actions,C#,Unity3d,Facebook Unity Sdk,Facebook Sdk 4.0,Publish Actions,我开发了一个simples游戏,我使用FacebookSDK for unity进行排名,TestUsers的一切都很好,但在我发布之后,排名对普通用户不起作用 也许FB.login有问题 FB.Login("email, publish_actions", AuthCallback); 还是我的分数保存代码?我不这么认为,b/c与测试用户一起工作 // All Scores API related Things public void QueryScores() {

我开发了一个simples游戏,我使用FacebookSDK for unity进行排名,TestUsers的一切都很好,但在我发布之后,排名对普通用户不起作用

也许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);
}
//所有与API相关的东西
公共无效查询核心()
{
FB.API(“/app/scores?fields=score,user.limit(30)”,Facebook.HttpMethod.GET,scorescalback);
}
私有void scorescalback(FBResult结果)
{
Log(“分数回调:+result.Text”);
scoresList=Util.DeserializeScores(result.Text);
foreach(ScoreScrollList.Transform中的转换子级)
{
GameObject.Destroy(child.GameObject);
}
foreach(分数列表中的对象分数)
{
var条目=(字典)分数;
var user=(字典)条目[“user”];
游戏对象记分板;
ScorePanel=实例化(ScoreEntryPanel)为游戏对象;
ScorePanel.transform.parent=ScoreScrollList.transform;
Transform ThisScoreName=ScorePanel.Transform.Find(“FriendName”);
Transform ThisScoreScore=ScorePanel.Transform.Find(“FriendScore”);
Text ScoreName=ThisScoreName.GetComponent();
Text ScoreScore=ThisScoreScore.GetComponent();
ScoreName.text=user[“name”].ToString();
ScoreScore.text=条目[“score”].ToString();
Transform TheUserAvatar=ScorePanel.Transform.Find(“FriendAvatar”);
Image UserAvatar=UserAvatar.GetComponent();
FB.API(Util.GetPictureURL(用户[“id”].ToString(),128128),Facebook.HttpMethod.GET,委托(FBResult pictureResult){
if(pictureResult.Error!=null)//如果有错误
{
Debug.Log(pictureResult.Error);
}
如果一切都好的话
{
UserAvatar.sprite=sprite.Create(pictureResult.Texture,新Rect(0,0128128),新Vector2(0,0));
}
});
}
}
公共核心
{
string highScore=PlayerPrefs.GetInt(“recorde”).ToString();
var scoreData=newdictionary();
scoreData[“分数”]=高分;
FB.API(“/me/scores”),Facebook.HttpMethod.POST,委托(FBResult){
Log(“分数提交结果:+result.Text”);
if(result.Text==“{\“success\”:true}”){
QueryScores();
}
},得分数据);
}

请注意,测试用户跳过FB.Login中的权限,因此在应用程序中,您应该使用FB.Login中的所有权限

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

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