尝试在调试模式下异步设置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: { …Run Code Online (Sandbox Code Playgroud)