11后无法向Firebase添加更多条目

我在firebase中有一个数据库,该数据库用于保存用户数据,并且能够将其添加到最多10位(从零开始)的帐户数据,但是在此之后,我每次调用该函数将其添加到数据库不会显示在Firebase中。我正在Unity中使用它进行游戏。这是函数调用。

`

public void populateDatabase()
{
    //populate static account data
    accountData _thisaccount = new accountData();

    _thisaccount.accName = account.instance.NickName();
    _thisaccount.accEmail = Playeraccount._this.getUserEmail();
    _thisaccount.accCash = 100;
    _thisaccount.accGem = 100;

    //Ranking Values
    _thisaccount.Rank = 0;
    //rookie
    _thisaccount.RookieRank = 0;
    _thisaccount.RookieAverage = 0;
    _thisaccount.RookieScoreone = 0;
    _thisaccount.RookieScoreTwo = 0;
    _thisaccount.RookieScoreThree = 0;
    //Amature
    _thisaccount.AmatureRank = 0;
    _thisaccount.AmatureAverage = 0;
    _thisaccount.AmatureScoreone = 0;
    _thisaccount.AmatureScoreTwo = 0;
    _thisaccount.AmatureScoreThree = 0;
    //Semi
    _thisaccount.SemiProRank = 0;
    _thisaccount.SemiAverage = 0;
    _thisaccount.SemiProScoreone = 0;
    _thisaccount.SemiProScoreTwo = 0;
    _thisaccount.SemiProScoreThree = 0;
    //Pro
    _thisaccount.ProRank = 0;
    _thisaccount.ProAverage = 0;
    _thisaccount.ProScoreone = 0;
    _thisaccount.ProScoreTwo = 0;
    _thisaccount.ProScoreThree = 0;

    _thisaccount.accTricks = account.instance.ReturnTricks();

    string tName = _thisaccount.getaccName();

    Debug.Log("Name: " + tName + " account " + _thisaccount.accTricks.Length);
    Debug.Log("Email: " + _thisaccount.accEmail);
    Debug.Log("Cash: " + _thisaccount.accCash);


    Debug.Log("Attempt to fill Database info");
    ConstuctDatabase(usersdb,_thisaccount);

}


private void ConstuctDatabase(DatabaseReference accountRef,accountData _thisaccount)
{
    int num = 0;
    accountRef.RunTransaction(MutableData =>
    {
        num++;
        List<object> account = MutableData.Value as List<object>;

        if (account == null)
        {
            account = new List<object>();
        }
        else
        {
            Debug.Log("continue");
        }



        Dictionary<string,object> newaccount =
            new Dictionary<string,object>();

        newaccount["accountName"] = _thisaccount.accName;
        newaccount["accountEmail"] = _thisaccount.accEmail;
        newaccount["Cash"] = _thisaccount.accCash;
        newaccount["Gem"] = _thisaccount.accGem;

        //Ranking Values
        newaccount["Rank"] = _thisaccount.Rank;
        //rookie
        newaccount["RookieRank"] = _thisaccount.RookieRank;
        newaccount["RookieAverage"] = _thisaccount.RookieAverage;
        newaccount["RookieScoreone"] = _thisaccount.RookieScoreone;
        newaccount["RookieScoreTwo"] = _thisaccount.RookieScoreTwo;
        newaccount["RookieScoreThree"] = _thisaccount.RookieScoreThree;
        //Amature
        newaccount["AmateurRank"] = _thisaccount.AmatureRank;
        newaccount["AmateurAverage"] = _thisaccount.AmatureAverage;
        newaccount["AmateurScoreone"] = _thisaccount.AmatureScoreone;
        newaccount["AmateurScoreTwo"] = _thisaccount.AmatureScoreTwo;
        newaccount["AmateurScoreThree"] = _thisaccount.AmatureScoreThree;
        //Semi
        newaccount["SemiProRank"] = _thisaccount.SemiProRank;
        newaccount["SemiProAverage"] = _thisaccount.SemiAverage;
        newaccount["SemiProScoreone"] = _thisaccount.SemiProScoreone;
        newaccount["SemiProScoreTwo"] = _thisaccount.SemiProScoreTwo;
        newaccount["SemiProScoreThree"] = _thisaccount.SemiProScoreThree;
        //Pro
        newaccount["ProRank"] = _thisaccount.ProRank;
        newaccount["ProAverage"] = _thisaccount.ProAverage;
        newaccount["ProScoreone"] = _thisaccount.ProScoreone;
        newaccount["ProScoreTwo"] = _thisaccount.ProScoreTwo;
        newaccount["ProScoreThree"] = _thisaccount.ProScoreThree;

        //Trick Logic]
        Dictionary<string,bool> newTricks =
            new Dictionary<string,bool>();

        int i = 0;
        while (i < _thisaccount.accTricks.Length)
        {
            newTricks["Trick" + i] = _thisaccount.accTricks[i]._owned;
            i++;
        }

        newaccount["Tricklist"] = newTricks;

        Debug.Log("ConstructDB1");
        account.Add(newaccount);
        MutableData.Value = account;
        Debug.Log("ConstructDB2");

        return TransactionResult.Success(MutableData);
    });
}

`

nihao_123456 回答:11后无法向Firebase添加更多条目

不幸的是,这是6.6.0中的一个已知问题。如果您注意release page,建议您尽快升级。

现在通过一个小变通办法来解释发生了什么:将数组有效地序列化为具有数字键的字典。它按字典顺序解析数字(例如:它正在执行类似1、10、2、3、4、5、6 ...的操作),并在11点中断。要解决此问题,而不是像现在那样添加列表,请尝试按字典顺序对字典进行序列化(例如:M001,M002,M003和&c)。我知道这并不理想,但是暂时应该可以解除封锁!

本文链接:https://www.f2er.com/3113309.html

大家都在问