Skip to content

Commit 0e47d74

Browse files
zhu-xiaoweixiaoweii
andauthored
chore: optimize user engagement event record logic (#26)
Co-authored-by: xiaoweii <[email protected]>
1 parent 77d901f commit 0e47d74

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/tracker/PageViewTracker.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ export class PageViewTracker extends BaseTracker {
6262
previousPageTitle !== currentPageTitle
6363
) {
6464
this.provider.scrollTracker?.enterNewPage();
65-
this.recordUserEngagement();
65+
if (previousPageUrl !== '') {
66+
this.recordUserEngagement();
67+
}
6668
this.trackPageView(previousPageUrl, previousPageTitle);
6769
this.trackSearchEvents();
6870

@@ -110,7 +112,6 @@ export class PageViewTracker extends BaseTracker {
110112
}
111113

112114
recordUserEngagement(isImmediate = false) {
113-
if (this.lastScreenStartTimestamp === 0) return;
114115
this.lastEngageTime = this.getLastEngageTime();
115116
if (
116117
this.provider.configuration.isTrackUserEngagementEvents &&

test/tracker/PageViewTracker.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,14 @@ describe('PageViewTracker test', () => {
139139
pageViewTracker,
140140
'trackPageViewForSPA'
141141
);
142+
const userEngagementMock = jest.spyOn(
143+
pageViewTracker,
144+
'recordUserEngagement'
145+
);
142146
(context.configuration as any).pageType = PageType.SPA;
143147
pageViewTracker.setUp();
144148
expect(trackPageViewForSPAMock).toBeCalled();
149+
expect(userEngagementMock).not.toBeCalled();
145150
});
146151

147152
test('test environment is not supported for sessionStorage', () => {

0 commit comments

Comments
 (0)