@thinkingai/ae-cli 1.0.28 → 6.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -16
- package/README.zh.md +1 -16
- package/dist/{auth-H2376DEF.js → auth-DYC2BGLM.js} +2 -2
- package/dist/{auth-5NSDQFQB.js → auth-GHBMJ5ZR.js} +31 -12
- package/dist/{chunk-CLJF7MQA.js → chunk-2DUEAXV3.js} +1 -1
- package/dist/chunk-5OC7CYCG.js +98 -0
- package/dist/{chunk-SRJIAOBN.js → chunk-6W4QOZAL.js} +10 -0
- package/dist/{chunk-LU7SXK4Q.js → chunk-BJX3GXWC.js} +2 -2
- package/dist/{chunk-WCHI7725.js → chunk-DMMEPCST.js} +47 -6
- package/dist/{chunk-IMBKVXKY.js → chunk-EGEIXA2Z.js} +82 -10
- package/dist/{chunk-AD5V3ZPJ.js → chunk-I5CRVM2S.js} +98 -10
- package/dist/chunk-NOO24N7W.js +11 -0
- package/dist/{chunk-GSJGPNKK.js → chunk-PN3OS34E.js} +1 -1
- package/dist/{chunk-CAQYQA4R.js → chunk-RSHMZ3LG.js} +15 -1
- package/dist/{client-FCMK3XEK.js → client-2UJ63MVQ.js} +3 -3
- package/dist/{config-64G36TJL.js → config-NCUGK6NS.js} +3 -3
- package/dist/index.js +2549 -29
- package/dist/{model-EZ6K7FXI.js → model-SJSOZTRS.js} +5 -7
- package/dist/{raw-VEF3D6UD.js → raw-7NVWSVJP.js} +4 -4
- package/dist/{sync-NRODEVNH.js → sync-GRVO4K3U.js} +120 -23
- package/dist/{te-agent-7U7JLJKU.js → te-agent-KZRIEN4N.js} +468 -47
- package/dist/{te-analysis-A2OSGHQ4.js → te-analysis-VAR4KUOK.js} +145 -28
- package/dist/{te-audience-LI67PPGO.js → te-audience-KMKYI2YJ.js} +23 -14
- package/dist/{te-common-35WVU3C5.js → te-common-WNCZB7R7.js} +5 -4
- package/dist/{te-community-LEAP6PWT.js → te-community-JEEFXPB3.js} +11 -10
- package/dist/{te-dataops-N2LGZBOX.js → te-dataops-GD3XBYCS.js} +33 -32
- package/dist/{te-engage-H7C72Z46.js → te-engage-4XHCTS6I.js} +5 -4
- package/dist/{te-kb-I2OKTBAI.js → te-kb-B62KFP2A.js} +97 -7
- package/dist/{te-meta-HBTIEDRO.js → te-meta-EPZGQN56.js} +10 -9
- package/dist/{te-team-EM5OWRQL.js → te-team-YY24VORI.js} +16 -12
- package/dist/tracking/i18n/resources/cli/en.json +153 -0
- package/dist/tracking/i18n/resources/cli/ja.json +153 -0
- package/dist/tracking/i18n/resources/cli/ko.json +153 -0
- package/dist/tracking/i18n/resources/cli/zh.json +153 -0
- package/package.json +9 -3
- package/skills/ae-agent/SKILL.md +66 -26
- package/skills/ae-analysis/SKILL.md +108 -8
- package/skills/ae-analysis/references/cancel_query.md +39 -0
- package/skills/ae-analysis/references/drilldown_user_events.md +4 -2
- package/skills/ae-analysis/references/drilldown_users.md +4 -2
- package/skills/ae-analysis/references/get_bi_panel_detail.md +35 -0
- package/skills/ae-analysis/references/list_alerts.md +1 -1
- package/skills/ae-analysis/references/list_bi_panels.md +35 -0
- package/skills/ae-analysis/references/list_cluster_members.md +4 -1
- package/skills/ae-analysis/references/list_dashboards.md +1 -1
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/list_events.md +1 -1
- package/skills/ae-analysis/references/list_metrics.md +1 -1
- package/skills/ae-analysis/references/list_project_mark_times.md +1 -1
- package/skills/ae-analysis/references/list_properties.md +1 -1
- package/skills/ae-analysis/references/list_public_access_links.md +1 -1
- package/skills/ae-analysis/references/list_reports.md +1 -1
- package/skills/ae-analysis/references/list_tag_members.md +4 -1
- package/skills/ae-analysis/references/query_adhoc.md +6 -5
- package/skills/ae-analysis/references/query_bi_panel_data.md +58 -0
- package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -1
- package/skills/ae-analysis/references/query_entity_details.md +5 -2
- package/skills/ae-analysis/references/query_event_details.md +4 -1
- package/skills/ae-analysis/references/query_report_data.md +2 -2
- package/skills/ae-analysis-global/SKILL.md +3 -1
- package/skills/ae-analysis-intent/SKILL.md +132 -0
- package/skills/ae-data-integration-helper/SKILL.md +242 -0
- package/skills/ae-data-integration-helper/references/android_sdk_faq.md +179 -0
- package/skills/ae-data-integration-helper/references/c_sdk_compilation.md +83 -0
- package/skills/ae-data-integration-helper/references/c_sdk_faq.md +416 -0
- package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +123 -0
- package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +365 -0
- package/skills/ae-data-integration-helper/references/index.md +56 -0
- package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +118 -0
- package/skills/ae-data-integration-helper/references/java_sdk_faq.md +406 -0
- package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +129 -0
- package/skills/ae-data-integration-helper/references/logbus2_guide.md +309 -0
- package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +348 -0
- package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +115 -0
- package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +118 -0
- package/skills/ae-data-integration-helper/references/python_sdk_faq.md +232 -0
- package/skills/ae-data-integration-helper/references/restful_api_notes.md +74 -0
- package/skills/ae-data-integration-helper/references/sdk_log_guide.md +316 -0
- package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +107 -0
- package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +115 -0
- package/skills/ae-generate-tracking-code/SKILL.md +629 -0
- package/skills/ae-generate-tracking-code/references/autotrack-enum.md +183 -0
- package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +202 -0
- package/skills/ae-generate-tracking-code/references/datax-config.md +43 -0
- package/skills/ae-generate-tracking-code/references/debug-script.md +102 -0
- package/skills/ae-generate-tracking-code/references/logbus-config.md +200 -0
- package/skills/ae-generate-tracking-code/references/modes.md +83 -0
- package/skills/ae-generate-tracking-code/references/restful-call.md +36 -0
- package/skills/ae-generate-tracking-code/references/sdk-index.md +128 -0
- package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +206 -0
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +394 -0
- package/skills/ae-generate-tracking-code/references/te-api.md +181 -0
- package/skills/ae-generate-tracking-plan/SKILL.md +1083 -0
- package/skills/ae-generate-tracking-plan/references/autotrack-events.md +273 -0
- package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +425 -0
- package/skills/ae-generate-tracking-plan/references/te-api.md +100 -0
- package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +152 -0
- package/skills/ae-kb/SKILL.md +38 -5
- package/tracking-plan-template/MMO/346/211/213/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +104 -0
- package/tracking-plan-template/MMO/346/211/213/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template/MMO/351/241/265/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +117 -0
- package/tracking-plan-template/MMO/351/241/265/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
- package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +72 -0
- package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template/SLG/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +86 -0
- package/tracking-plan-template/SLG/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +80 -0
- package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template/TE /345/237/213/347/202/271/347/244/272/344/276/213/346/250/241/346/235/277.md" +40 -0
- package/tracking-plan-template/TE /345/237/213/347/202/271/347/244/272/344/276/213/346/250/241/346/235/277.xlsx +0 -0
- package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.md +40 -0
- package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.xlsx +0 -0
- package/tracking-plan-template//344/274/221/351/227/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +92 -0
- package/tracking-plan-template//344/274/221/351/227/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
- package/tracking-plan-template//345/215/241/347/211/214/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +119 -0
- package/tracking-plan-template//345/215/241/347/211/214/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//345/241/224/351/230/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_V1.md +130 -0
- package/tracking-plan-template//345/241/224/351/230/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_V1.xlsx +0 -0
- package/tracking-plan-template//345/276/256/344/277/241/345/260/217/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +52 -0
- package/tracking-plan-template//345/276/256/344/277/241/345/260/217/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//346/215/225/351/261/274/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +68 -0
- package/tracking-plan-template//346/215/225/351/261/274/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/215/241/347/211/214/346/270/270/346/210/217_/345/237/213/347/202/271/346/250/241/347/211/210v1.md +108 -0
- package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/215/241/347/211/214/346/270/270/346/210/217_/345/237/213/347/202/271/346/250/241/347/211/210v1.xlsx +0 -0
- package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +119 -0
- package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/346/226/227/345/234/260/344/270/273/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +63 -0
- package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/346/226/227/345/234/260/344/270/273/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/351/272/273/345/260/206/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +101 -0
- package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/351/272/273/345/260/206/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
- package/tracking-plan-template//347/224/265/345/225/206/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.md +84 -0
- package/tracking-plan-template//347/224/265/345/225/206/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//347/237/255/345/211/247/344/272/247/345/223/201/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.md +79 -0
- package/tracking-plan-template//347/237/255/345/211/247/344/272/247/345/223/201/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//347/244/276/344/272/244/350/201/212/345/244/251/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +105 -0
- package/tracking-plan-template//347/244/276/344/272/244/350/201/212/345/244/251/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/tracking-plan-template//351/230/205/350/257/273/347/261/273APP/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +83 -0
- package/tracking-plan-template//351/230/205/350/257/273/347/261/273APP/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
- package/wiki/te-docs/index.md +225 -0
- package/wiki/te-docs/raw/advanced-data-type/first-event-check.md +66 -0
- package/wiki/te-docs/raw/advanced-data-type/updated-event.md +87 -0
- package/wiki/te-docs/raw/advanced-data-type.md +16 -0
- package/wiki/te-docs/raw/data-ingestion-guide/about-gdpr.md +55 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/automatic-event-tracking.md +431 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/debugging-and-logging.md +49 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/multi-instance.md +66 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/preset-properties.md +466 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/third-party-integration.md +127 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced.md +513 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/compliance.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/release-notes.md +177 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android.md +228 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/c-advanced.md +419 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/release-notes.md +45 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c.md +110 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/client-side-sdk-faq.md +52 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/cpp-advanced.md +366 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/release-notes.md +103 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp.md +201 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/compliance.md +26 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/automatically-track-events.md +117 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/debugging-and-logging.md +47 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/preset-properties.md +52 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced.md +267 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/release-notes.md +82 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter.md +139 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/compliance.md +26 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/automatically-track-events.md +121 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/debugging-and-logging.md +54 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/preset-properties.md +18 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced.md +305 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/release-notes.md +79 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native.md +137 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/release-notes.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/automatically-track-events.md +54 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/debugging-and-logging.md +53 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/multi-instance.md +42 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/preset-properties.md +119 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/support-native.md +81 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced.md +331 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app.md +156 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform.md +12 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/automatic-event-tracking.md +29 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/debugging-and-logging.md +47 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/multi-instance.md +21 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/preset-properties.md +249 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced.md +301 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/compliance.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/release-notes.md +51 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x.md +281 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/automatic-event-tracking.md +70 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/debugging-and-logging.md +57 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/native-support.md +104 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/preset-properties.md +91 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance.md +374 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/compliance.md +35 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/release-notes.md +109 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator.md +170 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/compliance.md +28 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/automatic-event-tracking.md +29 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/debugging-and-logging.md +58 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/preset-properties.md +43 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced.md +204 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/release-notes.md +29 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona.md +269 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/compliance.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/release-notes.md +177 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/automatic-event-tracking.md +119 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/debugging-and-logging.md +47 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/multi-instance.md +50 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/native-pluggable.md +43 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/preset-properties.md +212 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/third-party-integration.md +77 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced.md +396 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity.md +176 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/compliance.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/release-notes.md +81 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/automatic-event-tracking.md +79 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/debugging-and-logging.md +31 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/preset-properties.md +25 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/third-party-integrations.md +141 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced.md +278 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal.md +190 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine.md +14 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/h5-and-app-sdk-connection.md +147 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/instant-app-and-game.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/compliance.md +24 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/automatic-event-tracking.md +272 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/debugging-and-logging.md +77 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/multi-instance.md +142 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/preset-properties.md +484 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/third-party-integrations.md +132 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced.md +682 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/release-notes.md +163 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios.md +304 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/compliance.md +29 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/automatic-event-tracking.md +136 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/debugging-and-logging.md +48 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/multi-instance.md +50 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/preset-properties.md +132 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced.md +462 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/release-notes.md +107 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript.md +208 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/debugging-and-logging.md +62 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/preset-properties.md +118 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced.md +556 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos.md +231 -0
- package/wiki/te-docs/raw/data-ingestion-guide/client-sdk.md +25 -0
- package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/filebeat-logstash-user-guide.md +610 -0
- package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/logbus2-user-guide.md +1215 -0
- package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/ta-datax-writer-plugin-user-guide.md +278 -0
- package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools.md +15 -0
- package/wiki/te-docs/raw/data-ingestion-guide/privacy-policy.md +38 -0
- package/wiki/te-docs/raw/data-ingestion-guide/restful-api-user-guide.md +155 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-FM9Cwz.md +37 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-RSyfw7.md +41 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging.md +89 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-OxzWw.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-VuE3wr.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-IauKwI.md +175 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-YAilwk.md +210 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced.md +211 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-PVazwa.md +62 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-TADbwY.md +50 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes.md +69 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-V2W3wv.md +131 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-Zf9Jwl.md +179 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c.md +189 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/debugging-and-logging.md +38 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced.md +113 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/release-notes.md +34 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang.md +155 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/debugging-and-logging.md +42 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced.md +157 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/release-notes.md +72 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang.md +148 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/debugging-and-logging.md +49 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced.md +223 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/release-notes.md +88 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java.md +174 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/debugging-and-logging.md +46 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced.md +182 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/release-notes.md +61 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua.md +121 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/debugging-and-logging.md +55 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced.md +225 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/release-notes.md +45 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs.md +141 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/debugging-and-logging.md +41 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced.md +216 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/release-notes.md +45 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php.md +173 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/debugging-and-logging.md +40 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced.md +206 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/release-notes.md +51 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python.md +116 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/release-notes.md +44 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/debugging-and-logging.md +47 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/preset-properties.md +126 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced.md +189 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby.md +142 -0
- package/wiki/te-docs/raw/data-ingestion-guide/server-sdk.md +22 -0
- package/wiki/te-docs/raw/data-ingestion-guide/thinkingdata-privacy-policy.md +37 -0
- package/wiki/te-docs/raw/data-ingestion-guide.md +48 -0
- package/wiki/te-docs/raw/preparations-before-data-ingestion/data-rules.md +396 -0
- package/wiki/te-docs/raw/preparations-before-data-ingestion/preset-properties-and-system-fields.md +957 -0
- package/wiki/te-docs/raw/preparations-before-data-ingestion/user-identification-rules.md +723 -0
- package/wiki/te-docs/raw/preparations-before-data-ingestion.md +203 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//345/220/210/350/247/204/346/214/207/345/215/227.md +96 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//346/233/264/346/226/260/346/227/245/345/277/227.md +97 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +52 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +48 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +447 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227.md +370 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony.md +172 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//345/220/210/350/247/204/346/214/207/345/215/227.md +37 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//346/233/264/346/226/260/346/227/245/345/277/227.md +209 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +71 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +49 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +125 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +498 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227.md +612 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217.md +373 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//345/220/210/350/247/204/346/214/207/345/215/227.md +26 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//346/233/264/346/226/260/346/227/245/345/277/227.md +32 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +48 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +30 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +61 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227.md +236 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua.md +200 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//346/233/264/346/226/260/346/227/245/345/277/227.md +83 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +66 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +62 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +358 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227.md +615 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret.md +166 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//346/233/264/346/226/260/346/227/245/345/277/227.md +87 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +71 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +61 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +406 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227.md +597 -0
- package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair.md +179 -0
- package/wiki/te-docs/schema.md +16 -0
- package/wiki/te-docs/synthesis/batch-ingest-comparison.md +324 -0
- package/wiki/te-docs/synthesis/js-sdk-cheatsheet.md +538 -0
- package/wiki/te-docs/synthesis/restful-api-reference.md +363 -0
- package/wiki/te-docs/synthesis/sdk-selection.md +372 -0
- package/wiki/te-docs/synthesis/server-sdk-overview.md +449 -0
- package/dist/chunk-KAEZTSXN.js +0 -99
- package/dist/chunk-OJDNO5QY.js +0 -63
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
# Snippet Output Mode
|
|
2
|
+
|
|
3
|
+
> **Terminology**: 片段/代码片段 = snippet/code snippet | 产物 = deliverable/output | markdown 响应 = markdown response | 初始化 = initialization | 公共属性 = super property | 用户属性 = user property | 事件组 = event group | 触发时机 = trigger timing | 验证步骤 = verification steps | 设备绑定 = device binding | 自动采集事件 = auto-track event | 占位值 = placeholder value | 属性类型 = property type
|
|
4
|
+
|
|
5
|
+
## Deliverables
|
|
6
|
+
|
|
7
|
+
Two outputs:
|
|
8
|
+
1. **Markdown response**: code snippets grouped by platform (for reading)
|
|
9
|
+
2. **Code files**: `.ae-cli/output/<platform>-sdk.<ext>` (for copy-paste use)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Markdown Response Structure
|
|
14
|
+
|
|
15
|
+
### 0. Pre-checklist
|
|
16
|
+
|
|
17
|
+
Show configuration info:
|
|
18
|
+
```
|
|
19
|
+
Configuration:
|
|
20
|
+
- SDK type: <platform> (e.g. android / java / javascript)
|
|
21
|
+
- SERVER_URL: <user-provided ingestion URL>
|
|
22
|
+
- appId: <user-provided APP_ID>
|
|
23
|
+
- User identity: account_id=<field>, distinct_id=<strategy>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 1. SDK Initialization Snippet
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
## <Platform> SDK Initialization
|
|
30
|
+
|
|
31
|
+
```<lang>
|
|
32
|
+
// Copy to your entry file
|
|
33
|
+
<init code with SERVER_URL / appId>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 1.1 Auto-track Event Enablement (if needed)
|
|
37
|
+
|
|
38
|
+
**Important**: Auto-track events (e.g. page view, button click) are disabled by default after SDK init.
|
|
39
|
+
You must call the corresponding API to **enable** them after or during initialization.
|
|
40
|
+
|
|
41
|
+
⚠️ **Must read `references/autotrack-enum.md` first** to look up the correct enum values and names for the target SDK.
|
|
42
|
+
**Do not write auto-track code without checking the enum table** — wrong enum names will cause runtime errors.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
## Auto-track Event Switches
|
|
46
|
+
|
|
47
|
+
```<lang>
|
|
48
|
+
// Add auto-track switches based on selected SDK type
|
|
49
|
+
<autoTrackEnable code>
|
|
50
|
+
```
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2. Super Properties Snippet
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
## Super Properties
|
|
57
|
+
|
|
58
|
+
```<lang>
|
|
59
|
+
// Call after SDK init
|
|
60
|
+
<setSuperProperties code>
|
|
61
|
+
```
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 3. User Properties Snippet
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
## User Properties
|
|
68
|
+
|
|
69
|
+
```<lang>
|
|
70
|
+
// Call after user login
|
|
71
|
+
<user_set / user_setOnce code>
|
|
72
|
+
```
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 4. By Event Group
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
## Event Group: <tag>
|
|
79
|
+
|
|
80
|
+
### <event_name>
|
|
81
|
+
Trigger: <event_desc>
|
|
82
|
+
|
|
83
|
+
```<lang>
|
|
84
|
+
// Place at <trigger location>
|
|
85
|
+
ta.track('<event_name>', {
|
|
86
|
+
<prop_name>: <sample value>,
|
|
87
|
+
...
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Show each event individually, each as its own block for easy copying.
|
|
93
|
+
|
|
94
|
+
### 5. Verification Steps (snippet mode only)
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
## Verification Steps
|
|
98
|
+
|
|
99
|
+
1. **Integrate SDK** (follow steps based on integration method)
|
|
100
|
+
- **npm / package manager**: Run `npm install` or equivalent to install SDK
|
|
101
|
+
- **Build tool integration**: Add SDK dependency via Package Manager or Epic Games Launcher
|
|
102
|
+
- **Dependency management**: Add SDK dependency in `build.gradle` / `Podfile`
|
|
103
|
+
- **Manual download**: Download SDK files and place in project directory
|
|
104
|
+
|
|
105
|
+
Reference the official docs in `references/sdk-index.md` for each SDK
|
|
106
|
+
|
|
107
|
+
2. **Debug mode device binding** (AE Debug requires device ID to be added first)
|
|
108
|
+
- Get device ID: DeviceId printed in console after SDK init, or call SDK's getDeviceId method
|
|
109
|
+
- Add device: AE Admin → Tracking Management → Debug Mode → Add Device → paste device ID
|
|
110
|
+
|
|
111
|
+
3. **Trigger events by interacting with the app** and view data in AE Debug page
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Code File Generation
|
|
117
|
+
|
|
118
|
+
### File Path Rules
|
|
119
|
+
|
|
120
|
+
| Platform | File Path |
|
|
121
|
+
|---|---|
|
|
122
|
+
| Client android (java) | `.ae-cli/output/android-sdk-java.java` |
|
|
123
|
+
| Client android (kotlin) | `.ae-cli/output/android-sdk-kotlin.kt` |
|
|
124
|
+
| Client ios (objc) | `.ae-cli/output/ios-sdk-objectivec.m` |
|
|
125
|
+
| Client ios (swift) | `.ae-cli/output/ios-sdk-swift.swift` |
|
|
126
|
+
| Client openharmony | `.ae-cli/output/openharmony-sdk.ets` |
|
|
127
|
+
| Client javascript | `.ae-cli/output/javascript-sdk.js` |
|
|
128
|
+
| Client miniprogram | `.ae-cli/output/miniprogram-sdk.js` |
|
|
129
|
+
| Client unity | `.ae-cli/output/unity-sdk.cs` |
|
|
130
|
+
| Server java | `.ae-cli/output/java-sdk.java` |
|
|
131
|
+
| Server python | `.ae-cli/output/python-sdk.py` |
|
|
132
|
+
| Server go | `.ae-cli/output/go-sdk.go` |
|
|
133
|
+
| Server nodejs | `.ae-cli/output/nodejs-sdk.ts` |
|
|
134
|
+
| Server php | `.ae-cli/output/php-sdk.php` |
|
|
135
|
+
|
|
136
|
+
**Multi-language platform output rules**:
|
|
137
|
+
- Android SDK: if Java + Kotlin selected, generate two files (android-sdk-java.java and android-sdk-kotlin.kt)
|
|
138
|
+
- iOS SDK: if Objective-C + Swift selected, generate two files (ios-sdk-objectivec.m and ios-sdk-swift.swift)
|
|
139
|
+
|
|
140
|
+
### File Content Structure
|
|
141
|
+
|
|
142
|
+
```<ext>
|
|
143
|
+
/**
|
|
144
|
+
* AE Tracking Code Snippet - <Platform>
|
|
145
|
+
*
|
|
146
|
+
* Usage:
|
|
147
|
+
* 1. Copy SDK initialization code to entry file
|
|
148
|
+
* 2. Copy super properties code after init
|
|
149
|
+
* 3. Copy event code to corresponding trigger locations
|
|
150
|
+
*
|
|
151
|
+
* Configuration:
|
|
152
|
+
* - SERVER_URL: <data ingestion URL>
|
|
153
|
+
* - APPID: <APP_ID>
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
// ==================== SDK Initialization ====================
|
|
157
|
+
<init code>
|
|
158
|
+
|
|
159
|
+
// ==================== Super Properties ====================
|
|
160
|
+
<setSuperProperties code>
|
|
161
|
+
|
|
162
|
+
// ==================== User Properties ====================
|
|
163
|
+
<user_set code>
|
|
164
|
+
|
|
165
|
+
// ==================== Event Group: <tag> ====================
|
|
166
|
+
// <event_name> - <event_desc>
|
|
167
|
+
<track code>
|
|
168
|
+
|
|
169
|
+
// ... other events
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### README File
|
|
173
|
+
|
|
174
|
+
Generate `.ae-cli/output/README.md`:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
# AE Tracking Code Snippets
|
|
178
|
+
|
|
179
|
+
## File List
|
|
180
|
+
|
|
181
|
+
| File | Description |
|
|
182
|
+
|---|---|
|
|
183
|
+
| <platform>-sdk.<ext> | SDK initialization + event call code |
|
|
184
|
+
| daemon.json | LogBus2 configuration (server-side only) |
|
|
185
|
+
|
|
186
|
+
## Usage Steps
|
|
187
|
+
|
|
188
|
+
### Client
|
|
189
|
+
|
|
190
|
+
1. Copy SDK initialization code to entry file
|
|
191
|
+
2. Configure SERVER_URL and appId
|
|
192
|
+
3. Copy event code to corresponding trigger locations
|
|
193
|
+
|
|
194
|
+
### Server
|
|
195
|
+
|
|
196
|
+
1. Copy LoggerConsumer code to project
|
|
197
|
+
2. Configure log file path
|
|
198
|
+
3. **Download LogBus2**: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US (download link in "二、Download LogBus2" section)
|
|
199
|
+
4. Copy daemon.json to LogBus2 conf/ directory
|
|
200
|
+
5. Start LogBus2: `./logbus start`
|
|
201
|
+
|
|
202
|
+
## LogBus2 Official Documentation
|
|
203
|
+
|
|
204
|
+
| Document | Link |
|
|
205
|
+
|---|---|
|
|
206
|
+
| User Guide | https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US |
|
|
207
|
+
|
|
208
|
+
Note: LogBus v1 is deprecated. Please use LogBus2.
|
|
209
|
+
|
|
210
|
+
## Verification
|
|
211
|
+
|
|
212
|
+
Run `te-debug.<ext>` and open AE Debug page to verify data upload.
|
|
213
|
+
|
|
214
|
+
### Debug Mode Device Binding (snippet mode only)
|
|
215
|
+
|
|
216
|
+
AE Debug mode requires the device ID to be added in AE Admin before data can be viewed:
|
|
217
|
+
|
|
218
|
+
1. **Get device ID** (choose one):
|
|
219
|
+
- Client logs: DeviceId printed after SDK initialization
|
|
220
|
+
- Code: `ta.getDeviceId()` to get current device ID
|
|
221
|
+
|
|
222
|
+
2. **Add device in AE Admin**:
|
|
223
|
+
- Path: AE Admin → Tracking Management → Debug Mode → Add Device
|
|
224
|
+
- Paste device ID and confirm
|
|
225
|
+
|
|
226
|
+
3. **Verify data**:
|
|
227
|
+
- Trigger events by interacting with the app
|
|
228
|
+
- View data uploads on AE Debug page
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Generation Workflow
|
|
234
|
+
|
|
235
|
+
### ⚠️ Mandatory Pre-checks (do not skip)
|
|
236
|
+
|
|
237
|
+
**Before generating code, execute in the following order. Each step must be completed before proceeding to the next:**
|
|
238
|
+
|
|
239
|
+
#### Step 0: Read SDK Main Document
|
|
240
|
+
|
|
241
|
+
1. **Read `references/sdk-index.md`** to find the SDK's main document path
|
|
242
|
+
2. **Read the SDK main document**, must include these sections:
|
|
243
|
+
- **Integrate SDK** section (npm package name / CDN URL / integration methods)
|
|
244
|
+
- **Initialization** section (init API signature and example code)
|
|
245
|
+
- **Track** section (event upload API and examples)
|
|
246
|
+
- **User Properties** section (user_set / user_setOnce / user_add API)
|
|
247
|
+
|
|
248
|
+
3. **⚠️ Do not skip Step 0** — even if you've generated code for the same platform before, must re-read latest docs every time
|
|
249
|
+
|
|
250
|
+
#### Step 1: Read Config from Plan
|
|
251
|
+
|
|
252
|
+
1. Read `meta.user_identity` from plan (user identity config)
|
|
253
|
+
2. **Read event list from plan, filter by platform**:
|
|
254
|
+
- Client snippet: only read events where `platform === "client"` or `platform === "both"`
|
|
255
|
+
- xlsx "Platform" column: `客户端` or `client` → `platform: "client"`
|
|
256
|
+
- xlsx "Platform" column: `客户端,服务端` or `client,server` → `platform: "both"`
|
|
257
|
+
- Server snippet: only read events where `platform === "server"` or `platform === "both"`
|
|
258
|
+
- xlsx "Platform" column: `服务端` or `server` → `platform: "server"`
|
|
259
|
+
- xlsx "Platform" column: `客户端,服务端` or `client,server` → `platform: "both"`
|
|
260
|
+
- If event has no platform field (legacy xlsx without this column): read all events (backward compatible)
|
|
261
|
+
3. Read user property list from plan (user properties have no platform field; generate for both sides)
|
|
262
|
+
|
|
263
|
+
#### Step 2: Copy Wiki Code Examples
|
|
264
|
+
|
|
265
|
+
**Must directly copy code examples from the wiki main document read in Step 0**, do not manually write:
|
|
266
|
+
|
|
267
|
+
- **Initialization code**: directly copy the complete code block from wiki doc (including import statements, package names, init parameters)
|
|
268
|
+
- **⚠️ Strict language matching**:
|
|
269
|
+
- User chose **Java** → only copy code from `::: el-tab-pane label=Java` or ` ```java` blocks
|
|
270
|
+
- User chose **Kotlin** → only copy code from `::: el-tab-pane label=Kotlin` or ` ```kotlin` blocks
|
|
271
|
+
- User chose **Objective-C** → only copy code from `::: el-tab-pane label=Objective-C` or ` ```objc` blocks
|
|
272
|
+
- User chose **Swift** → only copy code from `::: el-tab-pane label=Swift` or ` ```swift` blocks
|
|
273
|
+
- **Prohibited**: copying from Java block into Kotlin file, or vice versa
|
|
274
|
+
- **Prohibited**: copying from Objective-C block into Swift file, or vice versa
|
|
275
|
+
- If wiki doc uses el-tabs format, first confirm the current language tab, then switch to correct tab to copy
|
|
276
|
+
- **Auto-track code**: ⚠️ **Must read `references/autotrack-enum.md` first** to look up the correct enum names and values for the target SDK, then copy the `EnableAutoTrack` call example from wiki. **Do not guess enum names or omit enum values**
|
|
277
|
+
- **Event track code**: property names and event names from plan, structure directly reused from wiki examples
|
|
278
|
+
- **User property code**: directly copy API call style from wiki doc
|
|
279
|
+
- **Super property code**: directly copy setSuperProperties call style from wiki doc
|
|
280
|
+
|
|
281
|
+
#### Step 3: Generate Code Snippets
|
|
282
|
+
|
|
283
|
+
Generate code snippets (markdown + files)
|
|
284
|
+
|
|
285
|
+
#### Step 3.5: ⚠️ Language Style Check (do not skip)
|
|
286
|
+
|
|
287
|
+
After generation, perform language style checks on each output file:
|
|
288
|
+
|
|
289
|
+
| Language | Check Rules |
|
|
290
|
+
|---|---|
|
|
291
|
+
| **Kotlin** | File must not contain `;` (trailing semicolons); fix immediately and inform user if found |
|
|
292
|
+
| **Java** | Every statement must end with `;`; fix immediately if missing |
|
|
293
|
+
| **Swift** | Do not use `var` for optional types — use `let` + `?`; do not use `@objc` unless necessary |
|
|
294
|
+
| **Objective-C** | Method calls must use `[self method]` syntax — no `.` calls; must use `nil`, not `null` |
|
|
295
|
+
|
|
296
|
+
**If language style errors are found**:
|
|
297
|
+
1. Immediately replace with correct syntax
|
|
298
|
+
2. Note in the response: `⚠️ Auto-corrected: <error description> → <correct syntax>`
|
|
299
|
+
|
|
300
|
+
#### Step 4: Server-side Additional Processing
|
|
301
|
+
|
|
302
|
+
1. Additionally generate `daemon.json` for server-side
|
|
303
|
+
2. **Must always provide LogBus2 official documentation link**
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Code Style
|
|
308
|
+
|
|
309
|
+
- Event names / property names strictly from plan, do not modify
|
|
310
|
+
- Add comment above each code block describing trigger timing
|
|
311
|
+
- Do NOT add try/catch
|
|
312
|
+
- User identity calls: `login()` / `identify()` generated based on `meta.user_identity`
|
|
313
|
+
|
|
314
|
+
### Property Placeholder Value Rules (based on plan `type` field)
|
|
315
|
+
|
|
316
|
+
When generating property value placeholders, **must select the correct type placeholder based on the property's `type` field in the plan**. Do not use string placeholders uniformly for all types:
|
|
317
|
+
|
|
318
|
+
| plan `type` | Placeholder | Notes |
|
|
319
|
+
|---|---|---|
|
|
320
|
+
| `string` | `"\"<actual value>\""` | String placeholder |
|
|
321
|
+
| `number` | `0` | Numeric placeholder (**`userAdd` must use numeric**; string causes runtime error) |
|
|
322
|
+
| `bool` | `true` / `false` | Boolean placeholder (**do NOT use string `"\"<actual value>\""`**, type mismatch) |
|
|
323
|
+
| `datetime` | `new Date()` / platform-specific syntax | Datetime placeholder |
|
|
324
|
+
| `array_string` | `["example"]` | Array placeholder |
|
|
325
|
+
| `array_row` | `[{"key":"example"}]` | Object array placeholder |
|
|
326
|
+
|
|
327
|
+
**Platform-specific datetime placeholder syntax**:
|
|
328
|
+
|
|
329
|
+
| Platform | Syntax |
|
|
330
|
+
|---|---|
|
|
331
|
+
| Android Java | `new Date()` |
|
|
332
|
+
| Android Kotlin | `Date()` |
|
|
333
|
+
| iOS Objective-C | `[NSDate date]` |
|
|
334
|
+
| iOS Swift | `Date()` |
|
|
335
|
+
| JavaScript | `new Date()` |
|
|
336
|
+
| Java Server | `new Date()` |
|
|
337
|
+
| Python | `datetime.datetime.now()` |
|
|
338
|
+
| Go | `time.Now()` |
|
|
339
|
+
| Node.js | `new Date()` |
|
|
340
|
+
|
|
341
|
+
### ⚠️ Server SDK track() Parameter Order (varies by SDK; do not assume uniform ordering)
|
|
342
|
+
|
|
343
|
+
For server-side SDK `track()` calls, **accountId and distinctId parameter positions differ across SDKs**. Generate code using each SDK's actual parameter order:
|
|
344
|
+
|
|
345
|
+
| SDK | Positional Parameter Order | Recommended Approach |
|
|
346
|
+
|---|---|---|
|
|
347
|
+
| Java | `track(accountId, distinctId, eventName, properties)` | Positional ✅ |
|
|
348
|
+
| Go | `Track(accountId, distinctId, eventName, properties)` | Positional ✅ |
|
|
349
|
+
| **Python** | **`track(distinct_id, account_id, eventName, properties)`** — **distinct_id first** | **Prefer keyword args** ✅ |
|
|
350
|
+
| Node.js | Single object param `{accountId, distinctId, event, ...}` | Object arg ✅ |
|
|
351
|
+
|
|
352
|
+
**Python SDK strongly recommends keyword args** to avoid positional order confusion:
|
|
353
|
+
```python
|
|
354
|
+
te.track(account_id="<Account ID>", distinct_id="<Visitor ID>", event_name="order_create", properties={...})
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Similarly, Python `user_set` / `user_setOnce` / `user_add` should use keyword args:
|
|
358
|
+
```python
|
|
359
|
+
te.user_set(account_id="<Account ID>", distinct_id="<Visitor ID>", properties={...})
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### ⚠️ JavaScript SDK Examples (correct vs incorrect comparison)
|
|
363
|
+
|
|
364
|
+
**Init code directly copied from wiki** (includes correct import and package name):
|
|
365
|
+
|
|
366
|
+
```js
|
|
367
|
+
// ✅ Correct: directly copied from wiki javascript.md
|
|
368
|
+
import ta from "thinkingdata-browser";
|
|
369
|
+
ta.init({
|
|
370
|
+
appId: "YOUR_APP_ID",
|
|
371
|
+
serverUrl: "https://YOUR_SERVER_URL/sync_js",
|
|
372
|
+
autoTrack: {
|
|
373
|
+
pageShow: true,
|
|
374
|
+
pageHide: true,
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**❌ Incorrect examples (absolutely prohibited)**:
|
|
380
|
+
|
|
381
|
+
```js
|
|
382
|
+
// ❌ Wrong: guessed package name and import syntax
|
|
383
|
+
import TDAnalytics from "@thinkingdata/web-sdk"; // package name is wrong
|
|
384
|
+
TDAnalytics.init({...}); // class name is wrong
|
|
385
|
+
|
|
386
|
+
// ❌ Wrong: using generic variable names like te or analytics
|
|
387
|
+
import te from "thinkingdata-browser"; // wiki has never used te
|
|
388
|
+
te.init({...});
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Key points**:
|
|
392
|
+
- npm package name: `thinkingdata-browser` (NOT `@thinkingdata/web-sdk`, NOT `thinkingdata`)
|
|
393
|
+
- import variable name: `ta` (NOT `TDAnalytics`, NOT `te`)
|
|
394
|
+
- init method: `ta.init({...})` (NOT `TDAnalytics.init()`)
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# AE Plan Query API (captured 2026-04-15)
|
|
2
|
+
|
|
3
|
+
## Endpoint
|
|
4
|
+
|
|
5
|
+
- **Method**: GET
|
|
6
|
+
- **URL**: `https://web-ta-demo.thinkingdata.cn/v1/ta/bury/manage/program/query?@t={timestamp}&projectId={projectId}`
|
|
7
|
+
- **Auth**: header `authorization: bearer {token}` — token value read from `localStorage['ACCESS_TOKEN']` (JSON-encoded string) on the AE web app, also cached in `~/.ae-cli/tokens.json`
|
|
8
|
+
- **Additional required headers**:
|
|
9
|
+
- `x-requested-with: XMLHttpRequest`
|
|
10
|
+
- `accept: application/json`
|
|
11
|
+
- **Request body**: none (GET)
|
|
12
|
+
|
|
13
|
+
### URL parameters
|
|
14
|
+
|
|
15
|
+
| Param | Required | Notes |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `@t` | yes (de-facto) | Unix timestamp ms — cache-buster; the server likely accepts any value |
|
|
18
|
+
| `projectId` | yes | AE project ID, e.g. `1603` |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Response shape (truncated to 2 events / 2 props each)
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"return_code": 0,
|
|
27
|
+
"return_message": "ok",
|
|
28
|
+
"showStackMessage": null,
|
|
29
|
+
"data": {
|
|
30
|
+
"projectId": 1603,
|
|
31
|
+
"createTime": "2026-04-15 15:45:17",
|
|
32
|
+
|
|
33
|
+
"events": [
|
|
34
|
+
{
|
|
35
|
+
"eventName": "admin_skill_review",
|
|
36
|
+
"displayName": "管理员审核",
|
|
37
|
+
"eventDesc": "管理员通过/驳回/归档 skill",
|
|
38
|
+
"eventTag": "admin",
|
|
39
|
+
"creator": "周津",
|
|
40
|
+
"createTime": "2026-04-15 15:45:17",
|
|
41
|
+
"lastUpdateAuth": "周津",
|
|
42
|
+
"lastUpdateTime": "2026-04-15 15:45:17",
|
|
43
|
+
"hasReported": false,
|
|
44
|
+
"props": ["review_action", "review_reason", "skill_id", "skill_name"],
|
|
45
|
+
"propInfosOnEvent": [
|
|
46
|
+
{ "name": "review_action", "hasReported": false },
|
|
47
|
+
{ "name": "review_reason", "hasReported": false }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"eventName": "page_view",
|
|
52
|
+
"displayName": "页面浏览",
|
|
53
|
+
"eventDesc": "任意页面打开",
|
|
54
|
+
"eventTag": "common",
|
|
55
|
+
"creator": "周津",
|
|
56
|
+
"createTime": "2026-04-15 15:45:17",
|
|
57
|
+
"lastUpdateAuth": "周津",
|
|
58
|
+
"lastUpdateTime": "2026-04-15 15:45:17",
|
|
59
|
+
"hasReported": false
|
|
60
|
+
// props / propInfosOnEvent absent when event has no bound properties
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
|
|
64
|
+
"eventProps": [
|
|
65
|
+
{
|
|
66
|
+
"name": "login_method",
|
|
67
|
+
"displayName": "登录方式",
|
|
68
|
+
"type": "string",
|
|
69
|
+
"desc": "feishu_sso",
|
|
70
|
+
"creator": "周津",
|
|
71
|
+
"createTime": "2026-04-15 15:45:17",
|
|
72
|
+
"lastUpdateAuth": "周津",
|
|
73
|
+
"lastUpdateTime": "2026-04-15 15:45:17"
|
|
74
|
+
// NOTE: no hasReported field on eventProps items
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "session_duration_ms",
|
|
78
|
+
"displayName": "会话时长毫秒",
|
|
79
|
+
"type": "number",
|
|
80
|
+
"desc": "登出时本次会话累计时长",
|
|
81
|
+
"creator": "周津",
|
|
82
|
+
"createTime": "2026-04-15 15:45:17",
|
|
83
|
+
"lastUpdateAuth": "周津",
|
|
84
|
+
"lastUpdateTime": "2026-04-15 15:45:17"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
|
|
88
|
+
"commonEventProps": [
|
|
89
|
+
{
|
|
90
|
+
"name": "is_embed",
|
|
91
|
+
"displayName": "是否嵌入模式",
|
|
92
|
+
"type": "bool",
|
|
93
|
+
"desc": "是否在 CRM iframe 嵌入中访问",
|
|
94
|
+
"creator": "周津",
|
|
95
|
+
"createTime": "2026-04-15 15:45:17",
|
|
96
|
+
"lastUpdateAuth": "周津",
|
|
97
|
+
"lastUpdateTime": "2026-04-15 15:45:17",
|
|
98
|
+
"hasReported": false
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "page_name",
|
|
102
|
+
"displayName": "页面名称",
|
|
103
|
+
"type": "string",
|
|
104
|
+
"desc": "当前页面标识,如 home/submit/detail/admin",
|
|
105
|
+
"creator": "周津",
|
|
106
|
+
"createTime": "2026-04-15 15:45:17",
|
|
107
|
+
"lastUpdateAuth": "周津",
|
|
108
|
+
"lastUpdateTime": "2026-04-15 15:45:17",
|
|
109
|
+
"hasReported": false
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
|
|
113
|
+
"userProps": [
|
|
114
|
+
{
|
|
115
|
+
"name": "admin_review_count",
|
|
116
|
+
"displayName": "审核处理数",
|
|
117
|
+
"type": "number",
|
|
118
|
+
"desc": "管理员累计审核的 skill 数",
|
|
119
|
+
"updateType": "user_add",
|
|
120
|
+
"updateTypeName": "user_add",
|
|
121
|
+
"propTag": "",
|
|
122
|
+
"creator": "周津",
|
|
123
|
+
"createTime": "2026-04-15 15:45:17",
|
|
124
|
+
"lastUpdateAuth": "周津",
|
|
125
|
+
"lastUpdateTime": "2026-04-15 15:45:17",
|
|
126
|
+
"hasReported": false
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Field mapping to Draft
|
|
136
|
+
|
|
137
|
+
The planned `normalize()` function assumes `data.event_properties[]`, `data.common_event_properties[]`, `data.user_properties[]`. **Reality differs** — see caveats below.
|
|
138
|
+
|
|
139
|
+
| AE response field | Draft field (src/plan/types.ts) | Notes |
|
|
140
|
+
|---|---|---|
|
|
141
|
+
| `data.events[].eventName` | `events[].event_name` | camelCase → snake_case |
|
|
142
|
+
| `data.events[].displayName` | `events[].display_name` | camelCase → snake_case |
|
|
143
|
+
| `data.events[].eventDesc` | `events[].event_desc` | camelCase → snake_case |
|
|
144
|
+
| `data.events[].eventTag` | `events[].event_tag` | camelCase → snake_case |
|
|
145
|
+
| `data.events[].props[]` | `events[].properties[]` | array of property name strings |
|
|
146
|
+
| `data.events[].propInfosOnEvent[]` | `events[].property_infos[]` | array of `{name, hasReported}` |
|
|
147
|
+
| `data.eventProps[].name` | `event_properties[].name` | key rename: `eventProps` → `event_properties` |
|
|
148
|
+
| `data.eventProps[].type` | `event_properties[].type` | same |
|
|
149
|
+
| `data.eventProps[].displayName` | `event_properties[].display_name` | camelCase → snake_case |
|
|
150
|
+
| `data.eventProps[].desc` | `event_properties[].description` | key rename |
|
|
151
|
+
| `data.commonEventProps[].name` | `common_event_properties[].name` | key rename: `commonEventProps` → `common_event_properties` |
|
|
152
|
+
| `data.userProps[].name` | `user_properties[].name` | key rename: `userProps` → `user_properties` |
|
|
153
|
+
| `data.userProps[].updateType` | `user_properties[].update_type` | user property specific |
|
|
154
|
+
| `data.userProps[].propTag` | `user_properties[].prop_tag` | user property specific |
|
|
155
|
+
| `return_code` | — | top-level; `0` = success |
|
|
156
|
+
| `return_message` | — | top-level; `"ok"` on success |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Caveats
|
|
161
|
+
|
|
162
|
+
1. **Key naming is camelCase throughout** — all field names in the response use camelCase (`eventName`, `displayName`, `eventProps`, etc.). The draft plan assumed snake_case keys like `event_name`. `normalize()` must do a full camelCase → snake_case conversion, or map fields explicitly.
|
|
163
|
+
|
|
164
|
+
2. **Array key name mismatches vs plan assumption**:
|
|
165
|
+
- Response uses `eventProps` (not `event_properties`)
|
|
166
|
+
- Response uses `commonEventProps` (not `common_event_properties`)
|
|
167
|
+
- Response uses `userProps` (not `user_properties`)
|
|
168
|
+
|
|
169
|
+
3. **`eventProps` are global, not scoped per event** — all event properties live in one flat `data.eventProps[]` array. Per-event bindings are in `data.events[].props` (name strings) and `data.events[].propInfosOnEvent` (`{name, hasReported}` objects). Events with no bound properties omit both `props` and `propInfosOnEvent` fields entirely.
|
|
170
|
+
|
|
171
|
+
4. **`hasReported` field inconsistency** — `commonEventProps` and `userProps` items include `hasReported`; `eventProps` items do NOT include this field.
|
|
172
|
+
|
|
173
|
+
5. **`@t` cache-buster** — the `@t` query param is a Unix timestamp in milliseconds. It appears to be required (the page always sends it) but likely just busts CDN/proxy caching. Use `Date.now()` when constructing requests.
|
|
174
|
+
|
|
175
|
+
6. **No pagination observed** — the single request returns all 17 events, 21 event props, 6 common props, 9 user props in one shot. No pagination headers or page/limit params were observed.
|
|
176
|
+
|
|
177
|
+
7. **`userProps[].updateType` and `updateTypeName`** — both fields are present on user properties (e.g., `"user_add"`). The xlsx schema's `更新方式` column maps to this.
|
|
178
|
+
|
|
179
|
+
8. **`propTag`** — present on `userProps` items (maps to xlsx `属性标签` column), absent on event/common props.
|
|
180
|
+
|
|
181
|
+
9. **`eventProps` lack `hasReported`** — unlike events and common/user props, individual event property definitions in `eventProps[]` do not carry `hasReported`. The flag does appear inside `propInfosOnEvent[]` on the event object itself.
|