我正在使用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已从记录的更改中排除。我的目标出问题了吗?