feat(smartlook): update to 1.6.0 (#3562)

This commit is contained in:
František Spurný 2020-11-19 08:38:04 +01:00 committed by GitHub
parent e486cfd9bf
commit f71b65d6a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,8 +13,8 @@ export class SmartlookSetupConfigBuilder {
return this; return this;
} }
renderingMode(renderingMode: string): SmartlookSetupConfigBuilder { renderingMode(renderingMode: SmartlookRenderingMode): SmartlookSetupConfigBuilder {
this._smartlookSetupConfig.renderingMode = renderingMode; this._smartlookSetupConfig.renderingMode = renderingMode.getRenderingModeString();
return this; return this;
} }
@ -28,6 +28,11 @@ export class SmartlookSetupConfigBuilder {
return this; return this;
} }
eventTrackingModes(eventTrackingModes: SmartlookEventTrackingModes): SmartlookSetupConfigBuilder {
this._smartlookSetupConfig.eventTrackingModes = eventTrackingModes.getEventTrackingModeStringArray();
return this;
}
build(): SmartlookSetupConfig { build(): SmartlookSetupConfig {
return this._smartlookSetupConfig; return this._smartlookSetupConfig;
} }
@ -39,6 +44,7 @@ export class SmartlookSetupConfig {
renderingMode: string; renderingMode: string;
startNewSession: boolean; startNewSession: boolean;
startNewSessionAndUser: boolean; startNewSessionAndUser: boolean;
eventTrackingModes: string[];
constructor(smartlookAPIKey: string) { constructor(smartlookAPIKey: string) {
this.smartlookAPIKey = smartlookAPIKey; this.smartlookAPIKey = smartlookAPIKey;
@ -74,15 +80,41 @@ export class SmartlookEventTrackingMode {
return new SmartlookEventTrackingMode('ignore_user_interaction'); return new SmartlookEventTrackingMode('ignore_user_interaction');
} }
static IGNORE_NAVIGATION_INTERACTION(): SmartlookEventTrackingMode {
return new SmartlookEventTrackingMode('ignore_navigation_interaction');
}
static IGNORE_RAGE_CLICKS(): SmartlookEventTrackingMode {
return new SmartlookEventTrackingMode('ignore_rage_clicks');
}
static NO_TRACKING(): SmartlookEventTrackingMode { static NO_TRACKING(): SmartlookEventTrackingMode {
return new SmartlookEventTrackingMode('no_tracking'); return new SmartlookEventTrackingMode('no_tracking');
} }
getEventTrackingModeString(): string {
return this.eventTrackingMode;
}
constructor(eventTrackingMode: string) { constructor(eventTrackingMode: string) {
this.eventTrackingMode = eventTrackingMode; this.eventTrackingMode = eventTrackingMode;
} }
} }
export class SmartlookEventTrackingModes {
private eventTrackingModes: string[];
constructor(eventTrackingModes: SmartlookEventTrackingMode[]) {
this.eventTrackingModes = eventTrackingModes.map(eventTrackingMode =>
eventTrackingMode.getEventTrackingModeString()
);
}
getEventTrackingModeStringArray(): string[] {
return this.eventTrackingModes;
}
}
export class SmartlookViewState { export class SmartlookViewState {
static START = 'start'; static START = 'start';
static STOP = 'stop'; static STOP = 'stop';
@ -204,6 +236,10 @@ export class SmartlookRenderingMode {
return new SmartlookRenderingMode('native'); return new SmartlookRenderingMode('native');
} }
getRenderingModeString(): string {
return this.renderingMode;
}
constructor(renderingMode: string) { constructor(renderingMode: string) {
this.renderingMode = renderingMode; this.renderingMode = renderingMode;
} }
@ -248,6 +284,8 @@ export class SmartlookRenderingMode {
* SmartlookReferrer * SmartlookReferrer
* SmartlookDashboardSessionUrl * SmartlookDashboardSessionUrl
* SmartlookRenderingMode * SmartlookRenderingMode
* SmartlookEventTrackingMode
* SmartlookEventTrackingModes
*/ */
@Plugin({ @Plugin({
pluginName: 'Smartlook', pluginName: 'Smartlook',
@ -361,16 +399,27 @@ export class Smartlook extends IonicNativePlugin {
/** /**
* You can configure which events are being tracked by setting eventTrackingMode. * You can configure which events are being tracked by setting eventTrackingMode.
* @param eventTrackingMode Can be on of: * @param eventTrackingMode Can be on of:
* - SmartlookEventTrackingMode.FULL_TRACKING() tracks everything. * - EventTrackingMode.FULL_TRACKING ... track everything
* - SmartlookEventTrackingMode.IGNORE_USER_INTERACTION() will not track touches, * - EventTrackingMode.IGNORE_USER_INTERACTION ... will not track touches
* focus, keyboard, selector events. * focus, keyboard, selector events
* - SmartlookEventTrackingMode.NO_TRACKING() not gonna track any events . * - EventTrackingMode.IGNORE_NAVIGATION_INTERACTION ... will not track screen names
* - EventTrackingMode.IGNORE_RAGE_CLICKS ... will not track rage clicks
* - EventTrackingMode.NO_TRACKING ... not gonna track any events
*/ */
@Cordova({ sync: true }) @Cordova({ sync: true })
setEventTrackingMode(eventTrackingMode: SmartlookEventTrackingMode): void { setEventTrackingMode(eventTrackingMode: SmartlookEventTrackingMode): void {
return; return;
} }
/**
* You can configure which events are being tracked by setting eventTrackingMode.
* @param eventTrackingModes Array of EventTrackingModes.
*/
@Cordova({ sync: true })
setEventTrackingModes(eventTrackingModes: SmartlookEventTrackingModes): void {
return;
}
/** /**
* Track custom navigation event. * Track custom navigation event.
* @param navigationEvent SmartlookNavigationEvent object. * @param navigationEvent SmartlookNavigationEvent object.