@thinkingai/ae-cli 1.0.28 → 6.0.16-1
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 +2553 -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,629 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ae-generate-tracking-code
|
|
3
|
+
description: Interactive generation of AE tracking code, LogBus2 configuration, and debug scripts from a tracking plan. Trigger words: 代码埋点、埋点代码、tracking code、埋点落地、logbus 配置、AE 上报代码、generate tracking code、insert tracking、トラッキングコード、트래킹 코드. Supports independent output mode selection per platform (insert/snippet). Server-side defaults to LoggerConsumer + LogBus2 architecture.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ae-generate-tracking-code
|
|
7
|
+
|
|
8
|
+
> **Conversation language**: This skill document is in English, but **all output to the user MUST be in the user's input language**.
|
|
9
|
+
> English input → English reply; Chinese input → Chinese reply; Japanese input → Japanese reply.
|
|
10
|
+
> If uncertain, default to English.
|
|
11
|
+
> This applies to all output: section titles, phase names, template prompts, code comments, etc.
|
|
12
|
+
> **⚠️ CRITICAL: Many reference documents (wiki SDK docs, code examples) contain Chinese text. When reading Chinese source material to answer an English/Japanese user, you MUST translate headings, descriptions, and comments to the user's language. The source document's language is NOT the user's language. Use the Terminology Glossary above to map terms accurately.**
|
|
13
|
+
> Do NOT copy Chinese text verbatim from this document into English/Japanese replies.
|
|
14
|
+
>
|
|
15
|
+
> **Document link language**: When providing official documentation URLs, use `lan=zh-CN` for Chinese users, `lan=en-US` for all others.
|
|
16
|
+
|
|
17
|
+
## Terminology Glossary
|
|
18
|
+
|
|
19
|
+
| 中文 | English | Notes |
|
|
20
|
+
|------|---------|-------|
|
|
21
|
+
| 埋点方案 | Tracking Plan | AE project-level event/property definitions |
|
|
22
|
+
| 代码埋点 | Tracking Code Generation | Generating SDK/LogBus code from a plan |
|
|
23
|
+
| 埋点代码 | Tracking Code | The generated SDK init + track() calls + helpers |
|
|
24
|
+
| 输出方式 | Output Mode | insert (inject) or snippet (file delivery) |
|
|
25
|
+
| 插入 | Insert | Direct code injection into the user's project |
|
|
26
|
+
| 片段 / 代码片段 | Snippet | Code delivered as files under `.ae-cli/output/` |
|
|
27
|
+
| 采集端 | Collection Platform / Platform | Where events are sent from: client, server, or both |
|
|
28
|
+
| 客户端 | Client | Client-side SDK (Android/iOS/Web/etc.) |
|
|
29
|
+
| 服务端 | Server | Server-side SDK (Java/Python/Go/etc.) |
|
|
30
|
+
| 两端都采集 | Both | Events collected from both client and server |
|
|
31
|
+
| SDK 集成模式 | SDK Integration Mode | `client_only` / `server_only` / `both` |
|
|
32
|
+
| 用户体系 | User Identity System | distinct_id / account_id strategy |
|
|
33
|
+
| 校验脚本 | Validation / Debug Script | Test code to verify tracking works |
|
|
34
|
+
| LogBus2 配置 | LogBus2 Configuration | `daemon.json` for LogBus2 log sync tool |
|
|
35
|
+
| LoggerConsumer | LoggerConsumer | Server SDK consumer that writes events to local log files |
|
|
36
|
+
| BatchConsumer | BatchConsumer | Server SDK consumer that uploads events in batches |
|
|
37
|
+
| 公共属性 | Super Property | Properties attached to all events automatically |
|
|
38
|
+
| 预置属性 | Preset Property | System properties prefixed with `#` (e.g. `#device_id`, `#time`) |
|
|
39
|
+
| 事件属性 | Event Property | Custom properties on specific events |
|
|
40
|
+
| 用户属性 | User Property | Properties set on the user profile |
|
|
41
|
+
| 上报地址 | SERVER_URL | Data ingestion endpoint (different from web URL!) |
|
|
42
|
+
| APP_ID | APP_ID | Application ID from AE Admin → "Integration Config" |
|
|
43
|
+
| project_id | Project ID | AE project identifier (≠ APP_ID) |
|
|
44
|
+
| 自动采集 | Auto-track | Auto-collected events (app install, start, view, click) |
|
|
45
|
+
| 埋点方案上传 | Plan Upload | Upload tracking plan xlsx to AE |
|
|
46
|
+
|
|
47
|
+
## When to Trigger
|
|
48
|
+
|
|
49
|
+
Trigger when user says: "generate tracking code / help me add web tracking / generate logbus config / server-side reporting code" etc. Supports multiple platforms with independent output mode selection per platform.
|
|
50
|
+
|
|
51
|
+
## Phase 0 — Anchor (one question per message)
|
|
52
|
+
|
|
53
|
+
### Pre-check: Read existing configuration from draft.json
|
|
54
|
+
|
|
55
|
+
First, check if `.ae-cli/draft.json` exists and read existing configuration:
|
|
56
|
+
|
|
57
|
+
| Config Item | draft.json Field | Handling |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| AE projectId | `meta.project_id` | Has value → confirm; missing → ask |
|
|
60
|
+
| AE web address | `meta.host` | Has value → confirm; missing → ask |
|
|
61
|
+
| **SERVER_URL** | `meta.server_url` | **Must ask**. Data ingestion endpoint — different from web address |
|
|
62
|
+
| **APP_ID** | `meta.app_id` | **Must ask**. Obtained from AE Admin → "Integration Config" |
|
|
63
|
+
| SDK integration mode | `meta.sdk_integration_mode` | Has value → use directly |
|
|
64
|
+
| Client SDK type | `meta.client_platforms` (preferred) or `meta.client_sdk_type` | Has value → use directly |
|
|
65
|
+
| Server language | `meta.server_language` | Has value → use directly |
|
|
66
|
+
| User identity system | `meta.user_identity` | Has value → use directly |
|
|
67
|
+
|
|
68
|
+
**Important**: `project_id` ≠ `APP_ID`, and `host` ≠ `SERVER_URL`. Even if project_id and host are already set, SERVER_URL and APP_ID must still be asked separately.
|
|
69
|
+
|
|
70
|
+
**Multi-platform support**:
|
|
71
|
+
- If `client_platforms` exists (array): multi-platform scenario — generate code for each platform
|
|
72
|
+
- If only `client_sdk_type` exists: single platform (backward compatible)
|
|
73
|
+
- Example: `client_platforms: ["android", "openharmony"]` → generate code for Android + OpenHarmony
|
|
74
|
+
|
|
75
|
+
**Language support**:
|
|
76
|
+
- Android SDK: supports Java / Kotlin (can generate both)
|
|
77
|
+
- iOS SDK: supports Objective-C / Swift (can generate both)
|
|
78
|
+
- Other SDKs: fixed language, no selection needed
|
|
79
|
+
|
|
80
|
+
**Language configuration source**:
|
|
81
|
+
- Prefer `meta.client_platform_languages` (e.g. `{"android": ["java", "kotlin"]}`)
|
|
82
|
+
- If not configured, ask user for Android/iOS platforms only
|
|
83
|
+
|
|
84
|
+
**Confirmation flow**:
|
|
85
|
+
- Has value → ask **"Confirm using draft.json config: <value>? yes / enter new value"**
|
|
86
|
+
- User says `yes` → use draft value
|
|
87
|
+
- User enters new value → update draft.json and use new value
|
|
88
|
+
|
|
89
|
+
### Required configuration (must confirm each item)
|
|
90
|
+
|
|
91
|
+
**⚠️ Key: SERVER_URL and APP_ID are independent config items. Even if draft.json has project_id and host, you MUST ask. `project_id` ≠ `APP_ID`, `host` ≠ `SERVER_URL`.**
|
|
92
|
+
|
|
93
|
+
1. **SERVER_URL** — Data ingestion endpoint (**different from web URL**; go to AE Admin → "Project Settings" → "Integration Config" → fill in "Public URL")
|
|
94
|
+
- ⚠️ "Public URL" only shows if previously filled in; if empty, this field won't display
|
|
95
|
+
- Solution: ask ops for the URL, or **skip this step** (use `SERVER_URL` or `PUSH_URL` placeholder in code)
|
|
96
|
+
2. **APP_ID** — Go to AE Admin → "Project Settings" → "Integration Config" → copy "APP_ID"
|
|
97
|
+
|
|
98
|
+
**host handling** (optional):
|
|
99
|
+
- If you need to fetch plan from AE (no local draft.json) → ask for host
|
|
100
|
+
- If local draft.json exists → host is not required; only hint user to open AE Debug page during validation phase
|
|
101
|
+
|
|
102
|
+
### If only xlsx file exists (no draft.json)
|
|
103
|
+
|
|
104
|
+
First, check if both `.ae-cli/draft.json` and `.ae-cli/draft.xlsx` exist:
|
|
105
|
+
|
|
106
|
+
**If both are missing** — the current environment hasn't generated a tracking plan yet. Remind user of two options:
|
|
107
|
+
|
|
108
|
+
1. **Do you need to generate a tracking plan first?**
|
|
109
|
+
- Yes → suggest using `ae-generate-tracking-plan` skill
|
|
110
|
+
- Reference: tracking plan document (Feishu: https://www.feishu.cn/docx/Jt0VdhNB6oSJ4TxISs1cq2Ebnmg)
|
|
111
|
+
|
|
112
|
+
2. **If you already have a tracking plan**
|
|
113
|
+
- Provide the xlsx file path and use `ae-cli tracking code import-xlsx` to import
|
|
114
|
+
- Or place the xlsx file at `.ae-cli/draft.xlsx` and re-run
|
|
115
|
+
|
|
116
|
+
**If xlsx file exists** (provided via `ae-cli tracking code import-xlsx` or placed at `.ae-cli/draft.xlsx`):
|
|
117
|
+
|
|
118
|
+
**Step 1: Parse the xlsx file**
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
ae-cli tracking code import-xlsx --xlsx <xlsx-path> --out .ae-cli/draft.json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
This command:
|
|
125
|
+
1. Reads events, event properties, super properties, and user properties from xlsx
|
|
126
|
+
2. Infers `sdk_integration_mode` from the event `platform` field
|
|
127
|
+
3. Outputs draft.json (meta section has events and plan_name only)
|
|
128
|
+
|
|
129
|
+
**Step 2: What can be inferred from xlsx**
|
|
130
|
+
|
|
131
|
+
| Field | Can Infer? | Notes |
|
|
132
|
+
|---|---|---|
|
|
133
|
+
| Event list | ✅ | From `#event data` sheet |
|
|
134
|
+
| Event property pool | ✅ | From `#event data` sheet |
|
|
135
|
+
| Super properties | ✅ | From `#super property` sheet |
|
|
136
|
+
| User properties | ✅ | From `#user data` sheet |
|
|
137
|
+
| sdk_integration_mode | ⚠️ Limited | xlsx "Platform" column can infer (client/server/both); if missing, must ask |
|
|
138
|
+
| client_platforms | ❌ | Must ask user |
|
|
139
|
+
| client_platform_languages | ❌ | Must ask user (Android/iOS only) |
|
|
140
|
+
| server_language | ❌ | Must ask user (only if sdk_integration_mode includes server) |
|
|
141
|
+
| user_identity | ❌ | Must ask user |
|
|
142
|
+
| host / project_id | ❌ | Must ask or skip |
|
|
143
|
+
|
|
144
|
+
**"Platform" column parsing rules**:
|
|
145
|
+
- Empty / no column → cannot infer platform; default to client-side code generation (backward compatible)
|
|
146
|
+
- `客户端` / `client` → client-only collection, parsed as `platform: "client"`
|
|
147
|
+
- `服务端` / `server` → server-only collection, parsed as `platform: "server"`
|
|
148
|
+
- `客户端,服务端` / `client,server` / `服务端,客户端` / `server,client` → both platforms, parsed as `platform: "both"`
|
|
149
|
+
|
|
150
|
+
**Internal representation**: xlsx "Platform" column values are parsed by `ae-cli tracking code import-xlsx` into internal `platform` field values:
|
|
151
|
+
- `client` → client-side collection
|
|
152
|
+
- `server` → server-side collection
|
|
153
|
+
- `both` → both platforms
|
|
154
|
+
|
|
155
|
+
**Platform filtering during code generation**:
|
|
156
|
+
- Client code: only generate events where `platform === "client"` or `platform === "both"`
|
|
157
|
+
- Server code: only generate events where `platform === "server"` or `platform === "both"`
|
|
158
|
+
- If xlsx has no platform column: generate all events for both client and server (backward compatible)
|
|
159
|
+
|
|
160
|
+
**Step 3: Ask for missing configuration**
|
|
161
|
+
|
|
162
|
+
Ask in order, one item per message:
|
|
163
|
+
|
|
164
|
+
1. **SDK integration mode**: ask **"Will tracking be reported via client-side or server-side? client / server / both"**
|
|
165
|
+
|
|
166
|
+
2. **Client platform(s)** (only if sdk_integration_mode includes client):
|
|
167
|
+
ask **"What platform(s) is your app?"**
|
|
168
|
+
- Android / Android SDK
|
|
169
|
+
- iOS / iOS SDK
|
|
170
|
+
- OpenHarmony / OpenHarmony SDK (Chinese users only)
|
|
171
|
+
- Web / H5 (JavaScript SDK)
|
|
172
|
+
- WeChat Mini-program (Mini-program SDK) (Chinese users only)
|
|
173
|
+
- WeChat Mini-game (Mini-game SDK) (Chinese users only)
|
|
174
|
+
- Unity Game (Unity SDK)
|
|
175
|
+
- Cocos Game (CocosCreator / Cocos2d-x / Cocos2d-Lua / LayaAir — Cocos2d-Lua & LayaAir for Chinese users only)
|
|
176
|
+
- React Native / Flutter / uni-app
|
|
177
|
+
- Other
|
|
178
|
+
|
|
179
|
+
→ After user selects, **only if Android or iOS is selected**, follow up:
|
|
180
|
+
- Android → ask **"Which programming language? Java / Kotlin / both"**
|
|
181
|
+
- iOS → ask **"Which programming language? Objective-C / Swift / both"**
|
|
182
|
+
|
|
183
|
+
3. **Server language** (only if sdk_integration_mode includes server):
|
|
184
|
+
ask **"What is your server-side language?"**
|
|
185
|
+
- Java
|
|
186
|
+
- Python
|
|
187
|
+
- Go
|
|
188
|
+
- Node.js
|
|
189
|
+
- PHP
|
|
190
|
+
- C# / .NET
|
|
191
|
+
- Other
|
|
192
|
+
|
|
193
|
+
4. **User identity system**:
|
|
194
|
+
- Account ID source: user_account / role_id / none
|
|
195
|
+
- Visitor ID strategy: auto / device_id / custom
|
|
196
|
+
|
|
197
|
+
5. **SERVER_URL / APP_ID** (skip if already configured)
|
|
198
|
+
|
|
199
|
+
**Step 4: Merge configuration and proceed to Phase 1**
|
|
200
|
+
|
|
201
|
+
Write gathered info to `.ae-cli/draft.json` meta section, then proceed to Phase 1.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### If no local plan file
|
|
206
|
+
|
|
207
|
+
Without `.ae-cli/draft.json` or `.ae-cli/remote-plan.json`:
|
|
208
|
+
|
|
209
|
+
1. **AE projectId** — get from AE Admin
|
|
210
|
+
2. **AE web address** — needed to fetch plan
|
|
211
|
+
3. Run `ae-cli tracking plan fetch` to retrieve the tracking plan
|
|
212
|
+
|
|
213
|
+
**Follow-up rules** (determine which platforms need code based on integration mode):
|
|
214
|
+
|
|
215
|
+
| Integration Mode | Platforms/Sides to Generate |
|
|
216
|
+
|---|---|
|
|
217
|
+
| `client_only` | 1 client platform (read from plan's `client_sdk_type` or ask) |
|
|
218
|
+
| `server_only` | 1 server language (read from plan's `server_language` or ask) |
|
|
219
|
+
| `both` | Client platform + server language (both needed) |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### Platform Definitions
|
|
224
|
+
|
|
225
|
+
**Client platforms** (corresponding to client SDKs):
|
|
226
|
+
|
|
227
|
+
| plan field | Platform | SDK | Document Path |
|
|
228
|
+
|---|---|---|---|
|
|
229
|
+
| `android` | Android | Android SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android.md` |
|
|
230
|
+
| `ios` | iOS | iOS SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios.md` |
|
|
231
|
+
| `openharmony` | OpenHarmony | OpenHarmony SDK | `~/.ae-cli/wiki/te-docs/raw/客户端-sdk/openharmony.md` |
|
|
232
|
+
| `javascript` | Web / H5 | JavaScript SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript.md` |
|
|
233
|
+
| `miniprogram` | Mini-program | Mini-program SDK | `~/.ae-cli/wiki/te-docs/raw/客户端-sdk/小程序小游戏.md` |
|
|
234
|
+
| `unity` | Unity | Unity SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity.md` |
|
|
235
|
+
| `game_engine` | Game Engine | Cocos / Laya / Unreal | See `references/sdk-index.md` |
|
|
236
|
+
|
|
237
|
+
**Server languages** (corresponding to server SDKs):
|
|
238
|
+
|
|
239
|
+
| plan field | Language | SDK | Document Path |
|
|
240
|
+
|---|---|---|---|
|
|
241
|
+
| `java` | Java | Java SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java.md` |
|
|
242
|
+
| `python` | Python | Python SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python.md` |
|
|
243
|
+
| `go` | Go | Go SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang.md` |
|
|
244
|
+
| `nodejs` | Node.js | Node SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs.md` |
|
|
245
|
+
| `php` | PHP | PHP SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php.md` |
|
|
246
|
+
| `csharp` | C# | C# SDK | `~/.ae-cli/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c.md` |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
### Output Mode Definitions
|
|
251
|
+
|
|
252
|
+
Each platform can choose between two output modes:
|
|
253
|
+
|
|
254
|
+
| Mode | Description | Parameters | Deliverables |
|
|
255
|
+
|---|---|---|---|
|
|
256
|
+
| **insert** | Direct Edit injection into user project | Requires project path (absolute) | Code written to target directory |
|
|
257
|
+
| **snippet** | Markdown print + generate code file | No path needed | `.ae-cli/output/<platform>-sdk.<ext>` |
|
|
258
|
+
|
|
259
|
+
**Server-side defaults** (always generated for server):
|
|
260
|
+
- LoggerConsumer code (insert or snippet, matching user's choice)
|
|
261
|
+
- LogBus2 config file (`.ae-cli/output/daemon.json`)
|
|
262
|
+
- Official docs link: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
263
|
+
|
|
264
|
+
**Standalone option**:
|
|
265
|
+
- `debug` — validation script (generates test upload code)
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Phase 1 — Load plan
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
ae-cli auth login --host <host>
|
|
273
|
+
ae-cli auth status
|
|
274
|
+
ae-cli tracking plan fetch --project <projectId> --host <host> > .ae-cli/remote-plan.json
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Failure fallback:
|
|
278
|
+
- AE unreachable → ask user if they want to use `.ae-cli/draft.json` (local existing plan)
|
|
279
|
+
- Neither available → abort, suggest running `ae-generate-tracking-plan` first
|
|
280
|
+
|
|
281
|
+
**Read SDK integration config**:
|
|
282
|
+
From the plan file, read:
|
|
283
|
+
- `meta.sdk_integration_mode` — SDK integration mode
|
|
284
|
+
- `meta.client_sdk_type` — client SDK type (if `client_only` or `both`)
|
|
285
|
+
- `meta.server_language` — server language (if `server_only` or `both`)
|
|
286
|
+
- `meta.user_identity` — user identity config (used to generate `login()` / `identify()` calls)
|
|
287
|
+
|
|
288
|
+
**Determine list of platforms to generate code for**:
|
|
289
|
+
```
|
|
290
|
+
platforms = {
|
|
291
|
+
client: [client_sdk_type] // e.g. ['android'] or ['javascript']
|
|
292
|
+
server: [server_language] // e.g. ['java'] or ['python']
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Phase 2 — Route mode (select output mode)
|
|
299
|
+
|
|
300
|
+
### 2.1 Show platform list
|
|
301
|
+
|
|
302
|
+
Based on Phase 1 config, display the platforms that need code:
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
Platforms requiring code generation:
|
|
306
|
+
|
|
307
|
+
Client:
|
|
308
|
+
- android (Android SDK)
|
|
309
|
+
|
|
310
|
+
Server:
|
|
311
|
+
- java (Java SDK, default LoggerConsumer + LogBus2)
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### 2.2 Quick options
|
|
315
|
+
|
|
316
|
+
Provide shortcuts to simplify interaction:
|
|
317
|
+
|
|
318
|
+
**Option 1: One-click generation (recommended)**
|
|
319
|
+
- All platforms use `snippet` mode
|
|
320
|
+
- Generate all code files to `.ae-cli/output/` at once
|
|
321
|
+
- **No project path needed** — delivers copy-ready code directly
|
|
322
|
+
- Best for quickly getting code reference to integrate manually
|
|
323
|
+
|
|
324
|
+
**Option 2: Insert into project**
|
|
325
|
+
- Each platform independently chooses `insert` or `snippet`
|
|
326
|
+
- **Project path required** — code is written directly to your project directory
|
|
327
|
+
- Best for existing projects where code should land in specific locations
|
|
328
|
+
|
|
329
|
+
### 2.3 Per-platform selection flow
|
|
330
|
+
|
|
331
|
+
If user chooses "per-platform selection", ask in platform order:
|
|
332
|
+
|
|
333
|
+
**Client platform prompt**:
|
|
334
|
+
```
|
|
335
|
+
Client android — choose output mode:
|
|
336
|
+
1. insert — requires project path
|
|
337
|
+
2. snippet — no path needed, generates code file
|
|
338
|
+
|
|
339
|
+
Your choice: insert / snippet
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
- `insert` → ask **"What is the project path? (absolute path)"**
|
|
343
|
+
- `snippet` → no additional parameters
|
|
344
|
+
|
|
345
|
+
**Server language prompt**:
|
|
346
|
+
```
|
|
347
|
+
Server java — choose output mode:
|
|
348
|
+
1. insert — requires project path
|
|
349
|
+
2. snippet — no path needed, generates code file
|
|
350
|
+
|
|
351
|
+
Your choice: insert / snippet
|
|
352
|
+
|
|
353
|
+
(Defaults included: LoggerConsumer + LogBus2 config + official docs link)
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
- `insert` → ask **"What is the project path? (absolute path)"**
|
|
357
|
+
- `snippet` → no additional parameters
|
|
358
|
+
- Server always gets `.ae-cli/output/daemon.json` regardless of mode
|
|
359
|
+
- **Always provide LogBus2 official docs link**: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
360
|
+
|
|
361
|
+
### 2.4 Standalone option
|
|
362
|
+
|
|
363
|
+
After platform selection is done, ask:
|
|
364
|
+
|
|
365
|
+
**"Generate a debug validation script? yes / no"**
|
|
366
|
+
|
|
367
|
+
- `yes` → generate `.ae-cli/output/te-debug.<ext>`
|
|
368
|
+
- `no` → skip
|
|
369
|
+
|
|
370
|
+
### 2.5 Summary of selections
|
|
371
|
+
|
|
372
|
+
Show final selection summary:
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
Output mode summary:
|
|
376
|
+
|
|
377
|
+
Client android: snippet
|
|
378
|
+
Deliverables: .ae-cli/output/android-sdk.java
|
|
379
|
+
|
|
380
|
+
Server java: snippet
|
|
381
|
+
Deliverables: .ae-cli/output/java-sdk.java
|
|
382
|
+
.ae-cli/output/daemon.json
|
|
383
|
+
|
|
384
|
+
LogBus2 official docs: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
385
|
+
|
|
386
|
+
Standalone option: debug
|
|
387
|
+
Deliverable: te-debug.java
|
|
388
|
+
|
|
389
|
+
Confirm? yes / no
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
## Phase 3 — Execute (per platform)
|
|
395
|
+
|
|
396
|
+
### 3.1 Pre-execution check
|
|
397
|
+
|
|
398
|
+
Before Phase 3 begins, check:
|
|
399
|
+
```bash
|
|
400
|
+
test -z "$(git status --porcelain)" || echo "uncommitted changes present"
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**Handling rules**:
|
|
404
|
+
- `snippet` / `debug` → no check needed (doesn't touch user code)
|
|
405
|
+
- `insert` selection → check git status
|
|
406
|
+
- git clean → proceed
|
|
407
|
+
- git dirty → pause, wait for user choice:
|
|
408
|
+
```
|
|
409
|
+
Uncommitted changes detected. Insert mode requires a clean git workspace.
|
|
410
|
+
|
|
411
|
+
Choose:
|
|
412
|
+
1. Commit / stash first, then tell me and I'll continue with insert
|
|
413
|
+
2. Switch to snippet mode for code snippets (re-run skill later for insert)
|
|
414
|
+
```
|
|
415
|
+
- User chooses 1 → after user completes commit/stash, **re-check Phase 3.1**, then proceed with insert
|
|
416
|
+
- User chooses 2 → all `insert` modes switch to `snippet` for this run
|
|
417
|
+
|
|
418
|
+
### 3.2 Platform dispatch and execution
|
|
419
|
+
|
|
420
|
+
**Event platform filtering rules (important)**:
|
|
421
|
+
- xlsx "Platform" column values map to `platform` field:
|
|
422
|
+
- `客户端` / `client` → `platform: "client"`
|
|
423
|
+
- `服务端` / `server` → `platform: "server"`
|
|
424
|
+
- `客户端,服务端` / `client,server` → `platform: "both"`
|
|
425
|
+
- Client code: only generate events where `platform === "client"` or `platform === "both"`
|
|
426
|
+
- Server code: only generate events where `platform === "server"` or `platform === "both"`
|
|
427
|
+
- If xlsx has no platform column (legacy plan): generate all events (backward compatible)
|
|
428
|
+
- `platform === undefined` (xlsx lacks column) → generate for both sides
|
|
429
|
+
|
|
430
|
+
**Client code generation**:
|
|
431
|
+
|
|
432
|
+
| Output Mode | Execution Flow |
|
|
433
|
+
|---|---|
|
|
434
|
+
| `insert` | Read `references/client-sdk-insert.md` → Explore project → Plan insertion → Edit to write |
|
|
435
|
+
| `snippet` | Read `references/snippet-delivery.md` → Print markdown + generate `.ae-cli/output/<platform>-sdk.<ext>` |
|
|
436
|
+
|
|
437
|
+
**Only generate events where `platform === "client"` or `platform === "both"`**
|
|
438
|
+
|
|
439
|
+
**⚠️ Hard rule: Never guess SDK imports**
|
|
440
|
+
- Before generating, MUST read the corresponding SDK wiki document (see `references/sdk-index.md`)
|
|
441
|
+
- **MUST copy import statements and package names from the wiki main document**, never guess
|
|
442
|
+
- Example: JavaScript SDK npm package is `thinkingdata-browser`, import variable is `ta`
|
|
443
|
+
- If generated code doesn't match wiki docs (e.g. `TDAnalytics`/`te`/`@thinkingdata/web-sdk`), re-read wiki and fix
|
|
444
|
+
- **Re-read docs before every code generation**, never rely on "remembered" code
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
**Server code generation**:
|
|
449
|
+
|
|
450
|
+
| Output Mode | Execution Flow |
|
|
451
|
+
|---|---|
|
|
452
|
+
| `insert` | Read `references/server-sdk-insert.md` → Explore project → Plan insertion → Edit to write |
|
|
453
|
+
| `snippet` | Read `references/snippet-delivery.md` → Print markdown + generate `.ae-cli/output/<language>-sdk.<ext>` |
|
|
454
|
+
|
|
455
|
+
**Only generate events where `platform === "server"` or `platform === "both"`**
|
|
456
|
+
|
|
457
|
+
**Server-side defaults** (always included):
|
|
458
|
+
- Generate LoggerConsumer mode code (writes to local log files)
|
|
459
|
+
- Generate `.ae-cli/output/daemon.json` (LogBus2 configuration)
|
|
460
|
+
- **Always provide LogBus2 official docs link**: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
461
|
+
|
|
462
|
+
**⚠️ Hard rule: Never guess SDK imports**
|
|
463
|
+
- Before generating, MUST read the corresponding SDK wiki document (see `references/sdk-index.md`)
|
|
464
|
+
- **MUST copy import statements and package names from the wiki main document**, never guess
|
|
465
|
+
- **Re-read docs before every code generation**, never rely on "remembered" code
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
**Standalone option execution**:
|
|
470
|
+
|
|
471
|
+
| Option | Execution Flow |
|
|
472
|
+
|---|---|
|
|
473
|
+
| `debug` | Read `references/debug-script.md` → Generate `.ae-cli/output/te-debug.<ext>` |
|
|
474
|
+
|
|
475
|
+
---
|
|
476
|
+
|
|
477
|
+
## Phase 4 — Deliver (output manifest)
|
|
478
|
+
|
|
479
|
+
Show deliverables based on selected output modes:
|
|
480
|
+
|
|
481
|
+
### All snippets
|
|
482
|
+
|
|
483
|
+
```
|
|
484
|
+
Deliverables:
|
|
485
|
+
|
|
486
|
+
Client:
|
|
487
|
+
- .ae-cli/output/android-sdk.java (Android SDK code snippet)
|
|
488
|
+
|
|
489
|
+
Server:
|
|
490
|
+
- .ae-cli/output/java-sdk.java (Java SDK LoggerConsumer code)
|
|
491
|
+
- .ae-cli/output/daemon.json (LogBus2 configuration)
|
|
492
|
+
|
|
493
|
+
LogBus2 official docs: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
494
|
+
|
|
495
|
+
Standalone:
|
|
496
|
+
- .ae-cli/output/te-debug.java (validation script)
|
|
497
|
+
|
|
498
|
+
README: .ae-cli/output/README.md (usage instructions)
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Mixed (some insert + some snippet)
|
|
502
|
+
|
|
503
|
+
```
|
|
504
|
+
Deliverables:
|
|
505
|
+
|
|
506
|
+
Client android (insert):
|
|
507
|
+
- <project-path>/src/main/java/.../TrackingHelper.java (SDK init + event calls)
|
|
508
|
+
|
|
509
|
+
Server java (snippet):
|
|
510
|
+
- .ae-cli/output/java-sdk.java (LoggerConsumer code snippet)
|
|
511
|
+
- .ae-cli/output/daemon.json (LogBus2 configuration)
|
|
512
|
+
|
|
513
|
+
LogBus2 official docs: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
514
|
+
|
|
515
|
+
Standalone:
|
|
516
|
+
- .ae-cli/output/te-debug.java (validation script)
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Markdown code snippet display
|
|
520
|
+
|
|
521
|
+
For all `snippet` selections, display code grouped by platform in the markdown response:
|
|
522
|
+
|
|
523
|
+
```
|
|
524
|
+
## Client Android
|
|
525
|
+
|
|
526
|
+
### SDK Initialization
|
|
527
|
+
```java
|
|
528
|
+
TDAnalytics.init(this, SERVER_URL, APPID);
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
### Super Properties
|
|
532
|
+
```java
|
|
533
|
+
Map<String, Object> superProperties = new HashMap<>();
|
|
534
|
+
superProperties.put("channel", "app_store");
|
|
535
|
+
TDAnalytics.setSuperProperties(superProperties);
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
### Event Group: auth
|
|
539
|
+
#### user_login
|
|
540
|
+
```java
|
|
541
|
+
TDAnalytics.track("user_login", new HashMap<String, Object>() {{
|
|
542
|
+
put("login_method", "phone");
|
|
543
|
+
}});
|
|
544
|
+
```
|
|
545
|
+
...
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## Phase 5 — Validate hint
|
|
551
|
+
|
|
552
|
+
Provide validation guidance based on selected platforms:
|
|
553
|
+
|
|
554
|
+
### Validation Steps
|
|
555
|
+
|
|
556
|
+
```
|
|
557
|
+
Validation steps:
|
|
558
|
+
1. Run validation script:
|
|
559
|
+
- Client: run .ae-cli/output/te-debug-client.<ext>
|
|
560
|
+
- Server: run .ae-cli/output/te-debug-server.<ext>
|
|
561
|
+
|
|
562
|
+
2. Open AE Debug page:
|
|
563
|
+
https://<host>/#/data/debug
|
|
564
|
+
|
|
565
|
+
3. Filter by distinct_id=claude-test to view uploaded data
|
|
566
|
+
|
|
567
|
+
4. For LogBus2:
|
|
568
|
+
- Copy daemon.json to LogBus2 conf/ directory
|
|
569
|
+
- Start: ./logbus start
|
|
570
|
+
- Official docs: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
### After validation passes
|
|
574
|
+
|
|
575
|
+
- Remind user to commit changes (if any `insert` was used)
|
|
576
|
+
- Remind user to call `login()` / `identify()` in code to associate user IDs
|
|
577
|
+
- Remind user to copy daemon.json to LogBus2 conf/ directory
|
|
578
|
+
|
|
579
|
+
### Validation failure
|
|
580
|
+
|
|
581
|
+
- Ask user to paste error text for debugging
|
|
582
|
+
- Check SERVER_URL / appId correctness
|
|
583
|
+
- Check network connectivity
|
|
584
|
+
- Check LogBus2 config file format
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## Prohibitions
|
|
589
|
+
|
|
590
|
+
- **Any `insert` without running `git status` check first (IMPORTANT: must check first; refuse execution if uncommitted changes exist)**
|
|
591
|
+
- Skipping reference docs in Phase 3 and inserting code arbitrarily
|
|
592
|
+
- Ignoring `// @tracking <event>` comment incremental detection
|
|
593
|
+
- Reusing web host as SERVER_URL (must be separate)
|
|
594
|
+
- **Using LogBus v1 (deprecated — only use LogBus2)**
|
|
595
|
+
- Generating LogBus2 config without providing official documentation link
|
|
596
|
+
- Including `platform === "server"` exclusive events in client code
|
|
597
|
+
- Including `platform === "client"` exclusive events in server code (unless `platform === "both"`)
|
|
598
|
+
- **Skipping SDK main doc read and guessing integration method** — each SDK has different integration approaches; must read wiki main doc's "Integrate SDK" section first, and choose the correct method based on project characteristics (with/without build tools)
|
|
599
|
+
- **Entering Phase 1 before Phase 0.5 is complete** — SDK integration must be confirmed before inserting code, otherwise generated track() calls won't work
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
## Internal Reference
|
|
604
|
+
|
|
605
|
+
All output mode rules are in `references/*.md`. This SKILL.md only handles phase orchestration.
|
|
606
|
+
|
|
607
|
+
**SDK document index**:
|
|
608
|
+
- `references/sdk-index.md` — All SDK wiki document path index (canonical source)
|
|
609
|
+
|
|
610
|
+
**Output mode references**:
|
|
611
|
+
- `references/client-sdk-insert.md` — Client code insertion workflow
|
|
612
|
+
- `references/snippet-delivery.md` — Code snippet generation workflow
|
|
613
|
+
- `references/server-sdk-insert.md` — Server code insertion workflow (LoggerConsumer + LogBus2)
|
|
614
|
+
- `references/logbus-config.md` — LogBus2 configuration generation (includes official docs link)
|
|
615
|
+
- `references/debug-script.md` — Validation script generation
|
|
616
|
+
|
|
617
|
+
**LogBus2 official documentation** (must provide when generating config):
|
|
618
|
+
- User guide: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US
|
|
619
|
+
- Download link is in the official doc's "二、Download LogBus2" section
|
|
620
|
+
|
|
621
|
+
**Wiki directory structure** (see `~/.ae-cli/wiki/te-docs/schema.md`):
|
|
622
|
+
- `~/.ae-cli/wiki/te-docs/raw/` — AE official documentation mirror (read-only, maintained by crawler)
|
|
623
|
+
- `~/.ae-cli/wiki/te-docs/synthesis/` — LLM-synthesized overview documents
|
|
624
|
+
|
|
625
|
+
**Document reading order during code generation**:
|
|
626
|
+
1. Read `references/sdk-index.md` to find the SDK's wiki document path
|
|
627
|
+
2. Read wiki main doc (initialization, basic API)
|
|
628
|
+
3. Read wiki advanced guide (LoggerConsumer, user properties, etc.)
|
|
629
|
+
4. Check advanced guide sub-documents if needed
|