OptionalbeaconHandler
beaconHandler?: (
url: string | URL,
data: {
events: (
| {
channel: "mobile"
| "server"
| "web";
componentId: string;
componentType: "Entry" | "Variable";
componentViewId: string;
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: (...) | (...);
continent?: (...) | (...);
coordinates?: (...) | (...);
country?: (...) | (...);
countryCode?: (...) | (...);
postalCode?: (...) | (...);
region?: (...) | (...);
regionCode?: (...) | (...);
timezone?: (...) | (...);
};
page?: {
path: string;
query: Record<(...), (...)>;
referrer: string;
search: string;
title?: (...) | (...);
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component";
userId?: string;
variantIndex: number;
viewDurationMs: number;
}
| {
channel: "mobile"
| "server"
| "web";
componentId: string;
componentType: "Entry" | "Variable";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: (...) | (...);
continent?: (...) | (...);
coordinates?: (...) | (...);
country?: (...) | (...);
countryCode?: (...) | (...);
postalCode?: (...) | (...);
region?: (...) | (...);
regionCode?: (...) | (...);
timezone?: (...) | (...);
};
page?: {
path: string;
query: Record<(...), (...)>;
referrer: string;
search: string;
title?: (...) | (...);
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component_click";
userId?: string;
variantIndex: number;
}
| {
channel: "mobile"
| "server"
| "web";
componentHoverId: string;
componentId: string;
componentType: "Entry" | "Variable";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: (...) | (...);
continent?: (...) | (...);
coordinates?: (...) | (...);
country?: (...) | (...);
countryCode?: (...) | (...);
postalCode?: (...) | (...);
region?: (...) | (...);
regionCode?: (...) | (...);
timezone?: (...) | (...);
};
page?: {
path: string;
query: Record<(...), (...)>;
referrer: string;
search: string;
title?: (...) | (...);
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
hoverDurationMs: number;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component_hover";
userId?: string;
variantIndex: number;
}
)[];
profile: { id: string; [key: string]: JSONType };
}[],
) => boolean
Configuration for InsightsApiClient.