【问题标题】:Managing leaderboard in unity with firebase与 Firebase 统一管理排行榜
【发布时间】:2017-01-01 09:21:31
【问题描述】:

我想将玩家分数保存到 firebase 数据库中,我编写了这段代码并以 JSON 格式发出了一个 post 请求,它既不会出现错误,也不会向服务器添加数据。每次www.text带来的都是这样独特的反应

{"名称":"-KQ-0awfeGnuapdD-5AR"}

我做错了什么。我如何在 firebase 数据库上发布用户分数。记住我没有在数据库上创建任何密钥。我只允许匿名在数据库中输入数据

        //Firbase Database URL
        string url = "https://xyz.firebaseio.com/.json";
        WWWForm objForm = new WWWForm();

        //Adding Data
        objForm.AddField("playerName", name);
        objForm.AddField("score", score);
        objForm.AddField("scoreDate", DateTime.Now.ToString());

        //Making Header
        Dictionary<string, string> objDict = new Dictionary<string, string>();
        objDict.Add("Content-Type", "application/json");

        //Converting FormData into JSON-- necessary for firebase post
        string jsonConvertedForm = JsonUtility.ToJson(objForm);

        byte[] bytePostData = Encoding.UTF8.GetBytes(jsonConvertedForm);
        WWW www = new WWW(url, bytePostData, objDict);
        yield return www;

        if (www.error == null)
        {
            Debug.Log("Adedd ::" + www.text );

        }
        else
        {
            Debug.LogError("Error ::" + www.error);
        }

【问题讨论】:

    标签: c# unity3d firebase firebase-realtime-database unity5.3


    【解决方案1】:

    实际上,这就是您的请求的预期响应。

    响应取决于您使用的标头。请参考此文档:

    https://firebase.google.com/docs/reference/rest/database/

    当您在 Http 请求上使用 POST 标头时,您正在执行数据推送请求。如果您通过 Firebase 控制台检查数据库,则数据应该已保存在您从响应中获得的生成密钥下。

    如果这不是您想要的,您应该尝试其他适合您需要的可用 Firebase 请求。

    【讨论】:

    • 好的,但在数据库中也找不到任何东西,我拉数据然后得到空
    • @MohammadFaizanKhan 我无法测试您的数据到 json 转换部分,因为我没有您正在使用的 JsonUtility 库。所以省略了那部分,我已经测试了你的代码(我发送了手动编写的 json 进行替换),它在这里工作得很好。您是否再次检查了您的脚本发送的字符串是否是有效的 json?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2023-03-30
    • 2018-01-31
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    相关资源
    最近更新 更多