具有ResumeToken的Firestore侦听(RPC)不会传播DocumentDeletes

时间:2019-03-01 11:20:30

标签: google-cloud-firestore rpc resume listen

我正在使用Firestore RPC API来监听Unity应用程序中的集合更改。当应用程序进入后台运行时,该应用程序将停止监听,但是将保留ListenRequest目标的ResumeToken。

现在,如果我再次打开该应用程序,则将启动具有持久化ResumeToken的新ListenRequest。同时,任何添加或更改的文档都将传播到客户端(如预期的那样)。但是,如果在此期间发生DeleteDocument,它不会传播到客户端,并且被删除的文档将继续显示在应用程序中。

ListenRequest的目标如下所示:

    listenRequest.AddTarget.Query = new Target.Types.QueryTarget
    {
        Parent = database + parent,
        StructuredQuery = new StructuredQuery
        {
            From = {
                new StructuredQuery.Types.CollectionSelector {
                    CollectionId = collection,
                    AllDescendants = false
                }
            }
        }
    };

    listenRequest.AddTarget.TargetId = _resumeTokens[call].Item1;
    listenRequest.AddTarget.ResumeToken = _resumeTokens[call].Item2;

The firestore rpc documentation并没有真正表明DocumentDeletes已从记录的更改中排除。我的目标出问题了吗?

0 个答案:

没有答案