识别用户
按照以下步骤将你的内部用户 id 与正在录制的会话关联起来。
使用 NPM
Section titled 使用 NPM在 tracker 启动时注入 userID:
tracker.configure({
projectKey: PROJECT_KEY
});
tracker.start({
userID: "john@doe.com",
metadata: {
balance: "10M",
plan: "free"
}
});
如果无法做到这一点(userID 在导航流程的稍后阶段才能知道,也就是在 tracker 启动很久之后),那么请调用 setUserID 方法来识别你的用户。在会话期间,可以随时通过调用 setUserID 来更改用户的身份。不过,OpenReplay 只会保留最后一次注入的用户 ID。
tracker.setUserID('john@doe.com'); // after tracker.start()
使用 JavaScript 代码片段
Section titled 使用 JavaScript 代码片段下面是一个使用代码片段注入 userID 的示例。请注意用于注入 userID 的 startOpts 变量/行。
<!-- OpenReplay Tracking Code -->
<script>
var initOpts = { projectKey: "GxPpaDARdn2345fgt321" };
var startOpts = { userID: getUserID() }; // use startOpts variable to inject userID
(function(A,s,a,y,e,r){
r=window.OpenReplay=[e,r,y,[s-1, e]];
s=document.createElement('script');s.src=A;s.async=!a;
...
})("//static.openreplay.com/latest/openreplay.js", 1, 0, initOpts, startOpts);
</script>
如果无法做到这一点(userID 在导航流程的稍后阶段才能知道,也就是在 tracker 启动很久之后),那么请改为调用 setUserID 方法来识别你的用户。在会话期间,可以随时通过调用 setUserID 来更改用户的身份。不过,OpenReplay 只会保留最后一次注入的用户 ID。
<!-- OpenReplay Tracking Code -->
<script>
var initOpts = { projectKey: "GxPpaDARdn2345fgt321" };
var startOpts = { userID: "" };
(function(A,s,a,y,e,r){
r=window.OpenReplay=[e,r,y,[s-1, e]];
s=document.createElement('script');s.src=A;s.async=!a;
...
})("//static.openreplay.com/latest/openreplay.js", 1, 0, initOpts, startOpts);
</script>
...
OpenReplay.setUserID("john@doe.com"); // set the userID later in your code
...
使用 iOS 应用
Section titled 使用 iOS 应用只需在回放期间的任意时刻调用 setUserID(String)。
import ORTracker
// ... your code
ORTracker.shared.setUserID(_ userID: String)