@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.
Files changed (360) hide show
  1. package/README.md +1 -16
  2. package/README.zh.md +1 -16
  3. package/dist/{auth-H2376DEF.js → auth-DYC2BGLM.js} +2 -2
  4. package/dist/{auth-5NSDQFQB.js → auth-GHBMJ5ZR.js} +31 -12
  5. package/dist/{chunk-CLJF7MQA.js → chunk-2DUEAXV3.js} +1 -1
  6. package/dist/chunk-5OC7CYCG.js +98 -0
  7. package/dist/{chunk-SRJIAOBN.js → chunk-6W4QOZAL.js} +10 -0
  8. package/dist/{chunk-LU7SXK4Q.js → chunk-BJX3GXWC.js} +2 -2
  9. package/dist/{chunk-WCHI7725.js → chunk-DMMEPCST.js} +47 -6
  10. package/dist/{chunk-IMBKVXKY.js → chunk-EGEIXA2Z.js} +82 -10
  11. package/dist/{chunk-AD5V3ZPJ.js → chunk-I5CRVM2S.js} +98 -10
  12. package/dist/chunk-NOO24N7W.js +11 -0
  13. package/dist/{chunk-GSJGPNKK.js → chunk-PN3OS34E.js} +1 -1
  14. package/dist/{chunk-CAQYQA4R.js → chunk-RSHMZ3LG.js} +15 -1
  15. package/dist/{client-FCMK3XEK.js → client-2UJ63MVQ.js} +3 -3
  16. package/dist/{config-64G36TJL.js → config-NCUGK6NS.js} +3 -3
  17. package/dist/index.js +2549 -29
  18. package/dist/{model-EZ6K7FXI.js → model-SJSOZTRS.js} +5 -7
  19. package/dist/{raw-VEF3D6UD.js → raw-7NVWSVJP.js} +4 -4
  20. package/dist/{sync-NRODEVNH.js → sync-GRVO4K3U.js} +120 -23
  21. package/dist/{te-agent-7U7JLJKU.js → te-agent-KZRIEN4N.js} +468 -47
  22. package/dist/{te-analysis-A2OSGHQ4.js → te-analysis-VAR4KUOK.js} +145 -28
  23. package/dist/{te-audience-LI67PPGO.js → te-audience-KMKYI2YJ.js} +23 -14
  24. package/dist/{te-common-35WVU3C5.js → te-common-WNCZB7R7.js} +5 -4
  25. package/dist/{te-community-LEAP6PWT.js → te-community-JEEFXPB3.js} +11 -10
  26. package/dist/{te-dataops-N2LGZBOX.js → te-dataops-GD3XBYCS.js} +33 -32
  27. package/dist/{te-engage-H7C72Z46.js → te-engage-4XHCTS6I.js} +5 -4
  28. package/dist/{te-kb-I2OKTBAI.js → te-kb-B62KFP2A.js} +97 -7
  29. package/dist/{te-meta-HBTIEDRO.js → te-meta-EPZGQN56.js} +10 -9
  30. package/dist/{te-team-EM5OWRQL.js → te-team-YY24VORI.js} +16 -12
  31. package/dist/tracking/i18n/resources/cli/en.json +153 -0
  32. package/dist/tracking/i18n/resources/cli/ja.json +153 -0
  33. package/dist/tracking/i18n/resources/cli/ko.json +153 -0
  34. package/dist/tracking/i18n/resources/cli/zh.json +153 -0
  35. package/package.json +9 -3
  36. package/skills/ae-agent/SKILL.md +66 -26
  37. package/skills/ae-analysis/SKILL.md +108 -8
  38. package/skills/ae-analysis/references/cancel_query.md +39 -0
  39. package/skills/ae-analysis/references/drilldown_user_events.md +4 -2
  40. package/skills/ae-analysis/references/drilldown_users.md +4 -2
  41. package/skills/ae-analysis/references/get_bi_panel_detail.md +35 -0
  42. package/skills/ae-analysis/references/list_alerts.md +1 -1
  43. package/skills/ae-analysis/references/list_bi_panels.md +35 -0
  44. package/skills/ae-analysis/references/list_cluster_members.md +4 -1
  45. package/skills/ae-analysis/references/list_dashboards.md +1 -1
  46. package/skills/ae-analysis/references/list_entities.md +1 -1
  47. package/skills/ae-analysis/references/list_events.md +1 -1
  48. package/skills/ae-analysis/references/list_metrics.md +1 -1
  49. package/skills/ae-analysis/references/list_project_mark_times.md +1 -1
  50. package/skills/ae-analysis/references/list_properties.md +1 -1
  51. package/skills/ae-analysis/references/list_public_access_links.md +1 -1
  52. package/skills/ae-analysis/references/list_reports.md +1 -1
  53. package/skills/ae-analysis/references/list_tag_members.md +4 -1
  54. package/skills/ae-analysis/references/query_adhoc.md +6 -5
  55. package/skills/ae-analysis/references/query_bi_panel_data.md +58 -0
  56. package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -1
  57. package/skills/ae-analysis/references/query_entity_details.md +5 -2
  58. package/skills/ae-analysis/references/query_event_details.md +4 -1
  59. package/skills/ae-analysis/references/query_report_data.md +2 -2
  60. package/skills/ae-analysis-global/SKILL.md +3 -1
  61. package/skills/ae-analysis-intent/SKILL.md +132 -0
  62. package/skills/ae-data-integration-helper/SKILL.md +242 -0
  63. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +179 -0
  64. package/skills/ae-data-integration-helper/references/c_sdk_compilation.md +83 -0
  65. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +416 -0
  66. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +123 -0
  67. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +365 -0
  68. package/skills/ae-data-integration-helper/references/index.md +56 -0
  69. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +118 -0
  70. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +406 -0
  71. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +129 -0
  72. package/skills/ae-data-integration-helper/references/logbus2_guide.md +309 -0
  73. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +348 -0
  74. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +115 -0
  75. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +118 -0
  76. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +232 -0
  77. package/skills/ae-data-integration-helper/references/restful_api_notes.md +74 -0
  78. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +316 -0
  79. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +107 -0
  80. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +115 -0
  81. package/skills/ae-generate-tracking-code/SKILL.md +629 -0
  82. package/skills/ae-generate-tracking-code/references/autotrack-enum.md +183 -0
  83. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +202 -0
  84. package/skills/ae-generate-tracking-code/references/datax-config.md +43 -0
  85. package/skills/ae-generate-tracking-code/references/debug-script.md +102 -0
  86. package/skills/ae-generate-tracking-code/references/logbus-config.md +200 -0
  87. package/skills/ae-generate-tracking-code/references/modes.md +83 -0
  88. package/skills/ae-generate-tracking-code/references/restful-call.md +36 -0
  89. package/skills/ae-generate-tracking-code/references/sdk-index.md +128 -0
  90. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +206 -0
  91. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +394 -0
  92. package/skills/ae-generate-tracking-code/references/te-api.md +181 -0
  93. package/skills/ae-generate-tracking-plan/SKILL.md +1083 -0
  94. package/skills/ae-generate-tracking-plan/references/autotrack-events.md +273 -0
  95. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +425 -0
  96. package/skills/ae-generate-tracking-plan/references/te-api.md +100 -0
  97. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +152 -0
  98. package/skills/ae-kb/SKILL.md +38 -5
  99. 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
  100. 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
  101. 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
  102. 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
  103. package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +72 -0
  104. package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  105. 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
  106. 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
  107. package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +80 -0
  108. package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  109. 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
  110. 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
  111. package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.md +40 -0
  112. package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.xlsx +0 -0
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. package/wiki/te-docs/index.md +225 -0
  140. package/wiki/te-docs/raw/advanced-data-type/first-event-check.md +66 -0
  141. package/wiki/te-docs/raw/advanced-data-type/updated-event.md +87 -0
  142. package/wiki/te-docs/raw/advanced-data-type.md +16 -0
  143. package/wiki/te-docs/raw/data-ingestion-guide/about-gdpr.md +55 -0
  144. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/automatic-event-tracking.md +431 -0
  145. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/debugging-and-logging.md +49 -0
  146. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/multi-instance.md +66 -0
  147. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/preset-properties.md +466 -0
  148. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/third-party-integration.md +127 -0
  149. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced.md +513 -0
  150. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/compliance.md +24 -0
  151. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/release-notes.md +177 -0
  152. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android.md +228 -0
  153. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/c-advanced.md +419 -0
  154. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/release-notes.md +45 -0
  155. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c.md +110 -0
  156. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/client-side-sdk-faq.md +52 -0
  157. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/cpp-advanced.md +366 -0
  158. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/release-notes.md +103 -0
  159. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp.md +201 -0
  160. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/compliance.md +26 -0
  161. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/automatically-track-events.md +117 -0
  162. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/debugging-and-logging.md +47 -0
  163. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/preset-properties.md +52 -0
  164. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced.md +267 -0
  165. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/release-notes.md +82 -0
  166. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter.md +139 -0
  167. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/compliance.md +26 -0
  168. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/automatically-track-events.md +121 -0
  169. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/debugging-and-logging.md +54 -0
  170. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/preset-properties.md +18 -0
  171. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced.md +305 -0
  172. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/release-notes.md +79 -0
  173. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native.md +137 -0
  174. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/release-notes.md +24 -0
  175. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/automatically-track-events.md +54 -0
  176. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/debugging-and-logging.md +53 -0
  177. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/multi-instance.md +42 -0
  178. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/preset-properties.md +119 -0
  179. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/support-native.md +81 -0
  180. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced.md +331 -0
  181. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app.md +156 -0
  182. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform.md +12 -0
  183. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/automatic-event-tracking.md +29 -0
  184. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/debugging-and-logging.md +47 -0
  185. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/multi-instance.md +21 -0
  186. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/preset-properties.md +249 -0
  187. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced.md +301 -0
  188. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/compliance.md +24 -0
  189. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/release-notes.md +51 -0
  190. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x.md +281 -0
  191. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/automatic-event-tracking.md +70 -0
  192. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/debugging-and-logging.md +57 -0
  193. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/native-support.md +104 -0
  194. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/preset-properties.md +91 -0
  195. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance.md +374 -0
  196. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/compliance.md +35 -0
  197. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/release-notes.md +109 -0
  198. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator.md +170 -0
  199. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/compliance.md +28 -0
  200. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/automatic-event-tracking.md +29 -0
  201. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/debugging-and-logging.md +58 -0
  202. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/preset-properties.md +43 -0
  203. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced.md +204 -0
  204. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/release-notes.md +29 -0
  205. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona.md +269 -0
  206. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/compliance.md +24 -0
  207. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/release-notes.md +177 -0
  208. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/automatic-event-tracking.md +119 -0
  209. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/debugging-and-logging.md +47 -0
  210. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/multi-instance.md +50 -0
  211. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/native-pluggable.md +43 -0
  212. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/preset-properties.md +212 -0
  213. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/third-party-integration.md +77 -0
  214. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced.md +396 -0
  215. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity.md +176 -0
  216. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/compliance.md +24 -0
  217. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/release-notes.md +81 -0
  218. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/automatic-event-tracking.md +79 -0
  219. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/debugging-and-logging.md +31 -0
  220. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/preset-properties.md +25 -0
  221. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/third-party-integrations.md +141 -0
  222. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced.md +278 -0
  223. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal.md +190 -0
  224. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine.md +14 -0
  225. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/h5-and-app-sdk-connection.md +147 -0
  226. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/instant-app-and-game.md +24 -0
  227. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/compliance.md +24 -0
  228. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/automatic-event-tracking.md +272 -0
  229. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/debugging-and-logging.md +77 -0
  230. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/multi-instance.md +142 -0
  231. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/preset-properties.md +484 -0
  232. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/third-party-integrations.md +132 -0
  233. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced.md +682 -0
  234. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/release-notes.md +163 -0
  235. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios.md +304 -0
  236. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/compliance.md +29 -0
  237. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/automatic-event-tracking.md +136 -0
  238. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/debugging-and-logging.md +48 -0
  239. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/multi-instance.md +50 -0
  240. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/preset-properties.md +132 -0
  241. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced.md +462 -0
  242. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/release-notes.md +107 -0
  243. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript.md +208 -0
  244. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/debugging-and-logging.md +62 -0
  245. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/preset-properties.md +118 -0
  246. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced.md +556 -0
  247. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos.md +231 -0
  248. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk.md +25 -0
  249. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/filebeat-logstash-user-guide.md +610 -0
  250. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/logbus2-user-guide.md +1215 -0
  251. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/ta-datax-writer-plugin-user-guide.md +278 -0
  252. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools.md +15 -0
  253. package/wiki/te-docs/raw/data-ingestion-guide/privacy-policy.md +38 -0
  254. package/wiki/te-docs/raw/data-ingestion-guide/restful-api-user-guide.md +155 -0
  255. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-FM9Cwz.md +37 -0
  256. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-RSyfw7.md +41 -0
  257. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging.md +89 -0
  258. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-OxzWw.md +126 -0
  259. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-VuE3wr.md +126 -0
  260. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties.md +126 -0
  261. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-IauKwI.md +175 -0
  262. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-YAilwk.md +210 -0
  263. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced.md +211 -0
  264. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-PVazwa.md +62 -0
  265. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-TADbwY.md +50 -0
  266. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes.md +69 -0
  267. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-V2W3wv.md +131 -0
  268. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-Zf9Jwl.md +179 -0
  269. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c.md +189 -0
  270. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/debugging-and-logging.md +38 -0
  271. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/preset-properties.md +126 -0
  272. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced.md +113 -0
  273. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/release-notes.md +34 -0
  274. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang.md +155 -0
  275. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/debugging-and-logging.md +42 -0
  276. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/preset-properties.md +126 -0
  277. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced.md +157 -0
  278. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/release-notes.md +72 -0
  279. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang.md +148 -0
  280. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/debugging-and-logging.md +49 -0
  281. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/preset-properties.md +126 -0
  282. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced.md +223 -0
  283. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/release-notes.md +88 -0
  284. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java.md +174 -0
  285. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/debugging-and-logging.md +46 -0
  286. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/preset-properties.md +126 -0
  287. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced.md +182 -0
  288. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/release-notes.md +61 -0
  289. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua.md +121 -0
  290. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/debugging-and-logging.md +55 -0
  291. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/preset-properties.md +126 -0
  292. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced.md +225 -0
  293. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/release-notes.md +45 -0
  294. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs.md +141 -0
  295. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/debugging-and-logging.md +41 -0
  296. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/preset-properties.md +126 -0
  297. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced.md +216 -0
  298. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/release-notes.md +45 -0
  299. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php.md +173 -0
  300. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/debugging-and-logging.md +40 -0
  301. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/preset-properties.md +126 -0
  302. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced.md +206 -0
  303. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/release-notes.md +51 -0
  304. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python.md +116 -0
  305. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/release-notes.md +44 -0
  306. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/debugging-and-logging.md +47 -0
  307. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/preset-properties.md +126 -0
  308. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced.md +189 -0
  309. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby.md +142 -0
  310. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk.md +22 -0
  311. package/wiki/te-docs/raw/data-ingestion-guide/thinkingdata-privacy-policy.md +37 -0
  312. package/wiki/te-docs/raw/data-ingestion-guide.md +48 -0
  313. package/wiki/te-docs/raw/preparations-before-data-ingestion/data-rules.md +396 -0
  314. package/wiki/te-docs/raw/preparations-before-data-ingestion/preset-properties-and-system-fields.md +957 -0
  315. package/wiki/te-docs/raw/preparations-before-data-ingestion/user-identification-rules.md +723 -0
  316. package/wiki/te-docs/raw/preparations-before-data-ingestion.md +203 -0
  317. 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
  318. 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
  319. 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
  320. 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
  321. 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
  322. 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
  323. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony.md +172 -0
  324. 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
  325. 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
  326. 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
  327. 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
  328. 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
  329. 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
  330. 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
  331. 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
  332. 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
  333. 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
  334. 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
  335. 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
  336. 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
  337. 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
  338. 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
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. package/wiki/te-docs/schema.md +16 -0
  354. package/wiki/te-docs/synthesis/batch-ingest-comparison.md +324 -0
  355. package/wiki/te-docs/synthesis/js-sdk-cheatsheet.md +538 -0
  356. package/wiki/te-docs/synthesis/restful-api-reference.md +363 -0
  357. package/wiki/te-docs/synthesis/sdk-selection.md +372 -0
  358. package/wiki/te-docs/synthesis/server-sdk-overview.md +449 -0
  359. package/dist/chunk-KAEZTSXN.js +0 -99
  360. package/dist/chunk-OJDNO5QY.js +0 -63
