Firebase Analytics:多个setUserPropertyString(iOS,Swift)

Ant*_*sov 10 ios cocoapods firebase swift firebase-analytics

尝试在调试模式下异步设置2个自定义用户属性

FIRAnalytics.setUserPropertyString(value: "value_1", forName: "name_1")
FIRAnalytics.setUserPropertyString(value: "value_2", forName: "name_2")
Run Code Online (Sandbox Code Playgroud)

无论值是什么,我只会在Firebase控制台调试视图中看到最后一个属性已更新.所以在这种情况下"name_2"="value_2".

是否一次只能设置一个用户属性,这些请求应该是同步的,还是只是一个调试报告问题?

在Firebase文档中找不到任何相关内容.

在Xcode控制台中,我看到:

<Debug> [Firebase/Analytics]Setting user property. Name, value: name_1, value_1
<Debug> [Firebase/Analytics]User property set. Name, value: name_1, value_1
<Debug> [Firebase/Analytics]Setting user property. Name, value: name_2, value_2
<Debug> [Firebase/Analytics]User property set. Name, value: name_2, value_2
<Debug> [Firebase/Analytics]Engagement timer canceled
<Debug> [Firebase/Analytics]Engagement timer scheduled to fire in approx. (s): 3600
<Debug> [Firebase/Analytics]Ignoring duplicate view controller
Run Code Online (Sandbox Code Playgroud)

更新1:如果延迟第二个请求,则两个属性都设置正确:

FIRAnalytics.setUserPropertyString(value: "value 1", forName: "name 1") 
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1), execute: {
    FIRAnalytics.setUserPropertyString(value: "value 2", forName: "name 2") 
})
Run Code Online (Sandbox Code Playgroud)

只是让它成为异步而没有延迟但是不起作用.但文档没有提到这是必需的,延迟是任意的.

更新2:该问题仅发生在调试模式下.原始代码能够在生产模式下同时设置两个属性,并且可以相应地传递通知.

更新3:联系Firebase支持,他们认识到这可能是数据收集或在调试模式下表示的问题,并创建了一个调查并可能解决问题的凭单.