@thinkingai/ae-cli 1.0.30 → 6.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{auth-U25QJU5D.js → auth-DYC2BGLM.js} +2 -3
- package/dist/{auth-H3GJD55A.js → auth-GHBMJ5ZR.js} +33 -17
- package/dist/{chunk-CLJF7MQA.js → chunk-2DUEAXV3.js} +1 -1
- package/dist/{chunk-SF3KTPIC.js → chunk-5OC7CYCG.js} +2 -2
- package/dist/{chunk-SRJIAOBN.js → chunk-6W4QOZAL.js} +10 -0
- package/dist/{chunk-I42JGQ2J.js → chunk-BJX3GXWC.js} +3 -5
- package/dist/{chunk-GLNZSDKO.js → chunk-DMMEPCST.js} +4 -6
- package/dist/{chunk-VJFUB3H3.js → chunk-I5CRVM2S.js} +3 -3
- package/dist/{chunk-GSJGPNKK.js → chunk-PN3OS34E.js} +1 -1
- package/dist/{chunk-JM34JPCO.js → chunk-RSHMZ3LG.js} +178 -4
- package/dist/{client-IN42F223.js → client-2UJ63MVQ.js} +3 -4
- package/dist/{config-64G36TJL.js → config-NCUGK6NS.js} +3 -3
- package/dist/index.js +2526 -28
- package/dist/{model-VZCYNIOG.js → model-SJSOZTRS.js} +2 -2
- package/dist/{raw-WJIWC6YP.js → raw-7NVWSVJP.js} +5 -7
- package/dist/{sync-NVASAISS.js → sync-GRVO4K3U.js} +3 -3
- package/dist/{te-agent-YV4DXEXK.js → te-agent-KZRIEN4N.js} +468 -46
- package/dist/{te-analysis-CB3DA5I5.js → te-analysis-VAR4KUOK.js} +144 -29
- package/dist/{te-audience-W7SCQFC7.js → te-audience-KMKYI2YJ.js} +22 -15
- package/dist/{te-common-FBXVWBSI.js → te-common-WNCZB7R7.js} +4 -5
- package/dist/{te-community-LNVDZSGW.js → te-community-JEEFXPB3.js} +10 -11
- package/dist/{te-dataops-IPCSSWYH.js → te-dataops-GD3XBYCS.js} +11 -12
- package/dist/{te-engage-KARARMIR.js → te-engage-4XHCTS6I.js} +4 -5
- package/dist/{te-kb-2Z2CARN3.js → te-kb-B62KFP2A.js} +96 -8
- package/dist/{te-meta-PDKLMWXN.js → te-meta-EPZGQN56.js} +9 -10
- package/dist/{te-team-SW5B7DHO.js → te-team-YY24VORI.js} +6 -7
- 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 +65 -25
- 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-U6TKB3IV.js +0 -171
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: php_sdk_installation
|
|
3
|
+
name: "PHP"
|
|
4
|
+
wikiToken: G0BrwOPbXiAtIikbcv3cMEyonTf
|
|
5
|
+
parentWikiToken: IKVPwn4NfiIhijk5EcAcMf6pn7e
|
|
6
|
+
updateTime: 1774252016000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=php_sdk_installation
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
::: tip
|
|
11
|
+
Before you begin, please read [<text color="purple" underline="true">Preparation before Data Ingestion</text>](https://thinkingdata.feishu.cn/wiki/OhD8we9iai6Xk5kM1QNc8ITRnQe).
|
|
12
|
+
The minimum compatible PHP version is 5.5
|
|
13
|
+
:::
|
|
14
|
+
**Latest version**: v3.1.1
|
|
15
|
+
**Update time**: 2024-07-24
|
|
16
|
+
**Resource download: **[**Source Code**](https%3A%2F%2Fgithub.com%2FThinkingDataAnalytics%2Fphp-sdk)
|
|
17
|
+
::: warning Notice
|
|
18
|
+
Current documentation applies to v3.0.0 and later. For historical versions, see [Data Ingestion Guide - PHP (V2)](https%3A%2F%2Fdocs.thinkingdata.cn%2Fta-manual%2Fv4.1%2Fen%2Finstallation%2Finstallation_menu%2Fserver_sdk%2Fphp_sdk_installation%2Fphp_sdk_installation.html)
|
|
19
|
+
:::
|
|
20
|
+
## **SDK**** Integration**
|
|
21
|
+
1.1 With the Composer integration SDK, place the following dependency information in the `composer.json` file (recommended):
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"require": {
|
|
25
|
+
"thinkinggame/ta-php-sdk": "v3.1.1"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
1.2 You can also download the SDK [source code](https%3A%2F%2Fgithub.com%2FThinkingDataAnalytics%2Fphp-sdk) from GitHub and integrate it into your project. Just put `TaPhpSdk.php` in the directory of your project.
|
|
31
|
+
1.3 Logbus Integration
|
|
32
|
+
We recommend using SDK+LogBus to track and report data on server. You can refer to the following documents to complete the installation of Logbus:[ LogBus User Guide](https://thinkingdata.feishu.cn/wiki/SlE6wOEK3isQvukzEbnc5V0inNa)
|
|
33
|
+
## **Initialization**
|
|
34
|
+
The following is the sample code for SDK initialization:
|
|
35
|
+
```php
|
|
36
|
+
require_once "vendor/autoload.php";
|
|
37
|
+
|
|
38
|
+
use Exception;
|
|
39
|
+
use ThinkingData\TDLog;
|
|
40
|
+
use ThinkingData\TDAnalytics;
|
|
41
|
+
use ThinkingData\TDFileConsumer;
|
|
42
|
+
use ThinkingData\TDDebugConsumer;
|
|
43
|
+
use ThinkingData\TDBatchConsumer;
|
|
44
|
+
use ThinkingData\ThinkingDataException;
|
|
45
|
+
|
|
46
|
+
TDLog::$enable = true;
|
|
47
|
+
|
|
48
|
+
$consumer = new TDFileConsumer("LOG_DIRECTORY", 200, true, "LOG_FILE_PREFIX");
|
|
49
|
+
$teSDK = new TDAnalytics($consumer, true);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`LOG_DIRECTORY` is the path of the folder written to the local directory. You need to set the `LogBus` listening folder address to this address in order to use `LogBus` for data listening upload.
|
|
53
|
+
`LOG_FILE_PREFIX` Indicates the prefix of the log file name.
|
|
54
|
+
## **Common Features**
|
|
55
|
+
In order to ensure that the distinct ID and account ID can be bound smoothly, if your game uses the distinct ID and account ID, we strongly recommend that you upload these two IDs at the same time, otherwise the account will not match, causing users to double count. For specific ID binding rules, please refer to the chapter on [User Identification Rules](https://thinkingdata.feishu.cn/wiki/Pov9wECdsi2QQsk4NN9cEPsvnyc).
|
|
56
|
+
### 3.1 **Sending Events**
|
|
57
|
+
You can call `track` to upload events. It is suggested that you set event properties based on the data tracking plan drafted previously. Here is an example of a user buying an item:
|
|
58
|
+
```php
|
|
59
|
+
$account_id = 2121;
|
|
60
|
+
$distinct_id = 'SJ232d233243';
|
|
61
|
+
$properties = array();
|
|
62
|
+
$properties['age'] = 20;
|
|
63
|
+
$properties['Product_Name'] = 'c';
|
|
64
|
+
$properties['update_time'] = date('Y-m-d H:i:s', time());
|
|
65
|
+
$json = array();
|
|
66
|
+
$json['a'] = "a";
|
|
67
|
+
$json['b'] = "b";
|
|
68
|
+
$jsonArray = array();
|
|
69
|
+
$jsonArray[0] = $json;
|
|
70
|
+
$jsonArray[1] = $json;
|
|
71
|
+
$properties['json'] = $json;
|
|
72
|
+
$properties['jsonArray'] = $jsonArray;
|
|
73
|
+
|
|
74
|
+
try {
|
|
75
|
+
$teSDK->track($distinct_id, $account_id, "viewPage", $properties);
|
|
76
|
+
} catch (Exception $e) {
|
|
77
|
+
echo $e;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- Key is the name of the property and refers to the string type. It must start with a character, and contain numbers, characters (insensitive to case, and upper cases would be transformed into lower cases by TE) and underscores "_", with a maximum length of 50 characters.
|
|
82
|
+
- Value, the value of the property, supports string, numbers, Boolean, time, object, array object, and array
|
|
83
|
+
<quote-container>
|
|
84
|
+
**The requirements for event properties and user properties are the same as that for super properties**
|
|
85
|
+
</quote-container>
|
|
86
|
+
|
|
87
|
+
### 3.2 **User Properties**
|
|
88
|
+
You can set general user properties by calling `user_set` API. The original properties would be replaced by the properties uploaded via this API. If no user properties are set before, user properties will be newly created. The type of newly-created user properties must conform to that of the uploaded properties. User name setting is taken as the example here:
|
|
89
|
+
```php
|
|
90
|
+
$properties = array();
|
|
91
|
+
$properties['once_key'] = 'twice';
|
|
92
|
+
$properties['age'] = 10;
|
|
93
|
+
$properties['money'] = 300;
|
|
94
|
+
$properties['array1'] = ['str1', 'str2'];
|
|
95
|
+
try {
|
|
96
|
+
$teSDK->user_set('distinct_id', 'account_id', $properties);
|
|
97
|
+
} catch (Exception $e) {
|
|
98
|
+
//handle except
|
|
99
|
+
echo $e;
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 3.3 Reported data
|
|
104
|
+
When using `TDFileConsumer`, the captured events are converted to json strings and then added to the cache array. Data is written to disk only when the number of array elements exceeds the set capacity. The default capacity is 100.
|
|
105
|
+
You can call the `flush()` api to report data to the TE immediately under certain service scenarios. However, frequent calls to `flush()` can result in degraded service performance.
|
|
106
|
+
```php
|
|
107
|
+
$te->flush();
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 3.4 Close SDK
|
|
111
|
+
```php
|
|
112
|
+
try{
|
|
113
|
+
$te->close();
|
|
114
|
+
}catch (Exception $e){
|
|
115
|
+
echo $e;
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
<quote-container>
|
|
120
|
+
Close and exit the SDK. Please call this api before closing the server to avoid data loss in the cache
|
|
121
|
+
</quote-container>
|
|
122
|
+
|
|
123
|
+
## **Best Practice**
|
|
124
|
+
The following sample code covers all the above-mentioned operations. It is recommended that the codes be used in the following steps:
|
|
125
|
+
```php
|
|
126
|
+
require_once "vendor/autoload.php";
|
|
127
|
+
|
|
128
|
+
use Exception;
|
|
129
|
+
use ThinkingData\TDLog;
|
|
130
|
+
use ThinkingData\TDAnalytics;
|
|
131
|
+
use ThinkingData\TDFileConsumer;
|
|
132
|
+
use ThinkingData\TDDebugConsumer;
|
|
133
|
+
use ThinkingData\TDBatchConsumer;
|
|
134
|
+
use ThinkingData\ThinkingDataException;
|
|
135
|
+
|
|
136
|
+
TDLog::$enable = true;
|
|
137
|
+
|
|
138
|
+
$consumer = new TDFileConsumer("LOG_DIRECTORY", 200, true, "te");
|
|
139
|
+
$teSDK = new TDAnalytics($consumer, true);
|
|
140
|
+
|
|
141
|
+
$account_id = 2121;
|
|
142
|
+
$distinct_id = 'SJ232d233243';
|
|
143
|
+
$properties = array();
|
|
144
|
+
$properties['age'] = 20;
|
|
145
|
+
$properties['Product_Name'] = 'c';
|
|
146
|
+
$properties['update_time'] = date('Y-m-d H:i:s', time());
|
|
147
|
+
$json = array();
|
|
148
|
+
$json['a'] = "a";
|
|
149
|
+
$json['b'] = "b";
|
|
150
|
+
$jsonArray = array();
|
|
151
|
+
$jsonArray[0] = $json;
|
|
152
|
+
$jsonArray[1] = $json;
|
|
153
|
+
$properties['json'] = $json;
|
|
154
|
+
$properties['jsonArray'] = $jsonArray;
|
|
155
|
+
|
|
156
|
+
try {
|
|
157
|
+
$teSDK->track($distinct_id, $account_id, "viewPage", $properties);
|
|
158
|
+
} catch (Exception $e) {
|
|
159
|
+
echo $e;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
$properties = array();
|
|
163
|
+
$properties['once_key'] = 'twice';
|
|
164
|
+
$properties['age'] = 10;
|
|
165
|
+
$properties['money'] = 300;
|
|
166
|
+
$properties['array1'] = ['str1', 'str2'];
|
|
167
|
+
try {
|
|
168
|
+
$teSDK->user_set($distinct_id, $account_id, $properties);
|
|
169
|
+
} catch (Exception $e) {
|
|
170
|
+
//handle except
|
|
171
|
+
echo $e;
|
|
172
|
+
}
|
|
173
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: python_sdk_debug
|
|
3
|
+
name: "Debugging and Logging"
|
|
4
|
+
wikiToken: A9VMwEVbTita7OkZ5TYczfF4nvh
|
|
5
|
+
parentWikiToken: XX8ZwpG3ziIdr2kuJ3Vcx7m7n7b
|
|
6
|
+
updateTime: 1774249278000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=python_sdk_debug
|
|
8
|
+
---
|
|
9
|
+
::: warning Notice
|
|
10
|
+
The SDK Debug mode is used only for access debugging. Do not apply it to the production environment.
|
|
11
|
+
:::
|
|
12
|
+
During the process of SDK Integration, you can perform real-time debugging by checking SDK logs in the IDE console or using the Debug function of TE.
|
|
13
|
+
## Logging
|
|
14
|
+
```python
|
|
15
|
+
TDAnalytics.enableLog(isPrint=True)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Debugging
|
|
19
|
+
You need to follow the following two steps to enable the Debug mode:
|
|
20
|
+
#### 2.1 Use DebugConsumer
|
|
21
|
+
The sample code for enabling the Debug mode on the client side is as follows:
|
|
22
|
+
```python
|
|
23
|
+
te = TDAnalytics(TDDebugConsumer("https://receiver-ta-demo.thinkingdata.cn", "appId", device_id="123456789"))
|
|
24
|
+
distinct_id = "ABD"
|
|
25
|
+
account_id = "11111"
|
|
26
|
+
try:
|
|
27
|
+
te.track(account_id=account_id, event_name='event_name', properties={'level': 0})
|
|
28
|
+
except Exception as e:
|
|
29
|
+
print(e)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
#### 2.2 Add Device
|
|
33
|
+
To avoid launching the Debug mode in the production environment, it is required that only specified device can enable Debug mode. The Debug mode can only be enabled for devices whose ID has been configured in the "Debug data" sector on the "tracking management" page of the TE.
|
|
34
|
+
<image token="Drhnbw8E4ohg5uxXU1JcrdBlnHf" width="1280" height="590" align="center"/>
|
|
35
|
+
|
|
36
|
+
<quote-container>
|
|
37
|
+
It can only be used for data verification at the integration stage, and should not be used in the online environment.
|
|
38
|
+
</quote-container>
|
|
39
|
+
|
|
40
|
+
|
package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/preset-properties.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: python_sdk_preset_properties
|
|
3
|
+
name: "Preset Properties"
|
|
4
|
+
wikiToken: Nqb9wjvJbi9kd0kSjvtctMeentW
|
|
5
|
+
parentWikiToken: XX8ZwpG3ziIdr2kuJ3Vcx7m7n7b
|
|
6
|
+
updateTime: 1774249280000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=python_sdk_preset_properties
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
The following present properties are properties that all events in SDK would have.
|
|
11
|
+
|
|
12
|
+
<lark-table rows="8" cols="4" column-widths="169,152,140,259">
|
|
13
|
+
|
|
14
|
+
<lark-tr>
|
|
15
|
+
<lark-td>
|
|
16
|
+
Property name
|
|
17
|
+
</lark-td>
|
|
18
|
+
<lark-td>
|
|
19
|
+
Display name
|
|
20
|
+
</lark-td>
|
|
21
|
+
<lark-td>
|
|
22
|
+
Property type
|
|
23
|
+
</lark-td>
|
|
24
|
+
<lark-td>
|
|
25
|
+
Instruction
|
|
26
|
+
</lark-td>
|
|
27
|
+
</lark-tr>
|
|
28
|
+
<lark-tr>
|
|
29
|
+
<lark-td>
|
|
30
|
+
#ip
|
|
31
|
+
</lark-td>
|
|
32
|
+
<lark-td>
|
|
33
|
+
IP address
|
|
34
|
+
</lark-td>
|
|
35
|
+
<lark-td>
|
|
36
|
+
Text
|
|
37
|
+
</lark-td>
|
|
38
|
+
<lark-td>
|
|
39
|
+
IP address of the user, based on which TE would get the geographical location of the user
|
|
40
|
+
</lark-td>
|
|
41
|
+
</lark-tr>
|
|
42
|
+
<lark-tr>
|
|
43
|
+
<lark-td>
|
|
44
|
+
#country
|
|
45
|
+
</lark-td>
|
|
46
|
+
<lark-td>
|
|
47
|
+
Country
|
|
48
|
+
</lark-td>
|
|
49
|
+
<lark-td>
|
|
50
|
+
Text
|
|
51
|
+
</lark-td>
|
|
52
|
+
<lark-td>
|
|
53
|
+
The country where the user is located; generated based on the IP address
|
|
54
|
+
</lark-td>
|
|
55
|
+
</lark-tr>
|
|
56
|
+
<lark-tr>
|
|
57
|
+
<lark-td>
|
|
58
|
+
#country_code
|
|
59
|
+
</lark-td>
|
|
60
|
+
<lark-td>
|
|
61
|
+
Country code
|
|
62
|
+
</lark-td>
|
|
63
|
+
<lark-td>
|
|
64
|
+
Text
|
|
65
|
+
</lark-td>
|
|
66
|
+
<lark-td>
|
|
67
|
+
The code of the country where the user is located (ISO 3166-1 alpha-2, two English characters in upper case); generated based on the IP address
|
|
68
|
+
</lark-td>
|
|
69
|
+
</lark-tr>
|
|
70
|
+
<lark-tr>
|
|
71
|
+
<lark-td>
|
|
72
|
+
#province
|
|
73
|
+
</lark-td>
|
|
74
|
+
<lark-td>
|
|
75
|
+
Province
|
|
76
|
+
</lark-td>
|
|
77
|
+
<lark-td>
|
|
78
|
+
Text
|
|
79
|
+
</lark-td>
|
|
80
|
+
<lark-td>
|
|
81
|
+
The province where the user is located; generated based on the IP address
|
|
82
|
+
</lark-td>
|
|
83
|
+
</lark-tr>
|
|
84
|
+
<lark-tr>
|
|
85
|
+
<lark-td>
|
|
86
|
+
#city
|
|
87
|
+
</lark-td>
|
|
88
|
+
<lark-td>
|
|
89
|
+
City
|
|
90
|
+
</lark-td>
|
|
91
|
+
<lark-td>
|
|
92
|
+
Text
|
|
93
|
+
</lark-td>
|
|
94
|
+
<lark-td>
|
|
95
|
+
The city where the user is located; generated based on the IP address
|
|
96
|
+
</lark-td>
|
|
97
|
+
</lark-tr>
|
|
98
|
+
<lark-tr>
|
|
99
|
+
<lark-td>
|
|
100
|
+
#lib
|
|
101
|
+
</lark-td>
|
|
102
|
+
<lark-td>
|
|
103
|
+
SDK type
|
|
104
|
+
</lark-td>
|
|
105
|
+
<lark-td>
|
|
106
|
+
Text
|
|
107
|
+
</lark-td>
|
|
108
|
+
<lark-td>
|
|
109
|
+
The type of SDK which you integrate, e.g., Golang, etc.
|
|
110
|
+
</lark-td>
|
|
111
|
+
</lark-tr>
|
|
112
|
+
<lark-tr>
|
|
113
|
+
<lark-td>
|
|
114
|
+
#lib_version
|
|
115
|
+
</lark-td>
|
|
116
|
+
<lark-td>
|
|
117
|
+
SDK version
|
|
118
|
+
</lark-td>
|
|
119
|
+
<lark-td>
|
|
120
|
+
Text
|
|
121
|
+
</lark-td>
|
|
122
|
+
<lark-td>
|
|
123
|
+
The version of the SDK which you integrate
|
|
124
|
+
</lark-td>
|
|
125
|
+
</lark-tr>
|
|
126
|
+
</lark-table>
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: python_sdk_advanced
|
|
3
|
+
name: "Python-Advanced"
|
|
4
|
+
wikiToken: XX8ZwpG3ziIdr2kuJ3Vcx7m7n7b
|
|
5
|
+
parentWikiToken: YoPdwzGBMiRyS7kTY5pcmWHpnjf
|
|
6
|
+
updateTime: 1774249276000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=python_sdk_advanced
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## **Sending Events**
|
|
11
|
+
After SDK is initialized, you can track user behaviour data. In general, ordinary events could meet business requirements. You can also use the First/Updatable Event based on your own business requirements.
|
|
12
|
+
### 1.1 **Ordinary Events**
|
|
13
|
+
You can call `track` to upload events. It is suggested that you set event properties based on the document about data tracking drafted previously. Procurement of a commodity by a user is taken as the example here:
|
|
14
|
+
```python
|
|
15
|
+
distinct_id = "ABCDEF123456"
|
|
16
|
+
account_id = "TE10001"
|
|
17
|
+
properties = {
|
|
18
|
+
"#time": datetime.datetime.now(),
|
|
19
|
+
"#ip": "192.168.1.1",
|
|
20
|
+
"Product_Name": "商品名",
|
|
21
|
+
"Price": 30,
|
|
22
|
+
"OrderId": "订单号abc_123"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
try:
|
|
26
|
+
te.track(distinct_id, account_id, "Payment", properties)
|
|
27
|
+
except Exception as e:
|
|
28
|
+
print(e)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 1.2 **First Events**
|
|
32
|
+
The First Events refers to events that would only be recorded once for the ID of a certain device or other dimensions. For example, under certain scenarios, you may want to record the activation event on a certain device. In this case, you can perform data tracking with the First Event.
|
|
33
|
+
If you want to judge whether an event is the First Event from other dimensions, you can define a first_check_id for the First Event:
|
|
34
|
+
```python
|
|
35
|
+
try:
|
|
36
|
+
properties = {'name': 'hello'}
|
|
37
|
+
te.track_first(account_id="account_id", distinct_id="distinct_id", event_name='first_event', first_check_id='first_flag_id', properties=properties)
|
|
38
|
+
except Exception as e:
|
|
39
|
+
raise TDIllegalDataException(e)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
<quote-container>
|
|
43
|
+
Note: Since the server has to check whether the event is the First Event, the First Event will be put in storage one hour later by default.
|
|
44
|
+
</quote-container>
|
|
45
|
+
|
|
46
|
+
### 1.3 ** Updatable Events**
|
|
47
|
+
You can meet the requirements for event data modification under specific scenarios through Updatable Event. The TE would determine the data to be updated according to the event name and event ID.
|
|
48
|
+
```python
|
|
49
|
+
distinct_id = "65478cc0-275a-4aeb-9e6b-861155b5aca7"
|
|
50
|
+
account_id = "123"
|
|
51
|
+
event_name = "UPDATABLE_EVENT"
|
|
52
|
+
event_id = "123"
|
|
53
|
+
properties = {
|
|
54
|
+
"price": 100,
|
|
55
|
+
"status": 3
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
te.track_update(distinct_id=distinct_id, account_id=account_id, event_name=event_name, event_id=event_id,
|
|
59
|
+
properties=properties)
|
|
60
|
+
|
|
61
|
+
new_properties = {
|
|
62
|
+
"status": 5
|
|
63
|
+
}
|
|
64
|
+
te.track_update(distinct_id=distinct_id, account_id=account_id, event_name=event_name, event_id=event_id,
|
|
65
|
+
properties=new_properties)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 1.4 **Overwritable Event****s**
|
|
69
|
+
Despite the similarity with Updatable Event, Overwritable Event would cover all historical data with the latest data. Looking from the perspective of effect, such a process is equivalent to the behavior of deleting the previous data while putting the latest data in storage. The TE would determine the data to be updated according to the event name and event ID.
|
|
70
|
+
```python
|
|
71
|
+
distinct_id = "65478cc0-275a-4aeb-9e6b-861155b5aca7"
|
|
72
|
+
account_id = "123"
|
|
73
|
+
event_name = "OVERWRITE_EVENT"
|
|
74
|
+
event_id = "123"
|
|
75
|
+
properties = {
|
|
76
|
+
"price": 100,
|
|
77
|
+
"status": 3
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
te.track_overwrite(distinct_id=distinct_id, account_id=account_id, event_name=event_name, event_id=event_id,
|
|
81
|
+
properties=properties)
|
|
82
|
+
|
|
83
|
+
new_properties = {
|
|
84
|
+
"status": 5
|
|
85
|
+
}
|
|
86
|
+
te.track_overwrite(distinct_id=distinct_id, account_id=account_id, event_name=event_name, event_id=event_id,
|
|
87
|
+
properties=new_properties)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## **User Properties**
|
|
91
|
+
User property setting APIs supported by the TE include: `user_set`, `user_setOnce`, `user_add`, `user_append`, `user_uniq_append`, `user_unset`, `user_delete`.
|
|
92
|
+
### 2.1 user_set
|
|
93
|
+
You can call `user_set` to set general user properties. The original properties would be replaced if the properties uploaded via the API are used. If user properties are not set before, user properties will be created. The type of newly-created user properties must conform to that of the uploaded properties. User name setting is taken as the example here:
|
|
94
|
+
```python
|
|
95
|
+
properties = {"user_name": "ABC"}
|
|
96
|
+
try:
|
|
97
|
+
te.user_set(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
98
|
+
properties = {"user_name": "XYZ"}
|
|
99
|
+
te.user_set(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
100
|
+
except Exception as e:
|
|
101
|
+
print(e)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 2.2 user_setOnce
|
|
105
|
+
If the user property you want to upload only needs to be set once, you can call `user_setOnce` to set the property. If such property had been set before, this message would be ignored. Let's take the setting of the first payment time as an example::
|
|
106
|
+
```python
|
|
107
|
+
properties = {"user_name": "ABC"}
|
|
108
|
+
try:
|
|
109
|
+
te.user_setOnce(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
110
|
+
except Exception as e:
|
|
111
|
+
print(e)
|
|
112
|
+
|
|
113
|
+
properties = {
|
|
114
|
+
"user_name": "XYZ",
|
|
115
|
+
"user_age": 18
|
|
116
|
+
}
|
|
117
|
+
try:
|
|
118
|
+
te.user_setOnce(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
119
|
+
except Exception as e:
|
|
120
|
+
print(e)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 2.3 user_add
|
|
124
|
+
When you want to upload numeric property for cumulative operation, you can call `user_add`.
|
|
125
|
+
If the property has not been set, it would be given a value of 0 before computing. A negative value could be uploaded, which is equivalent to subtraction operation. Let's take the accumulative payment amount as an example:
|
|
126
|
+
```python
|
|
127
|
+
properties = {
|
|
128
|
+
"total_revenue": 30,
|
|
129
|
+
"vip_level": 1
|
|
130
|
+
}
|
|
131
|
+
te.user_add(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
132
|
+
|
|
133
|
+
properties = {"total_revenue": 90}
|
|
134
|
+
try:
|
|
135
|
+
te.user_add(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
136
|
+
except Exception as e:
|
|
137
|
+
print(e)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
<quote-container>
|
|
141
|
+
The property key is a string, and the value is only allowed to be a numeric value.
|
|
142
|
+
</quote-container>
|
|
143
|
+
|
|
144
|
+
### 2.4 user_append
|
|
145
|
+
You can call `user_append` to add user properties of array type.
|
|
146
|
+
```python
|
|
147
|
+
list1 = ['Google']
|
|
148
|
+
properties = {'arrKey1': list1, 'arrKey2': ['11', '22']}
|
|
149
|
+
try:
|
|
150
|
+
te.user_append(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
151
|
+
except Exception as e:
|
|
152
|
+
print(e)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### 2.5 user_uniq_append
|
|
156
|
+
You can delete duplicated user property by calling `user_uniq_append` interface. If you call `user_append` interface, duplicated user property might not be deleted.
|
|
157
|
+
```python
|
|
158
|
+
arrayValue = ['Google', 'True', '2.222']
|
|
159
|
+
properties = {'arrKey4': arrayValue, 'arrKey3': ['appendList', '222'], 'dict1': {'name': 'Tom', 'Age': 28}}
|
|
160
|
+
try:
|
|
161
|
+
te.user_append(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
162
|
+
except Exception as e:
|
|
163
|
+
raise TDIllegalDataException(e)
|
|
164
|
+
|
|
165
|
+
properties = {'arrKey4': ['addValue', 'True'], 'arrKey3': ['appendList', '222']}
|
|
166
|
+
try:
|
|
167
|
+
te.user_uniq_append(account_id="account_id", distinct_id="distinct_id", properties=properties)
|
|
168
|
+
except Exception as e:
|
|
169
|
+
raise TDIllegalDataException(e)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 2.6 user_unset
|
|
173
|
+
When you need to clear the user properties of users, you can call `user_unset` to clear specific properties. `user_unset` would not create properties that have not been created in the cluster.
|
|
174
|
+
```python
|
|
175
|
+
try:
|
|
176
|
+
te.user_unset("distinct_id", "account_id", ["string1", "lastTime"])
|
|
177
|
+
except Exception as e:
|
|
178
|
+
print(e)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### 2.7 user_del
|
|
182
|
+
You can call `user_del` to delete a user. After deleting the user, you would no longer be able to inquire about its user property, but could still query the events triggered by the user.
|
|
183
|
+
```python
|
|
184
|
+
try:
|
|
185
|
+
te.user_del(account_id="account_id", distinct_id="distinct_id")
|
|
186
|
+
except Exception as e:
|
|
187
|
+
print(e)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## **Other**
|
|
191
|
+
### 3.1 TDBatchConsumer
|
|
192
|
+
::: warning Notice
|
|
193
|
+
When the amount of data is too large or the network is abnormal, there is a risk of data loss. And it is not recommended to use it in a production environment
|
|
194
|
+
:::
|
|
195
|
+
Batches transmit data to the TE in real time, without the need for a transmission tool.
|
|
196
|
+
```python
|
|
197
|
+
te = TDAnalytics(TDBatchConsumer("SERVER_URL", "APP_ID"))
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Instruction on parameters:
|
|
201
|
+
- `APPID`: The APPID of your project, which can be found on the project management page of TE.
|
|
202
|
+
- `SERVER_URL`:
|
|
203
|
+
- If you are using a SaaS version, please check the receiver URL on this page
|
|
204
|
+
<image token="GadIbWzPAoPOBwx1Sbbcwa2BnBb" width="1674" height="1318" align="center"/>
|
|
205
|
+
|
|
206
|
+
- If you use the private deployment version, you can customize the data tracking URL .
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: python_sdk_release_note
|
|
3
|
+
name: "Release Notes"
|
|
4
|
+
wikiToken: J30hwY6JOiFI3lknMssc7KBrnte
|
|
5
|
+
parentWikiToken: YoPdwzGBMiRyS7kTY5pcmWHpnjf
|
|
6
|
+
updateTime: 1774249282000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=python_sdk_release_note
|
|
8
|
+
---
|
|
9
|
+
## v3.0.0
|
|
10
|
+
**Date:2023/09/21**
|
|
11
|
+
**Notes:**
|
|
12
|
+
- Warning: Class name replacement, incompatible with older versions
|
|
13
|
+
## v2.1.3
|
|
14
|
+
**Date:2023/03/02**
|
|
15
|
+
**Notes:**
|
|
16
|
+
- Bugfix: fix dynamic wrong type
|
|
17
|
+
## v2.1.1
|
|
18
|
+
**Date:2023/03/01**
|
|
19
|
+
**Notes:**
|
|
20
|
+
- Clean up example program
|
|
21
|
+
## v2.1.0
|
|
22
|
+
**Date:2022/12/22**
|
|
23
|
+
**Notes:**
|
|
24
|
+
- Add debug model in TE
|
|
25
|
+
## v2.0.0
|
|
26
|
+
**Date:****2022/08/03**
|
|
27
|
+
**Notes:**
|
|
28
|
+
- Add test cases
|
|
29
|
+
## v1.8.0
|
|
30
|
+
**Date:****2022/04/26**
|
|
31
|
+
**Notes:**
|
|
32
|
+
- Supports First Event
|
|
33
|
+
## v1.7.0
|
|
34
|
+
**Date:****2021/12/29**
|
|
35
|
+
**Notes:**
|
|
36
|
+
- Added support for complex structure types
|
|
37
|
+
## v1.6.2
|
|
38
|
+
**Date:****2021/08/05**
|
|
39
|
+
**Notes:**
|
|
40
|
+
- Fix the problem that the flush method does not refresh the file date
|
|
41
|
+
## v1.6.1
|
|
42
|
+
**Date:****2021/06/04**
|
|
43
|
+
**Notes:**
|
|
44
|
+
- Modify LoggingConsumer's default write file condition to write 5 pieces of data once
|
|
45
|
+
- Modify the default maximum buffer limit of BatchConsumer to 50 batches
|
|
46
|
+
## v1.6.0
|
|
47
|
+
**Date:****2021/03/22**
|
|
48
|
+
**Notes:**
|
|
49
|
+
- Added network failure retry mechanism
|
|
50
|
+
- Increase the buffer area, retry 3 times to send failed data will be stored in the buffer area, the cache data exceeds the upper limit will discard the early data
|
|
51
|
+
- Support #app_id attribute
|