具有进度的Firebase存储下载文件不会激活“直播”(Unity,C#)

时间:2018-03-11 21:30:43

标签: c# firebase unity3d firebase-storage progress

尝试从firebase存储中下载文件。 工作得很好,但我的进度没有得到更新“直播”。 当我调试。记录我的进度时,所有调试消息在下载完成时打印在控制台中,而不是在下载过程中打印。
在工作中,我的互联网连接更好,它看起来好像按预期工作,但在家里我有这种奇怪的行为。

public void DownloadFile(string destination, string filename, StorageProgress<DownloadState> handleProgress, Action<Task> completionBlock)
{    
    CTRouter.MyContentReference(uid, cid)
        .Child(filename)
        .GetFileAsync(destination, handleProgress, CancellationToken.None)
        .ContinueWith(resultTask =>
        {
            completionBlock(resultTask);
        });
}

在我的handleProgress方法中,我调试。记录进度并更新UI中的进度条。

是否存在线程问题?为什么进度条可以通过良好的互联网进行更新,但是当只有2 MBit互联网时却没有?它的下载并没有任何反应。下载完成后,我会收到所有进度日志的垃圾邮件,我的进度条会达到100%。

任何帮助都会很棒。 谢谢!

编辑: 我尝试了quickstart-unity repository中的代码并遇到了同样的问题(DownloadFileAsync和DownloadStreamAsync),但下载似乎冻结了UI和控制台,直到下载完成。完成后,我收到所有进度更新消息的垃圾邮件。 所以我认为unity firebase SDK中存在一个错误? 我正在使用Unity 2017.3.1f1和最新的Firebase SDK。 也尝试使用Unity 5.3.5并且它无法正常工作。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我提交了一份错误报告,并向支持人员寻求帮助。 这种行为确实是一个错误,将在下一个Firebase Unity SDK版本中修复。