Files
discord-decomp/modules/quests/lib/analytics/AnalyticsActions.tsx
T
2026-11-01 12:12:55 +02:00

498 lines
18 KiB
TypeScript

// Metro module 6002 (f6003).
import DevToolsSettingsStore from "../../../devtools/DevToolsSettingsStore";
import DeveloperOptionsStore from "../../../../stores/DeveloperOptionsStore";
import QuestStore from "../../QuestStore";
import { AnalyticEvents } from "../../../../Constants";
import { getActiveSessionUnsafe } from "../../../analytics_sessions/SessionHeartbeatScheduler";
import { getOrRefreshAdSession } from "../../../analytics_sessions/SessionAdGenerator";
import { getAdDecisionData, isBillableQuestContent, getAdMetadataSealed, getAdTrafficMetadataSealed } from "../../utils/QuestDataUtils";
import { getQuestType } from "../../utils/QuestUtils";
import { getAllApplicationIds } from "../../utils/QuestTaskUtils";
import { getQuestStatus, getQuestContentName, getContentProperties } from "./AnalyticsTypes";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import AppAnalyticsUtils from "../../../app_analytics/AppAnalyticsUtils";
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
import { getAdUser } from "../../../ads/utils/AdDataUtils.android";
import getDeviceMetadata_native from "../../../device/getDeviceMetadata.native";
import { isIOS, isAndroid } from "../../../../utils/PlatformUtils";
import { v4 } from "../../../../_bundle/Module514";
import { getCurrentQuestHomeSearchSession } from "./QuestHomeSearchSession";
import { QuestContent } from "../../QuestTypes";
import { HermesBuiltin } from "../../../../_hermes/prelude";
let c3790_8, trackAdContentEvent, getCommonClickEventProperties;
const trackQuestEvent = function trackQuestEvent(a0) {
const { questId, event, properties: properties2 } = a0;
let trackGuildAndChannelMetadata = a0.trackGuildAndChannelMetadata;
let shouldExtendSession = a0.shouldExtendSession;
if (shouldExtendSession === void 0) {
shouldExtendSession = false;
}
L21: {
const sourceQuestContent = a0.sourceQuestContent;
const r24 = QuestStore.quests.get(questId);
if (r24 != null) {
const r10 = {
quest_id: r24.id,
quest_type: getQuestType(r24.config),
application_ids: null,
quest_status: null
};
let application_ids = getAllApplicationIds(r24);
if (application_ids == null) {
application_ids = [];
}
r10.application_ids = application_ids;
r10.quest_status = getQuestStatus(r24);
const id = r24.id;
const QUEST = AdCreativeType.QUEST;
let uuid2 = getOrRefreshAdSession(shouldExtendSession).uuid;
const adDecisionData = getAdDecisionData(id, sourceQuestContent);
const r51 = {
client_ad_session_id: uuid2,
billing_session_id: null,
ad_content_id: null
};
if (!isBillableQuestContent(sourceQuestContent)) {
let r58 = getActiveSessionUnsafe()?.uuid;
if (r58 == null) {
r58 = null;
}
uuid2 = r58;
}
r51.billing_session_id = uuid2;
r51.ad_content_id = id;
HermesBuiltin.copyDataProperties(r51, adDecisionData);
let creative_type = adDecisionData.creative_type;
if (creative_type == null) {
creative_type = QUEST;
}
const r61 = {};
r51.creative_type = creative_type;
HermesBuiltin.copyDataProperties(r10, r51);
HermesBuiltin.copyDataProperties(r61, r10);
HermesBuiltin.copyDataProperties(r61, properties2);
const preview = r24.preview;
if (trackGuildAndChannelMetadata === void 0) {
trackGuildAndChannelMetadata = false;
}
if (DevToolsSettingsStore.displayTools && DevToolsSettingsStore.lastOpenTabId === "quest_preview") {
break L21;
}
DeveloperOptionsStore.isLoggingAnalyticsEvents;
if (!preview) {
const flush = c3790_8.has(event);
if (trackGuildAndChannelMetadata) {
AppAnalyticsUtils.trackWithMetadata(event, r61, flush);
} else {
AnalyticsUtils.track(event, r61, {
flush
});
}
}
}
}
};
trackAdContentEvent = function trackAdContentEvent(a0) {
const { adContentId, relatedQuestId, adCreativeType, event, properties: properties2 } = a0;
let trackGuildAndChannelMetadata = a0.trackGuildAndChannelMetadata;
const { shouldExtendSession = false, sourceQuestContent } = a0;
const r13 = relatedQuestId != null ? QuestStore.getQuest(relatedQuestId) : null;
let uuid2 = getOrRefreshAdSession(shouldExtendSession).uuid;
const adDecisionData = getAdDecisionData(adContentId, sourceQuestContent);
const r32 = {
client_ad_session_id: uuid2,
billing_session_id: null,
ad_content_id: null
};
if (!isBillableQuestContent(sourceQuestContent)) {
let r40 = getActiveSessionUnsafe()?.uuid;
if (r40 == null) {
r40 = null;
}
uuid2 = r40;
}
r32.billing_session_id = uuid2;
r32.ad_content_id = adContentId;
HermesBuiltin.copyDataProperties(r32, adDecisionData);
let creative_type = adDecisionData.creative_type;
if (creative_type == null) {
creative_type = adCreativeType;
}
const r43 = {};
r32.creative_type = creative_type;
HermesBuiltin.copyDataProperties(r43, r32);
let metadata_sealed = getAdMetadataSealed(sourceQuestContent, adContentId);
if (metadata_sealed == null) {
metadata_sealed = null;
}
r43.metadata_sealed = metadata_sealed;
let traffic_metadata_sealed2 = getAdTrafficMetadataSealed(sourceQuestContent, void 0, adContentId);
if (traffic_metadata_sealed2 == null) {
traffic_metadata_sealed2 = null;
}
r43.traffic_metadata_sealed = traffic_metadata_sealed2;
const r55 = relatedQuestId != null ? {
quest_id: relatedQuestId,
quest_status: r13 != null ? getQuestStatus(r13) : null
} : {};
const r62 = {};
HermesBuiltin.copyDataProperties(r43, r55);
HermesBuiltin.copyDataProperties(r62, r43);
HermesBuiltin.copyDataProperties(r62, properties2);
if (trackGuildAndChannelMetadata === void 0) {
trackGuildAndChannelMetadata = false;
}
if (!(DevToolsSettingsStore.displayTools && DevToolsSettingsStore.lastOpenTabId === "quest_preview")) {
DeveloperOptionsStore.isLoggingAnalyticsEvents;
const flush = c3790_8.has(event);
if (trackGuildAndChannelMetadata) {
AppAnalyticsUtils.trackWithMetadata(event, r62, flush);
} else {
AnalyticsUtils.track(event, r62, {
flush
});
}
}
};
getCommonClickEventProperties = async function getCommonClickEventProperties(c25673_0) {
let c25673_3;
c25673_3 = void 0;
let c29647_0 = c25673_0.questContent;
let c29647_1 = c25673_0.questContentPosition;
let c29647_2 = c25673_0.questContentRowIndex;
let c29647_3 = c25673_0.questContentCTA;
let c29647_4 = c25673_0.impressionId;
let c29647_5 = c25673_0.clickId;
await void 0;
let c29647_6 = await getAdUser(getQuestContentName(c29647_0));
const r80 = {
...getContentProperties(c29647_0, c29647_1, c29647_2),
...getDeviceMetadata_native(),
cta_name: c29647_3,
impression_id: c29647_4,
apple_advertising_id: c29647_6 != null ? isIOS() ? c29647_6.advertisingId : null : null,
android_advertising_id: c29647_6 != null ? isAndroid() ? c29647_6.advertisingId : null : null
};
let click_id = c29647_5;
if (c29647_5 == null) {
click_id = v4();
}
r80.click_id = click_id;
return r80;
};
c3790_8 = new Set([AnalyticEvents.QUEST_CONTENT_VIEWED, AnalyticEvents.QUEST_CONTENT_CLICKED]);
export { trackQuestEvent };
export function trackAppStoreOverlayEvent(a0, a1, a2, a3, a4) {
const r9 = {
content_name: getQuestContentName(a1.content),
cta_name: a1.ctaContent,
impression_id: a1.impressionId,
source_content_name: getQuestContentName(a1.sourceQuestContent),
app_id: a2,
content_position: a1.position
};
trackQuestEvent({
questId: a0.id,
event: a3,
properties: (a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_CLOSED || a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_RETURNED) && a4 !== void 0 ? {
...r9,
time_spent_ms: a4
} : r9,
sourceQuestContent: a1.sourceQuestContent
});
}
export function trackAdContentAppStoreOverlayEvent({ adContentId, adCreativeType }, a1, a2, a3, a4) {
const r8 = {
content_name: getQuestContentName(a1.content),
cta_name: a1.ctaContent,
impression_id: a1.impressionId,
source_content_name: getQuestContentName(a1.sourceQuestContent),
app_id: a2,
content_position: a1.position
};
trackAdContentEvent({
adContentId,
adCreativeType,
event: a3,
properties: a3 !== AnalyticEvents.QUEST_APP_STORE_OVERLAY_CLOSED ? a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_RETURNED ? a4 !== void 0 ? {
...r8,
time_spent_ms: a4
} : r8 : r8 : a4 !== void 0 ? {
...r8,
time_spent_ms: a4
} : r8,
sourceQuestContent: a1.sourceQuestContent
});
}
export { trackAdContentEvent };
export { getCommonClickEventProperties };
export async function trackQuestContentClicked(c25674_0) {
let c25674_6;
c25674_6 = void 0;
let c29648_0 = c25674_0.questId;
let c29648_1 = c25674_0.questContent;
let c29648_2 = c25674_0.questContentCTA;
let c29648_3 = c25674_0.questContentPosition;
let c29648_4 = c25674_0.questContentRowIndex;
let c29648_5 = c25674_0.impressionId;
let c29648_6 = c25674_0.clickId;
let c29648_7 = c25674_0.trackGuildAndChannelMetadata;
let c29648_8 = c25674_0.sourceQuestContent;
await void 0;
let c29648_9 = getAdTrafficMetadataSealed(c29648_8, c29648_0);
let c25674_8 = trackQuestEvent;
const r60 = {};
let c25674_5 = r60;
r60.questId = c29648_0;
r60.event = AnalyticEvents.QUEST_CONTENT_CLICKED;
const properties = {};
HermesBuiltin.copyDataProperties(properties, await (0, getCommonClickEventProperties)({
questContent: c29648_1,
questContentPosition: c29648_3,
questContentRowIndex: c29648_4,
questContentCTA: c29648_2,
impressionId: c29648_5,
clickId: c29648_6
}));
let adMetadataSealed = getAdMetadataSealed(c29648_8);
if (adMetadataSealed == null) {
adMetadataSealed = null;
}
properties.metadata_sealed = adMetadataSealed;
let traffic_metadata_sealed = c29648_9;
if (c29648_9 == null) {
traffic_metadata_sealed = null;
}
properties.traffic_metadata_sealed = traffic_metadata_sealed;
const uuid2 = getCurrentQuestHomeSearchSession()?.uuid;
let uuid = uuid2;
if (uuid2 == null) {
uuid = null;
}
properties.search_session_id = uuid;
c25674_5.properties = properties;
c25674_5.trackGuildAndChannelMetadata = c29648_7;
c25674_5.shouldExtendSession = isBillableQuestContent(c29648_1);
c25674_5.sourceQuestContent = c29648_8;
c25674_8(c25674_5);
}
export async function trackAdContentClicked(c25675_0) {
let c25675_3;
c25675_3 = void 0;
let c29649_0 = c25675_0.adContentId;
let c29649_1 = c25675_0.relatedQuestId;
let c29649_2 = c25675_0.adCreativeType;
let c29649_3 = c25675_0.questContent;
let c29649_4 = c25675_0.questContentCTA;
let c29649_5 = c25675_0.questContentPosition;
let c29649_6 = c25675_0.questContentRowIndex;
let c29649_7 = c25675_0.impressionId;
let c29649_8 = c25675_0.trackGuildAndChannelMetadata;
let c29649_9 = c25675_0.sourceQuestContent;
await void 0;
let c25675_2 = trackAdContentEvent;
const r12 = {};
let c25675_1 = r12;
r12.adContentId = c29649_0;
r12.relatedQuestId = c29649_1;
r12.adCreativeType = c29649_2;
r12.event = AnalyticEvents.QUEST_CONTENT_CLICKED;
const properties2 = await (0, getCommonClickEventProperties)({
questContent: c29649_3,
questContentPosition: c29649_5,
questContentRowIndex: c29649_6,
questContentCTA: c29649_4,
impressionId: c29649_7
});
c25675_1.properties = properties2;
c25675_1.trackGuildAndChannelMetadata = c29649_8;
c25675_1.shouldExtendSession = isBillableQuestContent(c29649_3);
c25675_1.sourceQuestContent = c29649_9;
c25675_2(c25675_1);
}
export function trackBountyCarouselScroll({ scrollingType, scrollingDirection, carouselPosition, questContent }) {
let uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_CAROUSEL_SCROLL = AnalyticEvents.BOUNTY_CAROUSEL_SCROLL;
const r24 = {
client_ad_session_id: uuid2,
billing_session_id: null,
scrolling_type: null,
scrolling_direction: null,
carousel_position: null,
content_name: null
};
if (!isBillableQuestContent(questContent)) {
let r31 = getActiveSessionUnsafe()?.uuid;
if (r31 == null) {
r31 = null;
}
uuid2 = r31;
}
r24.billing_session_id = uuid2;
r24.scrolling_type = scrollingType;
r24.scrolling_direction = scrollingDirection;
r24.carousel_position = carouselPosition;
r24.content_name = getQuestContentName(questContent);
AnalyticsUtils.track(BOUNTY_CAROUSEL_SCROLL, r24);
}
export function trackQuestHomeOrbShopCarouselViewed(a0) {
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_ORB_SHOP_CAROUSEL_VIEWED, {
obtainable_orb_rewards: a0.obtainableOrbRewards,
carousel_size: a0.carouselSize,
is_placeholder_carousel: a0.isPlaceholderCarousel
});
}
export function trackQuestHomeOrbShopCarouselScroll(a0) {
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_ORB_SHOP_CAROUSEL_SCROLL, {
scrolling_direction: a0.scrollingDirection,
carousel_position: a0.carouselPosition,
carousel_size: a0.carouselSize
});
}
export function trackBountyCarouselEmptyStateViewed(a0) {
let uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED = AnalyticEvents.BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED;
const r20 = {
client_ad_session_id: uuid2,
billing_session_id: null,
reason: null
};
if (!isBillableQuestContent(QuestContent.QUEST_HOME_MOBILE_CAROUSEL)) {
let r30 = getActiveSessionUnsafe()?.uuid;
if (r30 == null) {
r30 = null;
}
uuid2 = r30;
}
r20.billing_session_id = uuid2;
r20.reason = a0;
AnalyticsUtils.track(BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED, r20);
}
export function trackBountyVerticalScroll({ scrollingType, scrollingDirection, verticalScrollingPosition, scrollSessionId, timeWatchedPreScrollMs }) {
const uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_VERTICAL_SCROLL = AnalyticEvents.BOUNTY_VERTICAL_SCROLL;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(BOUNTY_VERTICAL_SCROLL, {
client_ad_session_id: uuid2,
billing_session_id,
scrolling_type: scrollingType,
scrolling_direction: scrollingDirection,
vertical_scrolling_position: verticalScrollingPosition,
scroll_session_id: scrollSessionId,
time_watched_pre_scroll_ms: timeWatchedPreScrollMs
});
}
export function trackBountyAutoScrollDismissed({ verticalScrollingPosition, scrollSessionId }) {
const uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_AUTO_SCROLL_DISMISSED = AnalyticEvents.BOUNTY_AUTO_SCROLL_DISMISSED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(BOUNTY_AUTO_SCROLL_DISMISSED, {
client_ad_session_id: uuid2,
billing_session_id,
vertical_scrolling_position: verticalScrollingPosition,
scroll_session_id: scrollSessionId
});
}
export function trackQuestHomeCarouselScroll({ scrollingType, scrollingDirection, scrollWindowStartIndex, scrollWindowEndIndex, scrollWindowSize, questContent, carouselSize }) {
let uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_CAROUSEL_SCROLL = AnalyticEvents.QUEST_HOME_CAROUSEL_SCROLL;
const r26 = {
scrolling_type: scrollingType,
client_ad_session_id: uuid2,
billing_session_id: null,
scrolling_direction: null,
scroll_window_start_index: null,
scroll_window_end_index: null,
scroll_window_size: null,
content_name: null,
content_id: null,
carousel_size: null
};
if (!isBillableQuestContent(questContent)) {
let r34 = getActiveSessionUnsafe()?.uuid;
if (r34 == null) {
r34 = null;
}
uuid2 = r34;
}
r26.billing_session_id = uuid2;
r26.scrolling_direction = scrollingDirection;
r26.scroll_window_start_index = scrollWindowStartIndex;
r26.scroll_window_end_index = scrollWindowEndIndex;
r26.scroll_window_size = scrollWindowSize;
r26.content_name = getQuestContentName(questContent);
r26.content_id = questContent;
r26.carousel_size = carouselSize;
AnalyticsUtils.track(QUEST_HOME_CAROUSEL_SCROLL, r26);
}
export function trackQuestHomeSearchEntered({ searchSessionId }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_ENTERED = AnalyticEvents.QUEST_HOME_SEARCH_ENTERED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_ENTERED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId
});
}
export function trackQuestHomeSearchClosed({ searchSessionId, searchSessionDurationMs }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_CLOSED = AnalyticEvents.QUEST_HOME_SEARCH_CLOSED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_CLOSED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId,
search_session_duration_ms: searchSessionDurationMs
});
}
export function trackQuestHomeSearchQuerySubmitted({ searchSessionId, searchQuery, searchQueryLength, resultsCount, hasResults }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_QUERY_SUBMITTED = AnalyticEvents.QUEST_HOME_SEARCH_QUERY_SUBMITTED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_QUERY_SUBMITTED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId,
search_query: searchQuery,
search_query_length: searchQueryLength,
results_count: resultsCount,
has_results: hasResults
});
}
export function trackQuestBarOrDockModeChange({ questContent, sourceQuestContent, questId, mode, prevMode }) {
const contentProperties = getContentProperties(questContent);
trackQuestEvent({
questId,
event: AnalyticEvents.QUEST_BAR_MODE_CHANGED,
properties: {
content_id: contentProperties.content_id,
content_name: contentProperties.content_name,
mode,
previous_mode: prevMode
},
sourceQuestContent
});
}
export function trackQuestEmbedFallbackViewed(a0, a1) {
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.QUEST_EMBED_FALLBACK_VIEWED, {
quest_id: a0,
reason: a1
});
}