Машинопись и Tealium

Поэтому я пытаюсь реорганизовать некоторый код для проекта, в который меня только что привезли. Сейчас определение событий Tealium в файле actions/index.ts

export const recordActivityTag = (activityTag: ActivityTag) => {
    return {
        type: "RECORD_ACTIVITY_TAG",
        activityTag,
    }
}

и это можно назвать

    yield put(actions.recordActivityTag({ key: "error_connect_health_plan" }))

Это не то, как Tealium анализирует данные. Мне нужно провести рефакторинг доходности положить... фрагмент, чтобы выглядеть

`Tealium.trackEvent("button_click", {"button_name": "tips", "customer_is_logged_in": "1"});`  

Мой вопрос заключается в том, как мне изменить рефакторинг определения "export const...", чтобы читать события так, как того хочет Tealium. Я также нашел это в core.ts

export interface ActivityTag {
    readonly key: string
    readonly detail?: string
}

Я не уверен, как реорганизовать код, чтобы заставить его работать правильно.

Я также нашел это

export const setTealiumParams = (
    tealiumParams: TealiumParams,
    ): TealiumParams => {
        return tealiumParams
    }

в файле redux/core.ts

Тиалиевый редуктор это:

import { Action } from "../actions"
import { INITIAL_STATE, TealiumParams, setTealiumParams } from "../core"

function tealiumParams(
    state: TealiumParams = INITIAL_STATE.tealiumParams,
    action: Action,
): TealiumParams {
    switch (action.type) {
        case "RECEIVE_TEALIUM_PARAMS":
            return setTealiumParams(action.tealiumParams)
        default:
            return state
    }
}

export default tealiumParams

Инициализация Tealium:

export default class Tealium {
    static initialize(
        account: string,
        profile: string,
        environment: string,
        iosDatasource: string,
        androidDatasource: string,
        overrideCollectDispatchUrl: string,
        janusID: string,
        invitationCode: string,
        instanceName: string = "MAIN",
        isLifecycleEnabled: boolean = true,
    ): any {
        if (Platform.OS !== "ios") {
            return
        }

        TealiumModule.initialize(
            account,
            profile,
            environment,
            iosDatasource,
            androidDatasource,
            overrideCollectDispatchUrl,
            janusID,
            invitationCode,
            instanceName,
            isLifecycleEnabled,
        )
    }

0 ответов

Другие вопросы по тегам