为什么在台式机上网络上的每个会话/标签上都需要幅度sdk再生设备ID?

问题描述

我正在使用振幅Javascript SDK。按照文档进行操作:在https://help.amplitude.com/hc/en-us/articles/115003135607-Tracking-Unique-Users,我假定Amplitude sdk本身将为我使用的计算机设置一个设备ID(顾名思义),并为我使用的任何浏览器发送相同的设备ID(除非我使用 setUserId 方法设置自定义userId)。不仅会为不同的浏览器发送不同的deviceid,还会为任何选项卡/会话发送重新生成的设备ID。

如何防止它发生?

解决方法

Amplitude SDK会分别为每个浏览器生成设备ID。在这些浏览器中使用相同的设备ID后,我们会将用户操作合并到一个用户下。历史事件也是如此。

如果每个标签中都有一个新的设备ID,则必须在代码中的某个地方调用"console": "externalTerminal",

,

我已经联系了振幅支持部门,振幅SDK中存在一个错误。如问题所述,当我们在同一浏览器和用户(非隐身用户)中打开新标签或重新打开窗口时,不应更改DeviceId。

将幅度sdk版本从6.2.0更新到7.1.0解决了这个问题!