@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,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: ios_sdk_autotrack
|
|
3
|
+
name: "Automatic Event Tracking"
|
|
4
|
+
wikiToken: IqwOwQmTbiVNXZk8r4JcmZAMnie
|
|
5
|
+
parentWikiToken: N4t8wyPNKip6pSkZsZvcYBpMnRc
|
|
6
|
+
updateTime: 1774249058000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=ios_sdk_autotrack
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## **1. Introduction **
|
|
11
|
+
TE provides Apis for automatic data tracking. You can select the data to be tracked based on your needs.
|
|
12
|
+
Currently, the following types of events can be tracked automatically:
|
|
13
|
+
1. Install: behavior of APP installation
|
|
14
|
+
2. Open App: including activiting APP and resuming APP from the background
|
|
15
|
+
3. Close App: including disabling the APP and calling in the background while tracking the duration of the enabling process
|
|
16
|
+
4. View Page:The user views the screen in the APP (`UIViewController`)
|
|
17
|
+
5. Click:The user clicks on the UI element in the APP
|
|
18
|
+
6. Crash:Record crash information when the APP crashes
|
|
19
|
+
See below for more details on how to start tracking these events.
|
|
20
|
+
## **2. Enable Auto-Tracking**
|
|
21
|
+
You can call `enableAutoTrack:` to enable the auto-tracking function:
|
|
22
|
+
```objectivec
|
|
23
|
+
//enable autotrack event
|
|
24
|
+
[TDAnalytics enableAutoTrack:
|
|
25
|
+
TDAutoTrackEventTypeAppStart | //APP enable event
|
|
26
|
+
TDAutoTrackEventTypeAppInstall | // APP install event
|
|
27
|
+
TDAutoTrackEventTypeAppEnd | //APP disable event
|
|
28
|
+
TDAutoTrackEventTypeAppViewScreen | //APP view screen event
|
|
29
|
+
TDAutoTrackEventTypeAppClick | //APP click view event
|
|
30
|
+
TDAutoTrackEventTypeAppViewCrash]; //APP crash event
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## **Instructions**
|
|
34
|
+
### **3.1 Installation Events**
|
|
35
|
+
APP install event would record the installation of the APP and be reported when the APP is being activated. The event is triggered when the APP is activated for the first time after installation. APP upgrade would not trigger an installation event. If the user reinstalls the app after uninstalling it, the installing event will be triggered again.
|
|
36
|
+
- Event name: ta_app_install
|
|
37
|
+
### **3.2 Active Events**
|
|
38
|
+
APP started event would be triggered when the user enables the APP or resumes the APP from the background. A detailed description of the start event is as follows:
|
|
39
|
+
- Event name: ta_app_start
|
|
40
|
+
- Preset property: `#resume_from_background`, Boolean type, indicating whether the APP is enabled by the user or resumed from the background. If the value is true, it means the APP is resumed from the background; if the value is false, it means the APP is enabled by the user directly.
|
|
41
|
+
### **3.3 Inactive Events**
|
|
42
|
+
APP end event would be triggered when the user disables the APP or moves the APP to the background. Detailed description of the end event is as follows:
|
|
43
|
+
- Event name: ta_app_end
|
|
44
|
+
- Preset property:`#duration`, numeric type, indicating the duration of each APP (unit: second).
|
|
45
|
+
### **3.4 View Page Events**
|
|
46
|
+
APP view screen event would be triggered when the user views the screen (View Controller). Detailed event introduction is as follows:
|
|
47
|
+
- Event name: ta_app_view
|
|
48
|
+
- Preset property:
|
|
49
|
+
`#screen_name`, string type, package name, and category name of View Controller
|
|
50
|
+
`#title`, string type, title of View Controller, value: the value of `controller.navigationItem.title`
|
|
51
|
+
Other properties could be added to view screen events to expand their analysis value. Methods for defining the properties of view screen events are as follows
|
|
52
|
+
|
|
53
|
+
#### **3.4.1 Define The Properties of View Page Events**
|
|
54
|
+
As for the view page events of `UIViewController`, properties could be added by implementing the Protocol `<TDScreenAutoTracker>`. URL information and other self-defined properties could be added for view page events through the following two methods:
|
|
55
|
+
```objectivec
|
|
56
|
+
@interface MYController : UITableViewController<TDScreenAutoTracker>
|
|
57
|
+
@end
|
|
58
|
+
|
|
59
|
+
@implementation MYController
|
|
60
|
+
|
|
61
|
+
- (NSDictionary *)getTrackProperties {
|
|
62
|
+
return @{@"PageName" : @"ABCD", @"ProductId" : @12345};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
- (NSString *)getScreenUrl {
|
|
66
|
+
return @"APP://test";
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Multi-Instance, Configure with appid
|
|
70
|
+
* - (NSDictionary *)getTrackPropertiesWithAppid{
|
|
71
|
+
* return @{@"appid1" : @{@"testTrackProperties" : @"ABCD"},
|
|
72
|
+
* @"appid2" : @{@"testTrackProperties2" : @"ABCD"},
|
|
73
|
+
* };
|
|
74
|
+
* }
|
|
75
|
+
* -(NSDictionary *)getScreenUrlWithAppid {
|
|
76
|
+
* return @{@"appid1" : @"APP://test1",
|
|
77
|
+
* @"appid2" : @"APP://test2",
|
|
78
|
+
* };
|
|
79
|
+
* }
|
|
80
|
+
*/
|
|
81
|
+
@end
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The returned value of `getScreenUrl`would be used as the URL Schema of the `UIViewController`. When the view event of the page is triggered, preset property `#url` will be added. Meanwhile, SDK will fetch the URL Schema of the page before redirection. If it succeeds, it will be added to the preset property `#referrer` as the forward address.
|
|
85
|
+
The returned value of `getTrackProperties` is the self-defined property of the view event of the screen, and would join the view event of the screen automatically
|
|
86
|
+
### **3.5 C****licked events**
|
|
87
|
+
App view click event would be triggered when the user clicks the control(view)
|
|
88
|
+
- Event name: ta_app_click
|
|
89
|
+
- Preset property:
|
|
90
|
+
`#screen_name`, string type, consist of category name of the UIViewController which control(view) belongs to
|
|
91
|
+
`#element_content`, character string type, the content of the control/view
|
|
92
|
+
`#element_type`, character string type, type of the view
|
|
93
|
+
It only exists when the control type is `UITableView` or `UICollectionView`, indicating the position where the control is clicked, and the value is `group(Section):item(Row)`
|
|
94
|
+
#### **3.5.1 Define ViewID**
|
|
95
|
+
You can set `#element_id` as a view ID on the page to partition different view, you can use `thinkingAnalyticsViewID` to set the view ID:
|
|
96
|
+
```objectivec
|
|
97
|
+
self.table1.thinkingAnalyticsViewID = @"testtable1";
|
|
98
|
+
|
|
99
|
+
// Multi-Instance, Configure with appid
|
|
100
|
+
self.table1.thinkingAnalyticsViewIDWithAppid = @{ @"app1" : @"testtableID2",
|
|
101
|
+
@"app2" : @"testtableID3" };
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`#element_id` will be added to the click event of table1, and the value is the incoming value here
|
|
105
|
+
- Related preset attributes: #element_id, character string type
|
|
106
|
+
#### **3.5.2 Define The Properties of Clicked Events**
|
|
107
|
+
You can apply the following method to add self-defined properties for Clicking a certain view.
|
|
108
|
+
```objectivec
|
|
109
|
+
self.table1.thinkingAnalyticsViewProperties = @{@"key1":@"value1"};
|
|
110
|
+
|
|
111
|
+
// Multi-Instance, Configure with appid
|
|
112
|
+
self.table1.thinkingAnalyticsViewPropertiesWithAppid = @{@"app1":@{@"tablekey":@"tablevalue"},
|
|
113
|
+
@"app2":@{@"tablekey2":@"tablevalue2"}
|
|
114
|
+
};
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
#### **3.5.3 Define Properties of UITableView And UICollectionView Click Events**
|
|
118
|
+
For `UITableView` and `UICollectionView`, you need to set custom properties by implementing `Protocol<TDUIViewAutoTrackDelegate>`:
|
|
119
|
+
1. First, implement `Protocol<TDUIViewAutoTrackDelegate>` in the View Controller class
|
|
120
|
+
2. Secondly, set the proxy in the class, it is recommended to set it in the `viewDidLoad` method
|
|
121
|
+
```objectivec
|
|
122
|
+
self.table1.thinkingAnalyticsDelegate = self;
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- `table1` can be replaced with a View that needs to set custom properties
|
|
126
|
+
3. Then implement the method according to the type of View Controller
|
|
127
|
+
- `UITableView` needs to implement
|
|
128
|
+
```objectivec
|
|
129
|
+
//Set all APPID instances and set the custom properties of UITableView
|
|
130
|
+
-(NSDictionary *) thinkingAnalytics_tableView:(UITableView *)tableView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath
|
|
131
|
+
{
|
|
132
|
+
return @{@"testProperty":@"test"};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** Multi-Instance, Configure with appid
|
|
136
|
+
* -(NSDictionary *) thinkingAnalyticsWithAppid_tableView:(UITableView *)tableView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath {
|
|
137
|
+
* return @{@"app1":@{@"autoPro":@"tablevalue"},
|
|
138
|
+
* @"app2":@{@"autoPro2":@"tablevalue2"}
|
|
139
|
+
* };
|
|
140
|
+
* }
|
|
141
|
+
*/
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
- `UICollectionView` needs to implement
|
|
145
|
+
```objectivec
|
|
146
|
+
//Set all APPID instances and set the custom properties of UICollectionView
|
|
147
|
+
-(NSDictionary *) thinkingAnalytics_collectionView:(UICollectionView *)collectionView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath;
|
|
148
|
+
{
|
|
149
|
+
return @{@"testProperty":@"test"};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** Multi-Instance, Configure with appid
|
|
153
|
+
* - (NSDictionary *)thinkingAnalyticsWithAppid_collectionView:(UICollectionView *)collectionView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath {
|
|
154
|
+
* return @{@"app1":@{@"autoProCOLL":@"tablevalueCOLL"},
|
|
155
|
+
* @"app2":@{@"autoProCOLL2":@"tablevalueCOLL2"}
|
|
156
|
+
* };
|
|
157
|
+
* }
|
|
158
|
+
*/
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
4.Finally, set `thinkingAnalyticsDelegate` to `nil` in the `viewWillDisappear` method of the class
|
|
162
|
+
```objectivec
|
|
163
|
+
-(void)viewWillDisappear:(BOOL)animated
|
|
164
|
+
{
|
|
165
|
+
[super viewWillDisappear:animated];
|
|
166
|
+
self.table1.thinkingAnalyticsDelegate = nil;
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
- `table1` can be replaced with a View that needs to set custom properties, corresponding to when setting the proxy
|
|
171
|
+
### **3.6 Crash Events**
|
|
172
|
+
When an unexpected crash occurs in the APP, an APP crash event would be reported
|
|
173
|
+
- Event name: ta_app_crash
|
|
174
|
+
- Preset property:`#app_crashed_reason`, character string type, record the stack trace upon crash
|
|
175
|
+
## **4.Ignore Auto-Tracking Event**
|
|
176
|
+
You can ignore the auto-tracking event of activity or view by the following means
|
|
177
|
+
### **4.1 ****View Page Events**
|
|
178
|
+
As for certain screens (`UIViewController`), if you do not want to transmit auto-tracking events (including view screen event and view click event), you can ignore them by the following means:
|
|
179
|
+
```objectivec
|
|
180
|
+
NSMutableArray *array = [[NSMutableArray alloc] init];
|
|
181
|
+
[array addObject:@"IgnoredViewController"];
|
|
182
|
+
|
|
183
|
+
//ignore some screen
|
|
184
|
+
[TDAnalytics ignoreAutoTrackViewControllers:array];
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### **4.2 Click Events of Type Control**
|
|
188
|
+
You can apply the following method to ignore the Click Events of Type Control
|
|
189
|
+
```objectivec
|
|
190
|
+
[TDAnalytics ignoreViewType:[IgnoredClass class]];
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
- `ignoredClass` is the type of view that needs to be ignored.
|
|
194
|
+
### **4.3 Click Events of A Control(View)**
|
|
195
|
+
You can apply the following method to ignore the Click Events of A Control(View)
|
|
196
|
+
```objectivec
|
|
197
|
+
self.table1.thinkingAnalyticsIgnoreView = YES;
|
|
198
|
+
|
|
199
|
+
// Multi-Instance, Configure with appid
|
|
200
|
+
self.table2.thinkingAnalyticsIgnoreViewWithAppid = @{@"appid1" : @YES,@"appid2" : @NO};
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
- `table1` is the View to be ignored
|
|
204
|
+
## **5.Preset Properties of Auto-Tracking Events**
|
|
205
|
+
The following preset properties are the properties set specially for each auto-tracking event
|
|
206
|
+
- Preset properties of APP start event (ta_app_start)
|
|
207
|
+
|
|
208
|
+
| ** Property name** | **Display name** | ** Property type ** | ** Instruction ** |
|
|
209
|
+
|---|---|---|---|
|
|
210
|
+
| #resume_from_background | Resume from the background or note | Bool | Indicating whether the APP is enabled by the user or resumed from the background. If the value is true, it means the APP is resumed from the background; if the value is false, it means the APP is enabled by the user directly. |
|
|
211
|
+
| #start_reason | Start reason | Text | Displays the reason for APP starting, and the value is string. Currently supports favorite deeplink, push, 3dtouch start reason. For the sample, please refer to:`{url:"thinkingdata://","data":{}}` |
|
|
212
|
+
| #background_duration | Duration in the background | Numeric value | Unit: second |
|
|
213
|
+
|
|
214
|
+
- Preset properties of APP end event (ta_app_end)
|
|
215
|
+
|
|
216
|
+
| ** Property name** | **Display name** | ** Property type ** | ** Instruction ** |
|
|
217
|
+
|---|---|---|---|
|
|
218
|
+
| #duration | Event duration | Numeric value | Indicating the duration of the APP access (unit: second). |
|
|
219
|
+
|
|
220
|
+
- Preset properties of APP view screen event (ta_app_view)
|
|
221
|
+
|
|
222
|
+
| ** Property name ** | ** Display name ** | ** Property type ** | ** Instruction ** |
|
|
223
|
+
|---|---|---|---|
|
|
224
|
+
| #title | Screen title | Text | Title of the ViewController, to be set by invoking `controller.navigationItem.title`. |
|
|
225
|
+
| #screen_name | Screen name | Text | Class name of ViewController. |
|
|
226
|
+
| #url | Screen URL | Text | The url of current screen, to be set by invoking `getScreenUrl` |
|
|
227
|
+
| #referrer | Forward address | Text | The address of the screen before skipping, to be set by invoking `getScreenUrl` |
|
|
228
|
+
|
|
229
|
+
- Preset properties of APP view click event (ta_app_click)
|
|
230
|
+
|
|
231
|
+
| ** Property name ** | ** Display name ** | ** Property type ** | ** Instruction ** |
|
|
232
|
+
|---|---|---|---|
|
|
233
|
+
| #title | Screen title | Text | Title of the `ViewController`, to be set by invoking `controller.navigationItem.title`. |
|
|
234
|
+
| #screen_name | Screen name | Text | Class name of `ViewController`. |
|
|
235
|
+
| #element_id | Element ID | Text | The ID of the `UIView`. e.g. `button.thinkingAnalyticsViewID` |
|
|
236
|
+
| #element_type | Element type | Text | Type of the `UIView` |
|
|
237
|
+
| #element_selector | Element selector | Text | Splicing of the `viewPath` of the `UIView` |
|
|
238
|
+
| #element_position | Element position | Text | `UIView` position information that exists only if the control type is `UITableView` or `UICollectionView`. The value is `Section`, `Row`. |
|
|
239
|
+
| #element_content | Element content | Text | Content on the `UIView` |
|
|
240
|
+
|
|
241
|
+
- Preset properties of APP crash event (ta_app_crash)
|
|
242
|
+
|
|
243
|
+
| ** Property name ** | ** Display name ** | ** Property type ** | ** Instruction ** |
|
|
244
|
+
|---|---|---|---|
|
|
245
|
+
| #app_crashed_reason | Abnormal information | Text | Character string type, record the stack trace upon crash |
|
|
246
|
+
|
|
247
|
+
## **6.Self-defined Property For Auto-Tracking**
|
|
248
|
+
You can call `enableAutoTrack:properties:` to enable the auto-tracking function and update self-defined property for auto-tracking:
|
|
249
|
+
```objectivec
|
|
250
|
+
[TDAnalytics enableAutoTrack:TDAutoTrackEventTypeAll properties:@{@"auto_key1": @"auto_value1"}];
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
You can also call `setAutoTrackProperties:properties:`, to set up or update the properties.
|
|
254
|
+
```objectivec
|
|
255
|
+
[TDAnalytics setAutoTrackProperties:TDAutoTrackEventTypeAll properties:@{@"auto_key2": @"auto_value2"}];
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## **7. Callback for Auto-Tracking**
|
|
259
|
+
Since v2.7.4, You can call `enableAutoTrack:callback:` to enable auto-tracking function, and you can add or update property in the callback.
|
|
260
|
+
```objectivec
|
|
261
|
+
[TDAnalytics enableAutoTrack:TDAutoTrackEventTypeAll callback:^NSDictionary * _Nonnull(TDAutoTrackEventType eventType, NSDictionary * _Nonnull properties) {
|
|
262
|
+
if (eventType == TDAutoTrackEventTypeAppStart) {
|
|
263
|
+
return @{@"addkey":@"addvalue"};
|
|
264
|
+
}
|
|
265
|
+
if (eventType == TDAutoTrackEventTypeAppEnd) {
|
|
266
|
+
return @{@"updatekey":@"updatevalue"};
|
|
267
|
+
}
|
|
268
|
+
return @{};
|
|
269
|
+
}];
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
> Please do not do time-consuming operations in this callback, otherwise it will affect the normal storage of data
|
package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/debugging-and-logging.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: ios_sdk_debug
|
|
3
|
+
name: "Debugging and Logging"
|
|
4
|
+
wikiToken: DGfDwq8YjiAW6qkoaYGcKdjRnVd
|
|
5
|
+
parentWikiToken: N4t8wyPNKip6pSkZsZvcYBpMnRc
|
|
6
|
+
updateTime: 1774251965000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=ios_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
|
+
## **1. Printing Log**
|
|
12
|
+
:::: el-tabs
|
|
13
|
+
::: el-tab-pane label=Objective-C
|
|
14
|
+
```objectivec
|
|
15
|
+
[TDAnalytics enableLog:YES];
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
:::
|
|
19
|
+
::: el-tab-pane label=Swift
|
|
20
|
+
```swift
|
|
21
|
+
TDAnalytics.enableLog(true)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
:::
|
|
25
|
+
::::
|
|
26
|
+
<quote-container>
|
|
27
|
+
After opening the log, you can check data tracking of SDK by filtering logs related to ThinkingAnalytics in IDE.
|
|
28
|
+
</quote-container>
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## **2. Debugging**
|
|
32
|
+
You need to follow the following two steps to enable the Debug mode:
|
|
33
|
+
1. Enable the debug mode at the client side
|
|
34
|
+
The sample code for enabling the Debug mode on the client side is as follows:
|
|
35
|
+
:::: el-tabs
|
|
36
|
+
::: el-tab-pane label=Objective-C
|
|
37
|
+
```objectivec
|
|
38
|
+
// get TDConfig instance
|
|
39
|
+
TDConfig *config = [[TDConfig alloc] init];
|
|
40
|
+
config.appid = appid;
|
|
41
|
+
config.serverUrl = url;
|
|
42
|
+
/*
|
|
43
|
+
Set the operation mode as the Debug mode
|
|
44
|
+
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
|
|
45
|
+
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
|
|
46
|
+
DebugOnly mode: data would be verified without being stored; it is not recommended to use the DebugOnly mode in an online environment
|
|
47
|
+
*/
|
|
48
|
+
config.mode = TDModeDebug;
|
|
49
|
+
[TDAnalytics startAnalyticsWithConfig:config];
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
:::
|
|
53
|
+
::: el-tab-pane label=Swift
|
|
54
|
+
```swift
|
|
55
|
+
let appid = "APPID";
|
|
56
|
+
let url = "SERVER_URL";
|
|
57
|
+
// the second way
|
|
58
|
+
let config = TDConfig(appId: appid, serverUrl: url)
|
|
59
|
+
config.mode = TDMode.debug
|
|
60
|
+
TDAnalytics.start(with: config)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
:::
|
|
64
|
+
::::
|
|
65
|
+
|
|
66
|
+
1. Add Device
|
|
67
|
+
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.
|
|
68
|
+
<image token="IUGHbRmVQoizZhx9677cRiO0n4f" width="1280" height="590" align="center"/>
|
|
69
|
+
|
|
70
|
+
Device ID could be got by the following three means:
|
|
71
|
+
- #Device_id property in the event data of TE
|
|
72
|
+
- Client-side log: DeviceID would be outputted as log after SDK is initialized
|
|
73
|
+
- Call API:[Device ID](https://thinkingdata.feishu.cn/wiki/N4t8wyPNKip6pSkZsZvcYBpMnRc)
|
|
74
|
+
<quote-container>
|
|
75
|
+
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.
|
|
76
|
+
</quote-container>
|
|
77
|
+
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: ios_sdk_multi_instance
|
|
3
|
+
name: "Multi-Instance"
|
|
4
|
+
wikiToken: KBL1wNb45iIA0KkdHEmcYPXSnBc
|
|
5
|
+
parentWikiToken: N4t8wyPNKip6pSkZsZvcYBpMnRc
|
|
6
|
+
updateTime: 1774251967000
|
|
7
|
+
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v6.0&lan=en-US&code=ios_sdk_multi_instance
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## **1. Introduction of Multi-instance**
|
|
11
|
+
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.
|
|
12
|
+
In the iOS 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 Light-instance is consistent with the Appid of the parent instance, but the account number and other information are inconsistent.
|
|
13
|
+
|
|
14
|
+
## **2. How to Create Multiple ****SDK**** Instances**
|
|
15
|
+
Since 1.2.0 , Multiple SDK instances can be created by uploading different APP IDs to complete SDK initialization
|
|
16
|
+
```objectivec
|
|
17
|
+
[TDAnalytics enableLog:YES];
|
|
18
|
+
|
|
19
|
+
NSString *appId_1 = @"appId_1";
|
|
20
|
+
NSString *receiverUrl_1 = @"https://receiver-ta-preview.thinkingdata.cn";
|
|
21
|
+
[TDAnalytics startAnalyticsWithAppId:appId_1 serverUrl:receiverUrl_1];
|
|
22
|
+
|
|
23
|
+
NSString *appId_2 = @"appId_2";
|
|
24
|
+
NSString *receiverUrl_2 = @"https://receiver-ta-preview.thinkingdata.cn";
|
|
25
|
+
[TDAnalytics startAnalyticsWithAppId:appId_2 serverUrl:receiverUrl_2];
|
|
26
|
+
|
|
27
|
+
[TDAnalytics calibrateTimeWithNtp:@"time.apple.com"];
|
|
28
|
+
|
|
29
|
+
[TDAnalytics login:@"TD" withAppId:appId_1];
|
|
30
|
+
[TDAnalytics login:@"TD" withAppId:appId_2];
|
|
31
|
+
|
|
32
|
+
[TDAnalytics setDistinctId:@"Thinker" withAppId:appId_2];
|
|
33
|
+
|
|
34
|
+
// super property
|
|
35
|
+
[TDAnalytics setSuperProperties:@{@"channel": @"ta",} withAppId:appId_1];
|
|
36
|
+
[TDAnalytics setSuperProperties:@{@"channel": @"ta",} withAppId:appId_2];
|
|
37
|
+
[TDAnalytics unsetSuperProperty:@"isTest" withAppId:appId_1];
|
|
38
|
+
[TDAnalytics clearSuperPropertiesWithAppId:appId_1];
|
|
39
|
+
[TDAnalytics getSuperPropertiesWithAppId:appId_1];
|
|
40
|
+
[TDAnalytics setDynamicSuperProperties:^NSDictionary * _Nonnull{
|
|
41
|
+
return @{@"now": [NSDate date]};
|
|
42
|
+
} withAppId:appId_1];
|
|
43
|
+
|
|
44
|
+
// auto track
|
|
45
|
+
[TDAnalytics enableAutoTrack:TDAutoTrackEventTypeAppInstall | TDAutoTrackEventTypeAppStart | TDAutoTrackEventTypeAppEnd withAppId:appId_1];
|
|
46
|
+
[TDAnalytics setAutoTrackProperties:TDAutoTrackEventTypeAll properties:@{@"auto_key2": @"auto_value2"} withAppId:appId_1];
|
|
47
|
+
|
|
48
|
+
// track
|
|
49
|
+
[TDAnalytics track:@"product_buy" withAppId:appId_1];
|
|
50
|
+
|
|
51
|
+
// track first
|
|
52
|
+
TDFirstEventModel *firstModel = [[TDFirstEventModel alloc] initWithEventName:@"device_activation" firstCheckID:@"TD"];
|
|
53
|
+
firstModel.properties = @{@"key":@"value"};
|
|
54
|
+
[TDAnalytics trackWithEventModel:firstModel withAppId:appId_1];
|
|
55
|
+
|
|
56
|
+
// track update
|
|
57
|
+
TDUpdateEventModel *updateModel = [[TDUpdateEventModel alloc] initWithEventName:@"UPDATABLE_EVENT" eventID:@"test_event_id"];
|
|
58
|
+
updateModel.properties = @{@"status": @3, @"price": @100};
|
|
59
|
+
[TDAnalytics trackWithEventModel:updateModel withAppId:appId_1];
|
|
60
|
+
|
|
61
|
+
// track overwrite
|
|
62
|
+
TDOverwriteEventModel *overwriteModel = [[TDOverwriteEventModel alloc] initWithEventName:@"OVERWRITE_EVENT" eventID:@"test_event_id"];
|
|
63
|
+
overwriteModel.properties = @{@"status": @3, @"price": @100};
|
|
64
|
+
[TDAnalytics trackWithEventModel:overwriteModel withAppId:appId_1];
|
|
65
|
+
|
|
66
|
+
// time event
|
|
67
|
+
[TDAnalytics timeEvent:@"stay_shop" withAppId:appId_1];
|
|
68
|
+
/*
|
|
69
|
+
do someting .......
|
|
70
|
+
*/
|
|
71
|
+
// track time event
|
|
72
|
+
[TDAnalytics track:@"stay_shop" withAppId:appId_1];
|
|
73
|
+
|
|
74
|
+
// logout
|
|
75
|
+
[TDAnalytics logoutWithAppId:appId_1];
|
|
76
|
+
|
|
77
|
+
// user set
|
|
78
|
+
[TDAnalytics userSet:@{@"username": @"ThinkingData"} withAppId:appId_2];
|
|
79
|
+
|
|
80
|
+
// user set once
|
|
81
|
+
[TDAnalytics userSetOnce:@{@"first_payment_time": @"2018-01-01 01:23:45.678"} withAppId:appId_1];
|
|
82
|
+
|
|
83
|
+
// user add
|
|
84
|
+
[TDAnalytics userAdd:@{@"total_revenue": @30} withAppId:appId_1];
|
|
85
|
+
|
|
86
|
+
// user unset
|
|
87
|
+
[TDAnalytics userUnset:@"key" withAppId:appId_1];
|
|
88
|
+
|
|
89
|
+
// user delete
|
|
90
|
+
[TDAnalytics userDeleteWithAppId:appId_1];
|
|
91
|
+
|
|
92
|
+
// user append
|
|
93
|
+
[TDAnalytics userAppend:@{@"user_list": @[@"apple", @"ball"]} withAppId:appId_1];
|
|
94
|
+
|
|
95
|
+
// user uniqe append
|
|
96
|
+
[TDAnalytics userUniqAppend:@{@"user_list":@[@"apple", @"cube"]} withAppId:appId_1];
|
|
97
|
+
|
|
98
|
+
// flush event
|
|
99
|
+
[TDAnalytics flushWithAppId:appId_1];
|
|
100
|
+
|
|
101
|
+
// third party data
|
|
102
|
+
[TDAnalytics enableThirdPartySharing:TDThirdPartyTypeAppsFlyer withAppId:appId_1];
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
It should be noted that the Appid of multiple SDK instances must be different. Most data between multiple instances is not the same. For detailed information, please refer to section "Data and Setting Sharing between Multiple Instances".
|
|
106
|
+
## **3. Create a Light-instance**
|
|
107
|
+
From 3.0.0 , you can create multiple instances under the same Appid by creating light-instance
|
|
108
|
+
```objectivec
|
|
109
|
+
// original project
|
|
110
|
+
NSString *appId = @"appId";
|
|
111
|
+
NSString *receiverUrl = @"https://receiver-ta-preview.thinkingdata.cn";
|
|
112
|
+
[TDAnalytics startAnalyticsWithAppId:appId serverUrl:receiverUrl];
|
|
113
|
+
|
|
114
|
+
// create light project id with original project
|
|
115
|
+
NSString *lightProjectAppId = [TDAnalytics lightInstanceIdWithAppId:appId];
|
|
116
|
+
|
|
117
|
+
// track ...
|
|
118
|
+
[TDAnalytics track:@"event" withAppId:lightProjectAppId];
|
|
119
|
+
|
|
120
|
+
// user profile ....
|
|
121
|
+
[TDAnalytics userSet:@{@"age": 18} withAppId:lightProjectAppId];
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The Appid, receiver URL, and some settings of sub-light instances are the same as that of the parent instances, without sharing the other information. For detailed information, please refer to section 4 "Data and settings Sharing among Multiple Instances".
|
|
125
|
+
|
|
126
|
+
## **4. Data and Setting Sharing among Multiple Instances**
|
|
127
|
+
Since most API are called by instance objects, a majority of data and settings are not shared between Multi-appid instances, Parent-instances, and Light-instances. However, some data and settings will become valid for all instances. The detailed description of whether all data and settings are shared among multiple instances is as follows
|
|
128
|
+
1. Account information
|
|
129
|
+
- The distinct ID `#distinct_id` generated by the system by default: shared
|
|
130
|
+
- The distinct ID `#distinct_id` set by calling identify: not shared
|
|
131
|
+
- The distinct ID `#account_id` set by calling `login`: not shared
|
|
132
|
+
2. Event tracking `track` and user property track `userSet`, `userSetOnce`, `userAdd`, `userDelete` : not shared
|
|
133
|
+
3. Super property `setSuperProperties` and dynamic super property set `setDynamicSuperProperties`: not shared
|
|
134
|
+
4. Whether SDK configuration information is shared among multiple instances:
|
|
135
|
+
- Tracking policy related (i.e. the time interval of data tracking and the volume of each batch of data): shared, decided by the project data corresponding to the first instantiated Appid
|
|
136
|
+
- Upload network condition `setNetworkType`: shared
|
|
137
|
+
- Print uploaded data Log `EnableLog`: shared
|
|
138
|
+
5. Auto-tracking event
|
|
139
|
+
- It is suggested that Auto-Tracking be enabled on only one instance
|
|
140
|
+
- Support reporting auto-tracking events to multiple APP IDs
|
|
141
|
+
- The setting of auto-tracking events can only be worked for a single APPID instance, please refer to [Automatic Event Tracking](https://thinkingdata.feishu.cn/wiki/IqwOwQmTbiVNXZk8r4JcmZAMnie)
|
|
142
|
+
6. Record event duration `timeEvent`: not shared
|