@thinkingai/ae-cli 1.0.30 → 6.0.16-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +2530 -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
package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced.md
ADDED
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: uniapp_sdk_advanced
|
|
3
|
+
name: "uniapp-Advanced"
|
|
4
|
+
wikiToken: DM7kwtiBMiCpWCkk7icczidxn7c
|
|
5
|
+
parentWikiToken: N0e7w3csPiU7MkkMCO9c7PXVnSb
|
|
6
|
+
updateTime: 1774251989000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=uniapp_sdk_advanced
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1**. Managing User Identity**
|
|
11
|
+
SDK instances would use random UUID as the default distinct ID of each user by default, which would be used as the identity identification ID of users under an unlogged-in state. It should be noted that the visitor ID would change after the user clear cache or use the APP with a new device.
|
|
12
|
+
### **1.1. Identify**
|
|
13
|
+
:: tip
|
|
14
|
+
Generally speaking, you do not need to define a distinct ID for yourself. Please ensure that you understand [<text underline="true">User Identification Rules</text>](https://thinkingdata.feishu.cn/wiki/Pov9wECdsi2QQsk4NN9cEPsvnyc)<text color="purple" underline="true"> </text>before setting a distinct ID.
|
|
15
|
+
:::
|
|
16
|
+
If your App has its own visitor ID management system for each user, you can call `identify` to set the distinct ID:
|
|
17
|
+
```java
|
|
18
|
+
// set distinct ID as Thinker
|
|
19
|
+
TDAnalytics.setDistinctId("Thinker");
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If you need to obtain the current visitor ID, please call `getDistinctId`:
|
|
23
|
+
```java
|
|
24
|
+
//Return distinct ID
|
|
25
|
+
let distinctId = TDAnalytics.getDistinctId();
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### **1.2 Login**
|
|
29
|
+
When the user is logging in, `login` could be called to set the account ID of the user. TE platform would use the account ID as the identity identification ID, and the account ID that has been set would be saved before `logout` is called. The previous account ID would be covered if `login` has been called multiple times.
|
|
30
|
+
```javascript
|
|
31
|
+
//The login unique identifier of the user, corresponding to the #account_id in data tracking. #Account_id now is TE
|
|
32
|
+
TDAnalytics.login("TA");
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
<quote-container>
|
|
36
|
+
**The method will not upload login events**
|
|
37
|
+
</quote-container>
|
|
38
|
+
|
|
39
|
+
### **1.3 Logout**
|
|
40
|
+
After the user logs out, `logout` could be called to eliminate the account ID. The visitor ID would be used as the identity identification ID before the next time `login` is called.
|
|
41
|
+
```javascript
|
|
42
|
+
TDAnalytics.logout();
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
It is recommended that you call logout upon explicit logout event. For example, call `logout` when the user commits the behavior of canceling an account; do not call such a process when the App is closed.
|
|
46
|
+
<quote-container>
|
|
47
|
+
**The method will not upload logout events**
|
|
48
|
+
</quote-container>
|
|
49
|
+
|
|
50
|
+
## **2. Events**
|
|
51
|
+
After SDK is initialized, you can perform data tracking to collect information about the behavior of users. In general, ordinary events could meet the requirements of service scenarios. You can also use the first/updatable event based on your own service scenario.
|
|
52
|
+
### **2.1 Ordinary Events**
|
|
53
|
+
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:
|
|
54
|
+
```javascript
|
|
55
|
+
TDAnalytics.track(
|
|
56
|
+
eventName: "product_buy",
|
|
57
|
+
properties: {
|
|
58
|
+
product_name: "tv"
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### **2.2 First Events**
|
|
64
|
+
The first event 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.
|
|
65
|
+
```javascript
|
|
66
|
+
TDAnalytics.trackFirst({
|
|
67
|
+
eventName: "device_activation",
|
|
68
|
+
properties: { key: "value" }
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
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:
|
|
73
|
+
```javascript
|
|
74
|
+
// set the user ID as the first_check_id of the first event to track the first initialization event of the user.
|
|
75
|
+
TDAnalytics.trackFirst({
|
|
76
|
+
eventName: "account_activation",
|
|
77
|
+
firstCheckId: "TA",
|
|
78
|
+
properties: { key: "value" }
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
<quote-container>
|
|
83
|
+
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.
|
|
84
|
+
</quote-container>
|
|
85
|
+
|
|
86
|
+
### **2.3 Updatable Events**
|
|
87
|
+
You can meet the requirements for event data modification under specific scenarios through updatable events. The ID of updatable events should be specified and uploaded when the objects of updatable events are created. The TE would determine the data to be updated according to the event name and event ID.
|
|
88
|
+
```javascript
|
|
89
|
+
// The event property status is 3 after reporting, with the price being 100
|
|
90
|
+
TDAnalytics.trackUpdate({
|
|
91
|
+
eventName: "UPDATABLE_EVENT",
|
|
92
|
+
properties: { status: 3, price: 100 },
|
|
93
|
+
eventId: "test_event_id"
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
//The event property status is 5 after reporting, with the price remaining the same
|
|
97
|
+
TDAnalytics.trackUpdate({
|
|
98
|
+
eventName: "UPDATABLE_EVENT",
|
|
99
|
+
properties: { status: 5 },
|
|
100
|
+
eventId: "test_event_id"
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### **2.4 Overwritable Event****s**
|
|
105
|
+
Despite the similarity with updatable events, overwritable events 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.
|
|
106
|
+
```javascript
|
|
107
|
+
// The event property status is 3 after reporting, with the price being 100
|
|
108
|
+
TDAnalytics.trackOverwrite({
|
|
109
|
+
eventName: "OVERWRITE_EVENT",
|
|
110
|
+
properties: { status: 3, price: 100 },
|
|
111
|
+
eventId: "test_event_id"
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// The event property status is 5 after reporting, with the price deleted
|
|
115
|
+
TDAnalytics.trackOverwrite({
|
|
116
|
+
eventName: "OVERWRITE_EVENT",
|
|
117
|
+
properties: { status: 5 },
|
|
118
|
+
eventId: "test_event_id"
|
|
119
|
+
});
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### **2.5 Super Properties**
|
|
123
|
+
Super properties refer to properties that would be uploaded by each event. Super properties could be divided into `static super properties` and `dynamic super properties`based on the update frequency. You can select different methods for super property setting according to the requirements of specific service scenarios; we recommend that you set super properties first before sending events. In the same event, when the keys of super properties, self-defined event properties, and preset properties are the same, we would assign value according to the following priority: `self-defined properties>dynamic super properties>static super properties>preset properties`.
|
|
124
|
+
#### **2.5.1 Static Super Properties**
|
|
125
|
+
Static super properties are properties that all events might have and would change with a low frequency, for example, the user subscriber category. After setting static super properties through `setSuperProperties`, SDK would obtain and use the preset super properties as the event properties when tracking events.
|
|
126
|
+
```javascript
|
|
127
|
+
TDAnalytics.setSuperProperties({ vip_level: 2});
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Static super properties would be saved in local storage, and should not be called every time the App is closed. If such properties already exist, the reset properties would cover the original properties. If such properties do not exist, properties would be newly created. In addition to property setting, we also provide other APIs to handle static super properties and meet daily service demands.
|
|
131
|
+
```javascript
|
|
132
|
+
// obtain all certain super properties
|
|
133
|
+
var superProperties = TDAnalytics.getSuperProperties();
|
|
134
|
+
// clear a certain super property
|
|
135
|
+
TDAnalytics.unsetSuperProperty("channel");
|
|
136
|
+
// clear all certain super properties
|
|
137
|
+
TDAnalytics.clearSuperProperties();
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### **2.5.2 Dynamic super properties**
|
|
141
|
+
Dynamic super properties that all events might have and would change with a high frequency, for example, the quantity of the gold coins the user possesses. After setting dynamic super properties through `setDynamicSuperPropertiesTracker`, SDK would obtain the properties in `getDynamicSuperProperties` during event tracking, and add such properties to the event triggered.
|
|
142
|
+
```javascript
|
|
143
|
+
TDAnalytics.setDynamicSuperProperties(function() {
|
|
144
|
+
var d = new Date();
|
|
145
|
+
d.setHours(10);
|
|
146
|
+
return { date: d };
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### **2.6 Timing Events**
|
|
151
|
+
If you need to record the duration of a certain event, you can call `timeEvent` to start timing. Configure the name of the event you want to record. When you upload the event, `#duration` would be added to your event property automatically to record the duration of the event (unit: second). It should be noted that only one task can be timed with the same event name.
|
|
152
|
+
```javascript
|
|
153
|
+
//The following instance has recorded the time the user spent on a certain product page
|
|
154
|
+
TDAnalytics.timeEvent({
|
|
155
|
+
eventName: "stay_shop"
|
|
156
|
+
});
|
|
157
|
+
/**do someting
|
|
158
|
+
.......
|
|
159
|
+
**/
|
|
160
|
+
//the timing would end when the user leaves the product page. "stay_shop" event would carry#duration, a property representing event duration.
|
|
161
|
+
TDAnalytics.track("stay_shop",{product_name:"tv"});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## **3. User Properties**
|
|
165
|
+
User property setting APIs supported by the TE include: `userSet`、`userSetOnce`、`userAdd`、`userUnset`、`userDelete`、`userAppend`、`userUniqAppend`.
|
|
166
|
+
### 3.1 userSet
|
|
167
|
+
You can call `userSet` to set general user properties. The original properties would be covered if the properties uploaded via the API are used. If user properties are not 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:
|
|
168
|
+
```javascript
|
|
169
|
+
//the username now is TA
|
|
170
|
+
TDAnalytics.userSet({
|
|
171
|
+
properties: {
|
|
172
|
+
username: "TA"
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
//the username now is TE
|
|
176
|
+
TDAnalytics.userSet({
|
|
177
|
+
properties: {
|
|
178
|
+
username: "TE"
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 3.2 userSetOnce
|
|
184
|
+
If the user property you want to upload only needs to be set once, you can call `userSetOnce` to set the property. If such property had been set before, this message would be neglected. Let's take the setting of the first payment time as an example:
|
|
185
|
+
```javascript
|
|
186
|
+
//first_payment_time is 2018-01-01 01:23:45.678
|
|
187
|
+
TDAnalytics.userSetOnce({
|
|
188
|
+
properties: {
|
|
189
|
+
first_payment_time: "2018-01-01 01:23:45.678"
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
//first_payment_time is still 2018-01-01 01:23:45.678
|
|
193
|
+
TDAnalytics.userSetOnce({
|
|
194
|
+
properties: {
|
|
195
|
+
first_payment_time: "2018-12-31 01:23:45.678"
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### 3.3 userAdd
|
|
201
|
+
When you want to upload the property of the numeric type, we can call `userAdd` to accumulate operations against the property. 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:
|
|
202
|
+
```javascript
|
|
203
|
+
//in this case, the total_revenue is 30
|
|
204
|
+
TDAnalytics.userAdd({
|
|
205
|
+
properties: {
|
|
206
|
+
total_revenue: 30
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
//in this case, the total_revenue is 678
|
|
210
|
+
TDAnalytics.userAdd({
|
|
211
|
+
properties: {
|
|
212
|
+
total_revenue: 648
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### 3.4 userUnset
|
|
218
|
+
When you need to clear the user properties of users, you can call `userUnset` to clear specific properties. `userUnset` would not create properties that have not been created in the cluster.
|
|
219
|
+
```javascript
|
|
220
|
+
//reset a single user property
|
|
221
|
+
TDAnalytics.userUnset({
|
|
222
|
+
property: "userPropertykey"
|
|
223
|
+
});
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### 3.5 userDelete
|
|
227
|
+
You can call `userDelete` to delete a user. After deleting the user, you would no longer be able to inquire about its user property, but could still obtain the events triggered by the user.
|
|
228
|
+
```javascript
|
|
229
|
+
TDAnalytics.userDelete();
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### 3.6 userAppend
|
|
233
|
+
You can call `userAppend` to add user properties of array type.
|
|
234
|
+
```javascript
|
|
235
|
+
TDAnalytics.userAppend({
|
|
236
|
+
properties: {
|
|
237
|
+
user_list: ["apple", "ball"]
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 3.7 userUniqAppend
|
|
243
|
+
you can call `userUniqAppend` to add user properties of array type. You can delete duplicated user property by calling `userUniqAppend` interface. If you call `userAppend` interface, duplicated user property might not be deleted.
|
|
244
|
+
```javascript
|
|
245
|
+
//in this case, the property value of user_list is ["apple","ball"]
|
|
246
|
+
TDAnalytics.userAppend({
|
|
247
|
+
properties: {
|
|
248
|
+
user_list: ["apple", "ball"]
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
//in this case, the property value of user_list is ["apple","apple","ball","cube"]
|
|
252
|
+
TDAnalytics.userAppend({
|
|
253
|
+
properties: {
|
|
254
|
+
user_list: ["apple", "cube"]
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
//in this case, the property value of user_list is ["apple","ball","cube"]
|
|
258
|
+
TDAnalytics.userUniqAppend({
|
|
259
|
+
properties: {
|
|
260
|
+
user_list: ["apple", "cube"]
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## **4. Encryption**
|
|
266
|
+
SDK supports the encryption function, while the client side supports AES+RSA in encrypting data and the server in the decryption of data. The encryption/decryption capability should be realized through coordination between the client side and the server. For detailed information, please consult our customer success personnel.
|
|
267
|
+
```javascript
|
|
268
|
+
var config = {
|
|
269
|
+
appId: "YOUR_APP_ID",
|
|
270
|
+
serverUrl: "YOUR_SERVER_URL",
|
|
271
|
+
enableEncrypt: true, // Enable the encryption function
|
|
272
|
+
secretKey: {
|
|
273
|
+
publicKey:'YOUR_PUBLIC_KEY',
|
|
274
|
+
version:0
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
TDAnalytics.init(config);
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## **5. Other**
|
|
281
|
+
### **5.1 ****Device ID**
|
|
282
|
+
You can call `getDeviceId` to obtain the device ID:
|
|
283
|
+
```javascript
|
|
284
|
+
var deviceId = TDAnalytics.getDeviceId();
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### 5.2 onCompelete callback function
|
|
288
|
+
::: tip
|
|
289
|
+
this callback function is not valid on Android and iOS platforms.
|
|
290
|
+
:::
|
|
291
|
+
For `track, userSet, userSetOnce, userAdd, userDel` and other interfaces, the onComplete callback is passed. You can pass onComplete directly after the original argument list, or you can use a parameter object. If you use a parameter object, onComplete must be included in the parameter object, otherwise a parameter error will occur. Take the preceding events as an example:
|
|
292
|
+
```javascript
|
|
293
|
+
// the callback is passed as a parameter object
|
|
294
|
+
TDAnalytics.track({
|
|
295
|
+
eventName: "test",
|
|
296
|
+
properties: { testkey: 123 },
|
|
297
|
+
time: new Date(),
|
|
298
|
+
onComplete: res => {
|
|
299
|
+
console.log(res);
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
onComplete takes an argument res of type object and two attributes code and msg.
|
|
305
|
+
res.code is of type int, defined as follows:
|
|
306
|
+
- 0: succeed
|
|
307
|
+
- -1: the data format is incorrect
|
|
308
|
+
- -2: APP ID invalid
|
|
309
|
+
- -3: the network or server is abnormal
|
|
310
|
+
the Debug mode is defined as follows:
|
|
311
|
+
- 0: succeed
|
|
312
|
+
- -1: parameter or permission verification problem
|
|
313
|
+
- 1: indicates the basic error of the field, will give the detailed error field and the reason
|
|
314
|
+
- 2: represents the entire error
|
|
315
|
+
- -3: the network or server is abnormal
|
|
316
|
+
res.msg is the text description of res.code.
|
|
317
|
+
### 5.3 set event cache reporting
|
|
318
|
+
you can enable event cache reporting during initialization.
|
|
319
|
+
```javascript
|
|
320
|
+
var config = {
|
|
321
|
+
appId: "YOU-APP-ID",
|
|
322
|
+
serverUrl: "https://youserverurl.com",
|
|
323
|
+
enableBatch: true, // whether to enable batch event cache reporting.
|
|
324
|
+
batchConfig: {
|
|
325
|
+
size: 5, // the number of event cache reports
|
|
326
|
+
interval: 5000 // Event cache reporting interval (milliseconds)
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
//init
|
|
330
|
+
TDAnalytics.init(config);
|
|
331
|
+
```
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: uni_app_sdk_installation
|
|
3
|
+
name: "uni-app"
|
|
4
|
+
wikiToken: N0e7w3csPiU7MkkMCO9c7PXVnSb
|
|
5
|
+
parentWikiToken: JRIIwKqb5iVJMAkCwTic7H17ncg
|
|
6
|
+
updateTime: 1774251989000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=uni_app_sdk_installation
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
::: tip
|
|
11
|
+
Before data integration, please read [<text color="purple" underline="true">Preparation before Data Ingestion</text>](https://thinkingdata.feishu.cn/wiki/OhD8we9iai6Xk5kM1QNc8ITRnQe)
|
|
12
|
+
uni-app SDK supports platforms:iOS, Android, Web, Wechat mini-program, Baidu mini-program, Bytedance mini-program, Alipay mini-program, Dingding mini-program, Kuaishou mini-program, QQ mini-program, Jingdong mini-program, 360 mini-program.
|
|
13
|
+
:::
|
|
14
|
+
**Latest version:** 3.0.0
|
|
15
|
+
**Update time:** 09/10/2023
|
|
16
|
+
**Resource download: **[**SDK**](https://download.thinkingdata.cn/client/release/ta_uniapp_sdk.zip)
|
|
17
|
+
## **1. Integrate ****SDK**
|
|
18
|
+
Download and decompress [uni-app SDK](https://download.thinkingdata.cn/client/release/ta_uniapp_sdk.zip)
|
|
19
|
+
You can put `thinkingdata.uniapp.js` into your project directly, referencing it in the source code:
|
|
20
|
+
```json
|
|
21
|
+
import TDAnalytics from './static/thinkingdata.uniapp.js'
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## **2. Initialization**
|
|
25
|
+
With the TA SDK introduced, you can use ThinkingAnalyticsAPI in your code:
|
|
26
|
+
```json
|
|
27
|
+
var config = {
|
|
28
|
+
appId: "YOUR_APPID",
|
|
29
|
+
serverUrl: "YOUR_SERVER_URL",
|
|
30
|
+
autoTrack: {
|
|
31
|
+
appLaunch: true, // auto-tracking ta_mp_launch
|
|
32
|
+
appShow: true, // auto-tracking ta_mp_show
|
|
33
|
+
appHide: true, // auto-tracking ta_mp_hide
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
// initialize
|
|
37
|
+
TDAnalytics.init(config)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Instruction on parameters:
|
|
41
|
+
- `appId`: The APPID of your project, which can be obtained on the project management page of the TE.
|
|
42
|
+
- `serverUrl`:
|
|
43
|
+
- If you are using a sass version, please check the receiver URL in project management->data ingestion configuration.
|
|
44
|
+
- If you are using a privatized deployment version, please bind the data tracking URL with a domain name and configure it with an HTTPS certificate: `https://bind the domain name with the data tracking URL`
|
|
45
|
+
- `autoTrack`:the auto-tracking event types supported include:
|
|
46
|
+
- `appLaunch`:auto tracking mini-program launch
|
|
47
|
+
- `appShow`:auto tracking mini-program active and resume mini-program from the background
|
|
48
|
+
- `appHide`:auto tracking mini-program enter in background
|
|
49
|
+
::: warning
|
|
50
|
+
before reporting data, add the data transmission URL to the request list of the server domain name in the development Settings of wechat public platform or other platforms.
|
|
51
|
+
:::
|
|
52
|
+
## **3. Common Functions**
|
|
53
|
+
It is suggested that you read [User Identification Rules](https://thinkingdata.feishu.cn/wiki/Pov9wECdsi2QQsk4NN9cEPsvnyc) before using common functions; SDK would generate a random number that would be used as the distinct ID, and save the ID locally. Before the user logs in, the visitor ID would be used as the user's identity identification ID. Note: The Distinct ID would change after the user clear cache or use the APP with a new device.
|
|
54
|
+
### **3.1 Login**
|
|
55
|
+
When the user is logging in, `login` could be called to set the account ID of the user. TE platform would use the account ID as the identity identification ID, and the account ID that has been set would be saved before `logout` is called. The previous account ID would be covered if `login` has been called multiple times.
|
|
56
|
+
```json
|
|
57
|
+
// The login unique identifier of the user, corresponding to the #account_id in data tracking. #Account_id now is TE
|
|
58
|
+
TDAnalytics.login("TA");
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
<quote-container>
|
|
62
|
+
**The method will not upload login events**
|
|
63
|
+
</quote-container>
|
|
64
|
+
|
|
65
|
+
### 3.2 S**uper Properties**
|
|
66
|
+
Super properties refer to properties that each event might have. You can call `setSuperProperties` to set super properties. It is recommended that you set super properties first before sending data. Some important properties (e.g., the membership class of users, source channels, etc.) should be set in each event. At this time, you can set these properties as public event properties.
|
|
67
|
+
```javascript
|
|
68
|
+
var superProperties = {
|
|
69
|
+
channel : "ta", //character string
|
|
70
|
+
age : 1,//number
|
|
71
|
+
isSuccess : true,//boolean
|
|
72
|
+
birthday : new Date(),//time
|
|
73
|
+
object : { key : "value" },//object
|
|
74
|
+
object_arr : [ { key : "value" } ],//array object
|
|
75
|
+
arr : [ "value" ]//array
|
|
76
|
+
};
|
|
77
|
+
TDAnalytics.setSuperProperties(superProperties);//set super properties
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Super properties would be saved in local storage, and will not need to be called every time the App is opened. If the super properties set previously are uploaded after calling `setSuperProperties`, previous properties would be covered.
|
|
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 with that for super properties**
|
|
85
|
+
</quote-container>
|
|
86
|
+
|
|
87
|
+
### **3.3 Events**
|
|
88
|
+
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:
|
|
89
|
+
```javascript
|
|
90
|
+
TDAnalytics.track({
|
|
91
|
+
eventName: "product_buy",
|
|
92
|
+
properties: {
|
|
93
|
+
product_name: "tv"
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The event name is string type. It could only start with a character and could contain figures, characters, and an underline "_", with a maximum length of 50 characters.
|
|
99
|
+
### **3.4 User Properties**
|
|
100
|
+
You can set general user properties by calling `user_set` api. The original properties would be covered by the properties uploaded via this api. If no user properties are set before, user properties would 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:
|
|
101
|
+
```javascript
|
|
102
|
+
//the username now is TA
|
|
103
|
+
TDAnalytics.userSet({
|
|
104
|
+
properties: {
|
|
105
|
+
username: "TA"
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
//the username now is TE
|
|
109
|
+
TDAnalytics.userSet({
|
|
110
|
+
properties: {
|
|
111
|
+
username: "TE"
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## **4. Best Practice**
|
|
117
|
+
The following sample code covers all the above-mentioned operations. It is recommended that the codes be used in the following steps:
|
|
118
|
+
```javascript
|
|
119
|
+
var config = {
|
|
120
|
+
appId: "YOUR_APPID",
|
|
121
|
+
serverUrl: "YOUR_SERVER_URL",
|
|
122
|
+
autoTrack: {
|
|
123
|
+
appLaunch: true, // auto-tracking ta_mp_launch
|
|
124
|
+
appShow: true, // auto-tracking ta_mg_show
|
|
125
|
+
appHide: true, // auto-tracking ta_mp_hide
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
// creating a TA Instance
|
|
129
|
+
TDAnalytics.init(config);
|
|
130
|
+
// if the user has logged in, the account ID of the user could be set as the unique identifier
|
|
131
|
+
TDAnalytics.login("TA");
|
|
132
|
+
//set super properties
|
|
133
|
+
var superProperties = {
|
|
134
|
+
channel : "ta", //character string
|
|
135
|
+
age : 1,//number
|
|
136
|
+
isSuccess : true,//boolean
|
|
137
|
+
birthday : new Date(),//time
|
|
138
|
+
object : { key : "value" },//object
|
|
139
|
+
object_arr : [ { key : "value" } ],//array object
|
|
140
|
+
arr : [ "value" ]//array
|
|
141
|
+
};
|
|
142
|
+
TDAnalytics.setSuperProperties(superProperties);
|
|
143
|
+
//send event
|
|
144
|
+
TDAnalytics.track({
|
|
145
|
+
eventName: "product_buy",
|
|
146
|
+
properties: {
|
|
147
|
+
product_name: "tv"
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
//Set user properties
|
|
151
|
+
TDAnalytics.userSet({
|
|
152
|
+
properties: {
|
|
153
|
+
username: "TE"
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: app_third_support
|
|
3
|
+
name: "Cross-Platform"
|
|
4
|
+
wikiToken: JRIIwKqb5iVJMAkCwTic7H17ncg
|
|
5
|
+
parentWikiToken: KaFCwNeV3iRxjNkpT3QcDMg3n5V
|
|
6
|
+
updateTime: 1774251988000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=app_third_support
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
- [<text underline="true">React Native</text>](https://thinkingdata.feishu.cn/wiki/E1F3wNsc3iW7dckzhH9cA2h2nIg)
|
|
11
|
+
- [<text underline="true">Flutter</text>](https://thinkingdata.feishu.cn/wiki/OzW1wBUwbiX7D5k8ZaSc6Uy0ndh)
|
|
12
|
+
- [ui-app](https://thinkingdata.feishu.cn/wiki/N0e7w3csPiU7MkkMCO9c7PXVnSb)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: cocos2d-x_sdk_autotrack
|
|
3
|
+
name: "Automatic Event Tracking"
|
|
4
|
+
wikiToken: GC8pwAeGLiW2vlkR44WcNoJfnId
|
|
5
|
+
parentWikiToken: FQF1wNXmZiaQ42kNmOicojvCnO6
|
|
6
|
+
updateTime: 1774249125000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=cocos2d-x_sdk_autotrack
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Cocos2d-x SDK Automatic Event Tracking events including installation,open,close etc.
|
|
11
|
+
## **1. Introduction **
|
|
12
|
+
TE provides Apis for automatic data tracking. You can select the data to be tracked based on your needs.
|
|
13
|
+
Currently, the following types of events can be tracked automatically:
|
|
14
|
+
1. Install: behavior of APP installation
|
|
15
|
+
2. Open APP: including activiting APP and resuming APP from the background
|
|
16
|
+
3. Close APP: including disabling the APP and calling in the background while tracking the duration of the enabling process
|
|
17
|
+
See below for more details on how to start tracking these events.
|
|
18
|
+
You can call `enableAutoTrack` to enable the auto-tracking function:
|
|
19
|
+
```cpp
|
|
20
|
+
//enable autotrack event
|
|
21
|
+
TDAnalytics::enableAutoTrack();
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Since v1.3.2, Support setting custom property for Automatic Event Tracking. the custom property will be merged into the event properties and reported.
|
|
25
|
+
```cpp
|
|
26
|
+
TDJSONObject autoProperties;
|
|
27
|
+
autoProperties.setString("auto_track_key", "auto_track_value");
|
|
28
|
+
TDAnalytics::enableAutoTrack(autoProperties);
|
|
29
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: cocos2x-d_sdk_debug
|
|
3
|
+
name: "Debugging and Logging"
|
|
4
|
+
wikiToken: O6N2wLHI0iyJ98k95GAcPJw0n8d
|
|
5
|
+
parentWikiToken: FQF1wNXmZiaQ42kNmOicojvCnO6
|
|
6
|
+
updateTime: 1774251980000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=cocos2x-d_sdk_debug
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
During the process of SDK integration, you can perform real-time debugging by checking SDK's logs in the IDE console or using the Debug feature of TE.
|
|
11
|
+
## Printing Log
|
|
12
|
+
```java
|
|
13
|
+
TDAnalytics::enableTrackLog(true);
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
<quote-container>
|
|
17
|
+
After opening the log, you can check data tracking of SDK by filtering logs related to ThinkingAnalytics in IDE.
|
|
18
|
+
</quote-container>
|
|
19
|
+
|
|
20
|
+
## **2. Debugging**
|
|
21
|
+
You need to follow the following two steps to enable the Debug mode:
|
|
22
|
+
1. Enable the debug mode at the client side
|
|
23
|
+
The sample code for enabling the Debug mode on the client side is as follows:
|
|
24
|
+
```java
|
|
25
|
+
/*
|
|
26
|
+
Set the operation mode as the Debug mode
|
|
27
|
+
NORMAL mode: the data would be saved in caches and reported according to relevant cache policies under the NORMAL mode by default. It is recommended to use the mode in an online environment
|
|
28
|
+
Debug mode: report data item by item. If problems occur, the user would be notified with logs and anomalies. It is recommended to use the Debug mode in an online environment
|
|
29
|
+
DebugOnly mode: data would be verified without being stored; it is not recommended to use the DebugOnly mode in an online environment
|
|
30
|
+
*/
|
|
31
|
+
TDConfig config(TA_APP_ID, TA_SERVER_URL);
|
|
32
|
+
config.setModel(TDModel::TD_DEBUG);
|
|
33
|
+
// initialize SDK
|
|
34
|
+
TDAnalytics::init(config);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
1. Add Device
|
|
38
|
+
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 IDs have been configured in the "Debugger"sector on the "Tracking Management" page of TE when the client side has enabled the Debug mode.
|
|
39
|
+
<image token="AEuebwZjloajjExkk8Kch65Knqh" width="2782" height="1284" align="left"/>
|
|
40
|
+
|
|
41
|
+
Device ID could be obtained by the following three means:
|
|
42
|
+
- #Device_id property in the event data of TE
|
|
43
|
+
- Client-side log: DeviceID would be printed as log after SDK is initialized
|
|
44
|
+
- Call API:[Device ID](https://thinkingdata.feishu.cn/wiki/FQF1wNXmZiaQ42kNmOicojvCnO6)
|
|
45
|
+
<quote-container>
|
|
46
|
+
The Debug mode may undermine the data tracking quality and stability of the App. It could only be used for data verification at the integration stage, and should not be used in the online environment.
|
|
47
|
+
</quote-container>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: coco2d-x_sdk_multi_instance
|
|
3
|
+
name: "Multi-Instance"
|
|
4
|
+
wikiToken: Y9L5wGBcpisIl6kJEnFcKl8nndd
|
|
5
|
+
parentWikiToken: FQF1wNXmZiaQ42kNmOicojvCnO6
|
|
6
|
+
updateTime: 1774249131000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=coco2d-x_sdk_multi_instance
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
The Multi-Appid feature could create multiple SDK instances to perform data tracking based on their own Appid. That is, you can report data to multiple Appids.
|
|
11
|
+
In the Cocos2d-x SDK version 2.1.0, a new Light-instance feature is added, which can support the generate of multiple sub-light instances of the same Appid. The sub-lightweight instance is consistent with the Appid of the parent instance, but the account number and other information are inconsistent.
|
|
12
|
+
Multiple SDK instances can be created by uploading different APP IDs to complete SDK initialization
|
|
13
|
+
```csharp
|
|
14
|
+
// initialize SDK
|
|
15
|
+
TDAnalytics::init(TE_APP_ID, TE_SERVER_URL);
|
|
16
|
+
TDAnalytics::init(TE_APP_ID_1, TE_SERVER_URL_1);
|
|
17
|
+
|
|
18
|
+
TDJSONObject eventProperties;
|
|
19
|
+
eventProperties.setString("product_name", "product name");
|
|
20
|
+
TDAnalytics::track("product_buy",eventProperties,TE_APP_ID);
|
|
21
|
+
```
|