Skip to content

Commit e276445

Browse files
zhu-xiaoweixiaoweii
andauthored
feat: change screen width and height value, add viewport attribute (#20)
Co-authored-by: xiaoweii <xiaoweii@amazom.com>
1 parent b95c58b commit e276445

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

src/provider/AnalyticsEventBuilder.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ export class AnalyticsEventBuilder {
7070
zone_offset: browserInfo.zoneOffset,
7171
make: browserInfo.make,
7272
platform: 'Web',
73-
screen_height: window.innerHeight,
74-
screen_width: window.innerWidth,
73+
screen_height: window.screen.height,
74+
screen_width: window.screen.width,
75+
viewport_height: window.innerHeight,
76+
viewport_width: window.innerWidth,
7577
sdk_name: 'aws-solution-clickstream-sdk',
7678
sdk_version: sdkVersion,
7779
items: items,

src/types/Analytics.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ export interface AnalyticsEvent {
9292
locale: string;
9393
screen_height: number;
9494
screen_width: number;
95+
viewport_height: number;
96+
viewport_width: number;
9597
zone_offset: number;
9698
system_language: string;
9799
country_code: string;

test/provider/AnalyticsEventBuilder.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ describe('AnalyticsEventBuilder test', () => {
2828
writable: true,
2929
value: referrer,
3030
});
31+
Object.defineProperty(window.screen, 'width', {
32+
writable: true,
33+
value: 1920,
34+
});
35+
Object.defineProperty(window.screen, 'height', {
36+
writable: true,
37+
value: 1080,
38+
});
3139
const context = new ClickstreamContext(new BrowserInfo(), {
3240
appId: 'testApp',
3341
endpoint: 'https://example.com/collect',
@@ -53,6 +61,8 @@ describe('AnalyticsEventBuilder test', () => {
5361
expect(event.sdk_name).toBe('aws-solution-clickstream-sdk');
5462
expect(event.screen_height > 0).toBeTruthy();
5563
expect(event.screen_width > 0).toBeTruthy();
64+
expect(event.viewport_height > 0).toBeTruthy();
65+
expect(event.viewport_width > 0).toBeTruthy();
5666
expect(event.sdk_version).toBe(version);
5767
expect(event.user).toStrictEqual({});
5868
expect(Event.ReservedAttribute.PAGE_TITLE in event.attributes);

0 commit comments

Comments
 (0)