@@ -0,0 +1,425 @@
1
+ # Business Dimension → Event/Property Mapping Table
2
+
3
+ > **Terminology**: 业务维度 = business dimension | 收入模型 = revenue model | 核心循环 = core gameplay loop | 功能入口 = functional entry | 货币体系 = currency system | 注入事件 = injected events | 事件显示名 = event display name | 必带属性 = required properties | IAA = In-App Advertising (ad monetization) | IAP = In-App Purchase | 硬货币 = hard currency (premium, e.g. diamonds) | 软货币 = soft currency (earnable, e.g. gold) | 广告场景 = ad scene | 内购物品 = IAP item | platform = client / server / both
4
+
5
+ > Used during Phase 1 Draft generation to auto-inject corresponding events and properties based on
6
+ > business dimension information collected in Phase 0.
7
+ > This file is an internal reference for the skill; Claude reads it when generating the draft.
8
+
9
+ ---
10
+
11
+ ## 一、Revenue Model → Required Events
12
+
13
+ | 收入模型 | 注入事件 | 事件显示名 | platform | 必带属性 |
14
+ |---|---|---|---|---|
15
+ | `IAA` | `ad_show` | 广告展示 | client | `ad_type`、`ad_placement`、`is_filled` |
16
+ | `IAA` | `ad_click` | 广告点击 | client | `ad_type`、`ad_placement`、`ad_network` |
17
+ | `IAA` | `ad_reward_get` | 激励广告奖励领取 | client | `ad_type`、`ad_placement`、`reward_type`、`reward_amount` |
18
+ | `IAP` | `payment` | 支付成功 | server | `order_id`、`pay_amount`、`currency_type`、`payment_name`、`payment_type` |
19
+ | `IAP` | `payment_fail` | 支付失败 | server | `order_id`、`fail_reason`、`payment_name` |
20
+ | `mixed` | 同 IAA + IAP 所有事件 | | | |
21
+ | `subscription` | `subscription_start` | 订阅开始 | server | `subscription_id`、`plan_name`、`start_time` |
22
+ | `subscription` | `subscription_renew` | 订阅续费 | server | `subscription_id`、`renew_amount`、`currency_type` |
23
+ | `subscription` | `subscription_cancel` | 订阅取消 | server | `subscription_id`、`cancel_time`、`cancel_reason` |
24
+ | `commission` | `order_create` | 订单创建 | server | `order_id`、`order_amount`、`commission_rate` |
25
+ | `commission` | `order_paid` | 订单支付 | server | `order_id`、`pay_amount`、`commission_amount` |
26
+ | `commission` | `commission_settled` | 佣金结算 | server | `settlement_id`、`commission_amount`、`settle_time` |
27
+
28
+ ---
29
+
30
+ ## 二、核心玩法循环 → 事件序列
31
+
32
+ 解析 `core_loop` 描述,提取动作节点,映射为事件。
33
+
34
+ ### 动作动词 → 事件名映射
35
+
36
+ | 动作动词 | 事件名 | 说明 |
37
+ |---|---|---|
38
+ | 刷/打/通关 | `stage_start` / `stage_complete` / `stage_fail` | 关卡类玩法 |
39
+ | 获得/获取/得到 | `token_get` / `item_get` / `hero_get` | 资源/道具/角色获取 |
40
+ | 消耗/使用/花费 | `token_consume` / `item_consume` | 资源/道具消耗 |
41
+ | 购买/商城 | `shop_open` / `shop_buy` | 商城相关 |
42
+ | 抽卡/召唤/招募 | `gacha_draw` / `recruit_draw` | 随机抽取类玩法 |
43
+ | 战斗/PVP/竞技 | `battle_start` / `battle_end` / `battle_result` | 战斗结算 |
44
+ | 任务/委托 | `task_accept` / `task_complete` | 任务系统 |
45
+ | 升级/提升 | `level_up` / `vip_levelup` | 成长系统 |
46
+ | 注册/登录/登出 | `register` / `login` / `logout` | 生命周期 |
47
+
48
+ ### 示例解析
49
+
50
+ **输入**:"玩家反复刷关卡获得金币,用金币抽卡获取角色"
51
+
52
+ **解析结果**:
53
+
54
+ ```
55
+ 节点1: 刷关卡 → stage_start / stage_complete / stage_fail
56
+ 节点2: 获得金币 → token_get (token_type=gold, source=关卡)
57
+ 节点3: 抽卡 → gacha_draw (pool_type, draw_count)
58
+ 节点4: 获取角色 → hero_get (hero_id, hero_star)
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 三、功能入口 → 模块事件组
64
+
65
+ | 功能入口 | 事件名 | 显示名 | platform | 典型属性 |
66
+ |---|---|---|---|---|
67
+ | 关卡 | `stage_start` | 关卡开始 | client | `stage_id`、`stage_type`、`difficulty` |
68
+ | 关卡 | `stage_complete` | 关卡完成 | server | `stage_id`、`star_rating`、`score` |
69
+ | 关卡 | `stage_fail` | 关卡失败 | server | `stage_id`、`fail_reason` |
70
+ | 抽卡 | `gacha_draw` | 抽卡 | server | `pool_type`、`draw_count`、`cost_amount` |
71
+ | 抽卡 | `hero_get` | 获得英雄 | server | `hero_id`、`hero_star`、`source` |
72
+ | 商城 | `shop_open` | 打开商城 | client | `shop_type` |
73
+ | 商城 | `shop_buy` | 商城购买 | server | `item_id`、`item_num`、`pay_amount`、`token_balance` |
74
+ | 公会 | `guild_join` | 加入公会 | server | `guild_id`、`guild_name` |
75
+ | 公会 | `guild_donate` | 公会捐献 | server | `donate_type`、`donate_amount` |
76
+ | 公会 | `guild_boss_start` | 公会BOSS战开始 | server | `guild_id`、`boss_id` |
77
+ | 排行榜 | `rank_view` | 查看排行榜 | client | `rank_type`、`rank_id` |
78
+ | 排行榜 | `rank_refresh` | 刷新排行 | client | `rank_type` |
79
+ | 排行榜 | `rank_click` | 点击排行项 | client | `rank_type`、`target_id` |
80
+ | 任务 | `task_accept` | 接受任务 | server | `task_id`、`task_type` |
81
+ | 任务 | `task_complete` | 完成任务 | server | `task_id`、`reward_amount` |
82
+ | 任务 | `task_reward_claim` | 领取任务奖励 | server | `task_id`、`reward_type` |
83
+ | 成就 | `achieve_unlock` | 解锁成就 | server | `achieve_id`、`achieve_name` |
84
+ | 成就 | `achieve_reward_claim` | 领取成就奖励 | server | `achieve_id`、`reward_amount` |
85
+ | 签到 | `daily_sign` | 每日签到 | server | `sign_day`、`consecutive_days` |
86
+ | 签到 | `sign_reward_claim` | 领取签到奖励 | server | `reward_type`、`reward_amount` |
87
+
88
+ ---
89
+
90
+ ## 四、货币体系 → 属性设计
91
+
92
+ ### 货币类型枚举
93
+
94
+ | token_type | 显示名 | 说明 |
95
+ |---|---|---|
96
+ | `diamond` | 钻石 | 硬货币(付费) |
97
+ | `gold` | 金币 | 软货币(免费) |
98
+ | `energy` | 体力 | 限流资源 |
99
+ | `power` | 体力/能量 | 通用限流资源 |
100
+ | `alliance_point` | 联盟积分 | 公会货币 |
101
+ | `honor` | 荣誉 | 竞技货币 |
102
+ | `star_point` | 星芒 | 赛季货币 |
103
+
104
+ ### 货币相关事件
105
+
106
+ | 事件名 | 显示名 | 使用场景 |
107
+ |---|---|---|
108
+ | `token_get` | 获得货币 | 任何获得虚拟货币的场景 |
109
+ | `token_consume` | 消耗货币 | 任何消耗虚拟货币的场景 |
110
+
111
+ ### 货币事件属性
112
+
113
+ ```json
114
+ // token_get / token_consume 通用属性
115
+ {
116
+ "token_type": "diamond", // 货币类型(枚举见上)
117
+ "token_amount": 100, // 本次变动数量
118
+ "token_balance": 5000, // 变动后余额
119
+ "source": "关卡奖励", // 来源(仅 token_get)
120
+ "consume_type": "抽卡" // 消耗用途(仅 token_consume)
121
+ }
122
+ ```
123
+
124
+ ---
125
+
126
+ ## 五、事件 platform 判定规则
127
+
128
+ > **使用场景**:注入标准事件(一~四章)之外的自定义事件时,按本表判定 platform;或在 Phase 1.3 Step 3 注入前用于校验注入事件的 platform 是否合理。
129
+
130
+ | 事件类型 | platform |
131
+ |---|---|
132
+ | 用户 UI 交互(点击/浏览/打开页面) | `client` |
133
+ | 客户端状态变化(关卡开始/结束) | `client` |
134
+ | 资源/货币变动(获取/消耗) | `server` |
135
+ | 支付相关(支付/充值) | `server` |
136
+ | 业务数据落库(订单/任务完成/成就解锁) | `server` |
137
+ | 需要服务端验证(防刷/校验) | `server` |
138
+ | 两端均需(登录/登出) | `both` |
139
+ | SDK 自动采集事件 | `client` |
140
+
141
+ ---
142
+
143
+ ## 六、广告场景详细配置
144
+
145
+ ### 广告类型枚举
146
+
147
+ | ad_type | 显示名 |
148
+ |---|---|
149
+ | `rewarded` | 激励视频 |
150
+ | `interstitial` | 插屏广告 |
151
+ | `banner` | 横幅广告 |
152
+ | `splash` | 开屏广告 |
153
+ | `native` | 原生广告 |
154
+
155
+ ### IAA 模式自动注入事件
156
+
157
+ ```json
158
+ [
159
+ {
160
+ "event_name": "ad_show",
161
+ "display_name": "广告展示",
162
+ "platform": "client",
163
+ "event_tag": "广告",
164
+ "prop_names": ["ad_type", "ad_placement", "ad_network", "is_filled", "ecpm"],
165
+ "source": "business_dimension"
166
+ },
167
+ {
168
+ "event_name": "ad_click",
169
+ "display_name": "广告点击",
170
+ "platform": "client",
171
+ "event_tag": "广告",
172
+ "prop_names": ["ad_type", "ad_placement", "ad_network"],
173
+ "source": "business_dimension"
174
+ },
175
+ {
176
+ "event_name": "ad_reward_get",
177
+ "display_name": "激励广告奖励领取",
178
+ "platform": "client",
179
+ "event_tag": "广告",
180
+ "prop_names": ["ad_type", "ad_placement", "reward_type", "reward_amount"],
181
+ "source": "business_dimension"
182
+ }
183
+ ]
184
+ ```
185
+
186
+ ---
187
+
188
+ ## 七、用户属性补充建议(按收入模型)
189
+
190
+ | 收入模型 | 建议添加的用户属性 |
191
+ |---|---|
192
+ | IAA | `total_ad_watch_count`(累计看广告次数)、`total_ad_revenue`(累计广告收入,单位:美分) |
193
+ | IAP | `total_pay_amount`(累计付费金额)、`first_pay_time`(首次付费时间)、`last_pay_time`(最近付费时间) |
194
+ | `subscription` | `subscription_status`(订阅状态)、`subscription_plan`(订阅计划)、`subscription_expire_time`(订阅到期时间) |
195
+ | `mixed` | 以上都要 |
196
+
197
+ ---
198
+
199
+ ## 八、品类专用事件模块
200
+
201
+ > 根据应用类型/游戏品类,自动注入对应模块的事件组。
202
+ > 品类由 Phase 0 的 `meta.scenario` 或用户描述推断。
203
+
204
+ ### 8.1 游戏类 — 通用基础模块(所有游戏必选)
205
+
206
+ **用户生命周期**:
207
+
208
+ | 事件名 | 显示名 | platform | 必带属性 |
209
+ |---|---|---|---|
210
+ | `new_device` | 设备激活 | client | `channel` |
211
+ | `register` | 用户注册 | server | `register_type` |
212
+ | `login` | 用户登录 | both | `account_id` |
213
+ | `logout` | 用户登出 | both | `session_duration` |
214
+
215
+ **成长模块**:
216
+
217
+ | 事件名 | 显示名 | platform | 必带属性 |
218
+ |---|---|---|---|
219
+ | `create_role` | 创建角色 | server | `role_id`、`role_name`、`server_id` |
220
+ | `guide_complete` | 完成新手引导 | client | `guide_id`、`guide_step` |
221
+ | `level_up` | 升级 | server | `level`、`level_before` |
222
+ | `vip_levelup` | VIP升级 | server | `vip_level` |
223
+
224
+ ### 8.2 游戏类 — 按品类
225
+
226
+ #### 8.2.1 卡牌/RPG/放置/Roguelike
227
+
228
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
229
+ |---|---|---|---|---|
230
+ | 战斗 | `battle_start` | 战斗开始 | client | `battle_type`、`hero_info` |
231
+ | 战斗 | `battle_end` | 战斗结束 | server | `battle_type`、`battle_result`、`hero_info` |
232
+ | 战斗 | `mopping_up` | 扫荡 | server | `stage_id`、`mop_count` |
233
+ | 养成 | `hero_get` | 获得英雄 | server | `hero_id`、`hero_star`、`source` |
234
+ | 养成 | `hero_levelup` | 英雄升级 | server | `hero_id`、`level` |
235
+ | 抽卡 | `gacha_draw` | 抽卡 | server | `pool_type`、`draw_count`、`cost_amount` |
236
+ | 资源 | `token_get` | 获得货币 | server | `token_type`、`token_amount`、`source` |
237
+ | 资源 | `token_consume` | 消耗货币 | server | `token_type`、`token_amount`、`consume_type` |
238
+ | 任务 | `task_complete` | 完成任务 | server | `task_id`、`reward_amount` |
239
+ | 社交 | `guild_join` | 加入公会 | server | `guild_id` |
240
+
241
+ #### 8.2.2 SLG 策略类
242
+
243
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
244
+ |---|---|---|---|---|
245
+ | 建筑 | `building_build` | 建造建筑 | server | `building_type`、`level` |
246
+ | 建筑 | `building_upgrade` | 升级建筑 | server | `building_id`、`level` |
247
+ | 资源 | `resource_gather_start` | 开始采集 | client | `resource_type` |
248
+ | 资源 | `resource_gather_finish` | 完成采集 | server | `resource_type`、`amount` |
249
+ | 战斗 | `battle_start` | 战斗开始 | client | `battle_type`、`troop_info` |
250
+ | 战斗 | `battle_result` | 战斗结果 | server | `battle_type`、`result`、`damage` |
251
+ | 联盟 | `alliance_create` | 创建联盟 | server | `alliance_id`、`alliance_name` |
252
+ | 联盟 | `alliance_join` | 加入联盟 | server | `alliance_id` |
253
+
254
+ #### 8.2.3 MMO
255
+
256
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
257
+ |---|---|---|---|---|
258
+ | 副本 | `dungeon_enter` | 进入副本 | client | `dungeon_type`、`difficulty` |
259
+ | 副本 | `dungeon_complete` | 完成副本 | server | `dungeon_type`、`result` |
260
+ | 装备 | `equip_forge` | 装备打造 | server | `equip_type`、`cost` |
261
+ | 交易 | `trade_sell` | 挂售物品 | server | `item_id`、`price` |
262
+ | 交易 | `trade_buy` | 购买物品 | server | `item_id`、`price` |
263
+
264
+ #### 8.2.4 休闲/超休闲/Slots
265
+
266
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
267
+ |---|---|---|---|---|
268
+ | 关卡 | `level_start` | 关卡开始 | client | `level_id` |
269
+ | 关卡 | `level_win` | 关卡胜利 | server | `level_id`、`score` |
270
+ | 关卡 | `level_fail` | 关卡失败 | server | `level_id`、`fail_reason` |
271
+ | 关卡 | `level_restart` | 重新开始 | client | `level_id` |
272
+ | 复活 | `revive_show` | 复活弹窗展示 | client | `level_id` |
273
+ | 复活 | `revive_use` | 使用复活 | client | `ad_type`、`level_id` |
274
+ | Slots | `spin_start` | 老虎机开始 | client | `bet_amount` |
275
+ | Slots | `spin_result` | 老虎机结果 | server | `win_amount`、`is_big_win` |
276
+
277
+ #### 8.2.5 短剧/内容类产品
278
+
279
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
280
+ |---|---|---|---|---|
281
+ | 内容播放 | `playlet_start` | 短剧开始 | client | `playlet_id`、`episode` |
282
+ | 内容播放 | `playlet_end` | 短剧结束 | server | `playlet_id`、`duration` |
283
+ | 广告 | `reward_ad_show` | 激励广告展示 | client | `ad_placement`、`ecpm` |
284
+ | 奖励 | `coin_get` | 获得代币 | server | `coin_amount`、`source` |
285
+ | 抽奖 | `lottery_draw` | 抽奖 | server | `lottery_type`、`prize` |
286
+ | 提现 | `withdraw_apply` | 申请提现 | server | `amount` |
287
+
288
+ ### 8.3 非游戏类
289
+
290
+ #### 8.3.1 电商
291
+
292
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
293
+ |---|---|---|---|---|
294
+ | 发现 | `home_feed_expose` | 首页推荐曝光 | client | `feed_type` |
295
+ | 发现 | `search_submit` | 搜索提交 | client | `keyword` |
296
+ | 商品 | `commodity_detail` | 商品详情页 | client | `commodity_id`、`price` |
297
+ | 商品 | `add_cart` | 加入购物车 | client | `commodity_id`、`quantity` |
298
+ | 订单 | `submit_order` | 提交订单 | server | `order_id`、`total_amount` |
299
+ | 订单 | `pay_order` | 支付订单 | server | `order_id`、`pay_amount` |
300
+ | 售后 | `apply_return` | 申请退货 | server | `order_id`、`reason` |
301
+
302
+ #### 8.3.2 在线教育
303
+
304
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
305
+ |---|---|---|---|---|
306
+ | 引导 | `consent_privacy_accept` | 隐私授权 | client | - |
307
+ | 课程 | `course_detail_view` | 课程详情页 | client | `course_id` |
308
+ | 课程 | `course_start` | 开始学习 | client | `course_id`、`lesson_id` |
309
+ | 课程 | `video_play_complete` | 视频播放完成 | server | `course_id`、`duration` |
310
+ | 报名 | `enroll_course_free` | 免费报名 | server | `course_id` |
311
+ | 报名 | `payment_success` | 支付成功 | server | `course_id`、`pay_amount` |
312
+ | 测验 | `quiz_submit` | 提交测验 | server | `quiz_id`、`score` |
313
+
314
+ #### 8.3.3 社交类
315
+
316
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
317
+ |---|---|---|---|---|
318
+ | 内容 | `post_publish` | 发布动态 | server | `content_type` |
319
+ | 互动 | `post_like` | 点赞 | client | `post_id` |
320
+ | 互动 | `post_comment` | 评论 | client | `post_id`、`comment` |
321
+ | 关系 | `follow` | 关注 | client | `target_user_id` |
322
+ | 直播 | `live_gift_send` | 送礼物 | server | `gift_type`、`gift_count` |
323
+
324
+ #### 8.3.4 工具类(剪辑/视频)
325
+
326
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
327
+ |---|---|---|---|---|
328
+ | 创作 | `project_create` | 创建项目 | client | `project_type` |
329
+ | 创作 | `use_function` | 使用功能 | client | `function_name`、`is_first_use` |
330
+ | 素材 | `watch_video` | 观看视频 | client | `video_id`、`duration` |
331
+ | 导出 | `project_export` | 导出项目 | client | `export_format` |
332
+
333
+ ---
334
+
335
+ ## 九、对象与对象组使用规范
336
+
337
+ ### 核心区分
338
+
339
+ | 类型 | JSON 结构 | 适用场景 | 关系 |
340
+ |---|---|---|---|
341
+ | `object`(对象) | `{"key":"val"}` | 当前装备、出战英雄、地址信息 | 一对一 |
342
+ | `array_row`(对象组) | `[{"key":"val"}]` | 背包物品、阵容列表、排行榜 | 一对多 |
343
+
344
+ **简单判断:数据是 `{...}` 用 `object`,是 `[{...}]` 用 `array_row`。**
345
+
346
+ ### 对象(object)使用场景
347
+
348
+ 适用于**单个复合实体**,即一个属性里包含多个子属性,但实体本身只有一个:
349
+
350
+ | 属性名 | 适用场景 | 典型子属性 |
351
+ |---|---|---|
352
+ | `equip_info` | 当前装备详情 | `equip_id`、`equip_name`、`equip_level`、`equip_quality` |
353
+ | `hero_info` | 当前出战英雄(只有一个时) | `hero_id`、`hero_name`、`hero_level` |
354
+ | `address_info` | 收货地址 | `province`、`city`、`district`、`detail` |
355
+
356
+ ### 对象书写格式
357
+
358
+ 在埋点方案中:
359
+ 1. **父属性行**:属性名填 `xxx_info`,类型填 `对象`
360
+ 2. **子属性行**:属性名填 `xxx_info.child_name`,类型填子属性实际类型
361
+ 3. 必须提供取值样例:`{"item_id":"001","item_num":5}`
362
+
363
+ ### 对象组(array_row)使用场景
364
+
365
+ 适用于**多个同类复合实体**,须满足三条件:
366
+
367
+ 1. 一个事件属性中有多个同类实体需记录(如多艘舰船、多件物品)
368
+ 2. 每个实体需记录 ≥2 个属性(否则用 `array_string` 列表即可)
369
+ 3. 实体数量不固定(固定为 1 个时用 `object`)
370
+
371
+ | 对象组名 | 适用场景 | 典型子属性 |
372
+ |---|---|---|
373
+ | `hero_info` / `ship_info` / `fleet_info` | 出战阵容、角色明细 | `id`、`level`、`star`、`power` |
374
+ | `get_item_info` | 获得物品明细 | `item_id`、`item_num` |
375
+ | `cost_item_info` | 消耗物品明细 | `item_id`、`item_num` |
376
+ | `rank_info` | 排行榜信息 | `id`、`rank`、`score` |
377
+ | `hero_info` | 战斗阵容 | `hero_id`、`hero_level`、`troop_type` |
378
+
379
+ ### 对象组书写格式
380
+
381
+ 在埋点方案中:
382
+ 1. **父属性行**:属性名填 `xxx_info`,类型填 `对象组`
383
+ 2. **子属性行**:属性名填 `xxx_info.child_name`,类型填子属性实际类型
384
+ 3. 必须提供取值样例:`[{"item_id":"001","item_num":5}]`
385
+
386
+ ---
387
+
388
+ ## 十、属性类型规范
389
+
390
+ | 类型 | JSON 类型 | 取值样例 | 适用场景 |
391
+ |---|---|---|---|
392
+ | 文本 | String | `"上海"` | 名称、渠道、ID(非纯数值时) |
393
+ | 数值 | Number | `123`、`1.23` | 金额、等级、时长、纯数值 ID |
394
+ | 布尔 | Boolean | `true`、`false` | 是否首次、是否付费 |
395
+ | 时间 | String | `"2024-01-01 00:00:00"` | 注册时间、首充时间 |
396
+ | 列表 | Array | `["a","1"]` | 标签列表、技能列表 |
397
+ | 对象 | Object | `{"item_name":"碎片","item_num":5}` | 单个复合实体 |
398
+ | 对象组 | Array(Object) | `[{"id":"001","num":5}]` | 多个同类复合实体 |
399
+
400
+ **ID 类属性类型选择**:
401
+ - ID 先后关系与数值大小正相关(如关卡 ID 1,2,3...)→ 数值
402
+ - ID 含非数值字符或无序 → 文本
403
+ - 不确定时 → 文本(更安全)
404
+
405
+ ---
406
+
407
+ ## 十一、模板事件增删规则
408
+
409
+ ### 保留条件(不可删除)
410
+
411
+ - SDK 预置事件(`ta_app_*`)
412
+ - 充值流程事件(`init_order`、`payment`、`payment_fail`)
413
+ - 资源经济事件(`token_get`、`token_consume`)
414
+
415
+ ### 新增条件(满足任一即必须新增)
416
+
417
+ 1. **功能入口原则**:产品主界面有独立入口的功能模块,模板未覆盖 → 必须新增
418
+ 2. **收入模型原则**:收入模型要求的事件模板未覆盖 → 必须新增(见第一章)
419
+ 3. **高频行为原则**:产品研究发现的高频用户行为模板未覆盖 → 建议新增
420
+
421
+ ### 新增事件最低要求
422
+
423
+ - 必须有 ≥2 个自定义属性
424
+ - 必须标注事件标签(模块归属)和采集端
425
+ - 命名符合 snake_case
@@ -0,0 +1,100 @@
1
+ # AE Backend API (internal reference)
2
+
3
+ > **Terminology**: 认证 = authentication | Token = bearer token from localStorage `ACCESS_TOKEN` | 端点 = endpoint | 抓包 = traffic capture | 埋点方案 = tracking plan | 上传 = upload | 删除 = delete | 查询 = query/fetch
4
+
5
+ > This file is the implementation basis for `src/client.ts`, maintained for internal contributors.
6
+ > **Skill body should not reference this document** — skill users interact via CLI commands and do not need to know underlying endpoints.
7
+ > xlsx format contract is in `xlsx-schema.md`, not here.
8
+
9
+ Capture environment: `https://web-ta-demo.thinkingdata.cn`. If endpoints change, re-run the
10
+ chrome-devtools capture flow from `docs/superpowers/plans/2026-04-15-ae-tracking-skill.md` Task 3.
11
+
12
+ ## 认证
13
+
14
+ ### Token
15
+ - localStorage key:`ACCESS_TOKEN`
16
+ - 存储形态:**JSON 编码字符串**(带双引号),使用前须 `replace(/^["']|["']$/g, '')`
17
+
18
+ ### 两种传 token 方式(按端点区分)
19
+ - **GET/JSON 类接口**:Header `authorization: bearer <token>`(全小写)
20
+ - **Excel 上传接口**:**form field `access_token`**,裸 UUID,**不用** Authorization header
21
+
22
+ ## 响应统一包装
23
+
24
+ ```json
25
+ { "return_code": 0, "return_message": "success", "showStackMessage": false, "data": ... }
26
+ ```
27
+ - `return_code === 0` 为成功;非 0 抛错,取 `return_message`
28
+ - 某些端点(如 `excel-save` / 空项目 `query`)成功时无 `data`
29
+
30
+ ## 端点
31
+
32
+ ### 1. GET `/v1/ta/bury/manage/program/query`
33
+
34
+ 获取项目唯一的埋点方案。
35
+
36
+ - Query:`projectId` 必填 number
37
+ - Header:`authorization: bearer <token>`
38
+ - Response `data` 结构(事件池 / 事件属性池 / 公共属性 / 用户属性):
39
+
40
+ ```jsonc
41
+ {
42
+ "projectId": 1603,
43
+ "events": [
44
+ { "eventName": "...", "displayName": "...", "eventDesc": "...", "eventTag": "...",
45
+ "props": ["prop_name", "parent.child"], "propInfosOnEvent": [{"name":"...","hasReported":false}] }
46
+ ],
47
+ "eventProps": [ { "name": "...", "displayName": "...", "type": "string", "desc": "..." } ],
48
+ "commonEventProps": [ /* 同 eventProps */ ],
49
+ "userProps": [
50
+ { "name": "...", "displayName": "...", "type": "datetime",
51
+ "propTag": "时间类", "updateType": "user_setOnce" }
52
+ ]
53
+ }
54
+ ```
55
+
56
+ 空项目:`data` 不存在,直接 `{ return_code: 0, return_message: "success" }`。
57
+
58
+ ### 2. GET `/v1/ta/bury/manage/program/delete?projectId=<id>`
59
+
60
+ 一次清空整个项目的方案(事件 / 事件属性 / 公共属性 / 用户属性)。
61
+
62
+ ### 3. POST `/v1/ta/bury/manage/program/excel-save`
63
+
64
+ 批量上传 xlsx。
65
+
66
+ - Content-Type:`multipart/form-data`
67
+ - Form fields(全必填):
68
+ - `file` — xlsx 二进制
69
+ - `projectId` — 文本
70
+ - `access_token` — 文本,裸 UUID
71
+ - **无** Authorization header
72
+ - Response:`{ return_code: 0, return_message: "success" }`(无 data)
73
+
74
+ **合并语义**:对事件走 **merge-by-name**(同名不覆盖、新名新增)。若要完全替换,
75
+ 必须先调 `delete` 端点清空再上传。
76
+
77
+ ## 类型枚举(AE 后端接受值)
78
+
79
+ ### PropType(事件属性 / 公共属性 / 用户属性 `type` 字段)
80
+ | canonical | 说明 |
81
+ |---|---|
82
+ | `string` | 文本 |
83
+ | `number` | 数值 |
84
+ | `bool` | 布尔 |
85
+ | `datetime` | 日期时间 |
86
+ | `object` | 对象(单对象,含子属性) |
87
+ | `array_row` | 对象数组(允许 `父名.子名` 嵌套子属性) |
88
+ | `array_string` | 字符串数组 |
89
+
90
+ ### UpdateType(用户属性 `updateType` 字段)
91
+ | canonical | 语义 |
92
+ |---|---|
93
+ | `user_set` | 覆盖赋值 |
94
+ | `user_setOnce` | 仅首次赋值 |
95
+ | `user_add` | 数值累加 |
96
+
97
+ ## v2(暂未实现)
98
+
99
+ - UI「逐个添加」通向单事件 CRUD 接口(`POST /v1/ta/bury/manage/event/*` 族),v1 走 excel-save 统一入口
100
+ - 列项目、校验错误响应等见 plan 文档的"未抓端点"清单
@@ -0,0 +1,152 @@
1
+ # AE Tracking Plan xlsx Format Contract (internal reference)
2
+
3
+ > **Terminology**: 格式契约 = format contract | 必填列 = required column | 合并单元格 = merged cells | 表头 = header | Sheet 名 = sheet name | 数据静默不落库 = data silently discarded | 采集端 = platform/collection side | 事件数据 = event data | 公共事件属性 = super property | 用户数据 = user data | 用户ID体系 = ID mapping rule
4
+
5
+ > `src/xlsx/{read,write}.ts` implementation basis. **Skill does NOT read this document.**
6
+
7
+ 官方模板:`tracking-plan-template/TE官方模板_dataTrackSample.xlsx`(从 AE 后台
8
+ `/downloads/zh/dataTrackSample.xlsx` 下载)。所有字段规则以此模板为准,行业模板
9
+ (电商/卡牌/社交/阅读)做读取兼容,不做 writer 适配。
10
+
11
+ ---
12
+
13
+ ## 写 xlsx 必须遵守的 3 条硬规则(端到端验证过)
14
+
15
+ 以下任一违反 → `excel-save` 返回 `return_code=0 success`,但**数据静默不落库**:
16
+
17
+ ### 规则 1. 必填列 header 带 `(必填)` 后缀
18
+ - `事件名(必填)`、`属性名(必填)`、`属性类型(必填)`
19
+ - 没有 `(必填)`,后端会丢弃整张 sheet 的数据
20
+
21
+ ### 规则 2. `#事件数据` 的事件字段列(A-D)跨多行必须**合并单元格**
22
+ - 同一事件有多个属性时,A-D 列在 row N 到 row M 之间用 `mergeCells('A{N}:A{M}')` 合并
23
+ - 否则后端按行级字符串匹配,报错 `事件名重复`
24
+ - 官方模板就是合并单元格,SheetJS 读出来 row2+ 的 event 字段为 `null`(这是合并单元格的副作用)
25
+
26
+ ### 规则 3. 工作簿必须存在 `#用户ID体系` sheet
27
+ - 即使只写一行 header 也行(内容可以全空)
28
+ - 缺失整张 sheet → 后端丢弃整份方案
29
+
30
+ ---
31
+
32
+ ## Sheet 清单
33
+
34
+ 工作簿的 `#` 前缀 sheet 是数据 sheet,AE 后端只读这几张;其它(`接入必知`、
35
+ `数据类型设计原则` 等)是说明文档,**写 xlsx 时不需要生成**。
36
+
37
+ | Sheet | 含义 | 写 xlsx 策略 |
38
+ |---|---|---|
39
+ | `#事件数据` | 事件 × 属性展开(见规则 2) | 生成并合并 A-D 列 |
40
+ | `#公共事件属性` | 公共属性定义 | 逐行生成 |
41
+ | `#用户数据` | 用户属性定义(含更新方式) | 逐行生成 |
42
+ | `#用户ID体系` | 系统预置属性说明 | **仅写 header 占位**(见规则 3) |
43
+
44
+ ### `#事件数据` 列定义(A→I)
45
+
46
+ | 列 | 列名 | 必填 | 对应字段 |
47
+ |---|---|---|---|
48
+ | A | `事件名(必填)` | ✅ | `eventName` / `Event.event_name` |
49
+ | B | `事件显示名` | 否 | `displayName` |
50
+ | C | `事件说明` | 否 | `eventDesc` |
51
+ | D | `事件标签` | 否 | `eventTag` |
52
+ | E | `采集端` | 否 | `platform`(见下) |
53
+ | F | `属性名(必填)` | ✅ | 属性 `name`(允许 `父.子`) |
54
+ | G | `属性显示名` | 否 | 属性 `displayName` |
55
+ | H | `属性类型(必填)` | ✅ | 类型中文值,见类型表 |
56
+ | I | `属性说明` | 否 | 属性 `desc` |
57
+
58
+ **采集端列(E)的值**:
59
+ | `platform` 值 | xlsx 写入值 |
60
+ |---|---|
61
+ | `client` | `client` |
62
+ | `server` | `server` |
63
+ | `both` | `client,server` |
64
+ | `undefined` | (留空) |
65
+
66
+ **行语义**:一行一对 `(event, property)`。同一事件多属性时,A-E 按事件字段填写,F-I 按属性变化,
67
+ A-E 在 writer 里用 `mergeCells` 合并。
68
+
69
+ **property-less 事件**(罕见):仍写一行,A-D 填事件字段,E-H 全空。AE 接受,
70
+ 但不推荐——建议至少给一个有语义的属性(例如 `user_logout` 加 `session_duration_ms`)。
71
+
72
+ ### `#公共事件属性` 列定义(A→D)
73
+
74
+ | 列 | 列名 | 必填 |
75
+ |---|---|---|
76
+ | A | `属性名(必填)` | ✅ |
77
+ | B | `属性显示名` | 否 |
78
+ | C | `属性类型(必填)` | ✅ |
79
+ | D | `属性说明` | 否 |
80
+
81
+ ### `#用户数据` 列定义(A→F)
82
+
83
+ | 列 | 列名 | 必填 |
84
+ |---|---|---|
85
+ | A | `属性名(必填)` | ✅ |
86
+ | B | `属性显示名` | 否 |
87
+ | C | `属性类型(必填)` | ✅ |
88
+ | D | `更新方式` | 否(默认视为 `user_set`) |
89
+ | E | `属性说明` | 否 |
90
+ | F | `属性标签` | 否 |
91
+
92
+ **D 列直接填英文 canonical 值**:`user_set` / `user_setOnce` / `user_add`,不翻译中文。
93
+
94
+ ---
95
+
96
+ ## 类型枚举
97
+
98
+ ### PropType(xlsx 中文值 ↔ canonical)
99
+
100
+ | canonical(draft.json) | xlsx 写入值 | xlsx 读取可接受值(含行业 alias) |
101
+ |---|---|---|
102
+ | `string` | `文本` | `文本` / `字符串` |
103
+ | `number` | `数值` | `数值` |
104
+ | `bool` | `布尔` | `布尔` |
105
+ | `datetime` | `时间` | `时间` |
106
+ | `object` | `对象` | `对象` |
107
+ | `array_row` | `对象组` | `对象组` |
108
+ | `array_string` | `列表` | `列表` |
109
+
110
+ Writer 方向统一用第二列(官方中文正式名),不输出 alias。
111
+ Reader 方向对 alias / 未知值做 fallback 并打 stderr warning。
112
+
113
+ ### UpdateType(用户属性 `更新方式`)
114
+
115
+ | canonical | 语义 |
116
+ |---|---|
117
+ | `user_set` | 覆盖赋值(默认) |
118
+ | `user_setOnce` | 仅首次赋值 |
119
+ | `user_add` | 数值累加 |
120
+
121
+ xlsx 里填写英文 canonical 值本身,不翻译。
122
+
123
+ 官方文档提及 `user_append`(字符串数组追加),样本中无实例,暂不实现。
124
+
125
+ ---
126
+
127
+ ## Reader 兼容规则(从 xlsx → Draft)
128
+
129
+ - `.claude` 之外工作簿里只读 `#` 前缀 sheet
130
+ - header 规范化:strip `(必填)` / `(必填)` 后缀,把 `名称` 归一化为 `名`
131
+ - `#事件数据` 合并单元格读出来是 null → 用"继承上一行 event_name"策略还原
132
+ - 属性列空、类型列空、prose / instruction 行 → skip
133
+ - 行业模板额外前置列(`事件模块` / `属性分类`)通过 header 名查找,忽略不识别的列
134
+
135
+ ### 行业模板已知差异(只读取,不写入)
136
+
137
+ | 模板 | 额外列 | 类型 alias | 其它 |
138
+ |---|---|---|---|
139
+ | 卡牌游戏 | `事件模块` / `属性分类` | `字符串` | 部分类型列空 |
140
+ | 电商 | 部分 header 为空字符串(WPS 生成副作用) | — | 按列位置推断 |
141
+ | 社交聊天 | `事件模块` / `属性分类` | `数量` | `更新方式` 含多行注释 |
142
+ | 阅读类 | `事件模块` / `属性分类` | `字符串` | 同上 |
143
+
144
+ 写 xlsx 时**不**生成这些行业扩展列,统一输出官方 schema。
145
+
146
+ ---
147
+
148
+ ## 开放问题(记一下,不影响 v1)
149
+
150
+ 1. ~~AE 后端是否区分 `object`(单对象)与 `array_row`(对象数组)~~ —— 已确认:AE 支持,wiki/te-docs/raw/preparations-before-data-ingestion.md 明确区分两种类型
151
+ 2. `user_append` updateType 是否真的可用 —— 待构造测试
152
+ 3. 严格错误码 —— 所有校验失败目前都是 `return_code=0 success` + 静默丢弃,无法从响应区分成功/失败;UI 上传才显示错误文案