@guru-ai-product/ai-product-kit 0.1.251112172507
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -0
- package/bin/setup.js +89 -0
- package/package.json +24 -0
- package/skills/aipk_design/GURU_AI.md +10 -0
- package/skills/aipk_design/SKILL.md +33 -0
- package/skills/aipk_design/auto_panel_splitter/SKILL.md +360 -0
- package/skills/aipk_design/auto_panel_splitter/scripts/auto_panel_splitter.js +399 -0
- package/skills/aipk_design/auto_panel_splitter/scripts/panel_asset_mapper.js +445 -0
- package/skills/aipk_development/GURU_AI.md +8 -0
- package/skills/aipk_development/SKILL.md +20 -0
- package/skills/aipk_development/templates//345/256/236/346/226/275/350/256/241/345/210/222/346/226/207/346/241/243.md +302 -0
- package/skills/aipk_init_project/SKILL.md +188 -0
- package/skills/aipk_init_project/scripts/check_agents.sh +55 -0
- package/skills/aipk_init_project/template/AGENTS_TEMPLATE.md +138 -0
- package/skills/aipk_operations/GURU_AI.md +10 -0
- package/skills/aipk_operations/SKILL.md +37 -0
- package/skills/aipk_operations/aso_new_release/SKILL.md +84 -0
- package/skills/aipk_operations/aso_new_release/references/aso-update-notes-prompt.md +196 -0
- package/skills/aipk_operations/aso_new_release/references/aso-update-notes-template.md +162 -0
- package/skills/aipk_requirements/GURU_AI.md +39 -0
- package/skills/aipk_requirements/SKILL.md +243 -0
- package/skills/aipk_requirements/changes/SKILL.md +196 -0
- package/skills/aipk_requirements/changes/template/index.md +30 -0
- package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/346/226/207/346/241/243/346/250/241/346/235/277.md +576 -0
- package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/347/224/237/346/210/220Prompt.md +349 -0
- package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/347/224/237/346/210/220/346/214/207/345/215/227.md +292 -0
- package/skills/aipk_requirements/documentation/SKILL.md +930 -0
- package/skills/aipk_requirements/documentation/template/1_/344/272/247/345/223/201/345/256/232/344/275/215/344/270/216/345/210/206/346/236/220.md +86 -0
- package/skills/aipk_requirements/documentation/template/2_/345/212/237/350/203/275/351/234/200/346/261/202.md +67 -0
- package/skills/aipk_requirements/documentation/template/3_/345/225/206/344/270/232/345/214/226/347/255/226/347/225/245.md +131 -0
- package/skills/aipk_requirements/documentation/template/4_/347/224/250/346/210/267/347/225/214/351/235/242/344/270/216/344/275/223/351/252/214.md +665 -0
- package/skills/aipk_requirements/documentation/template/AI /345/272/224/347/224/250/347/261/273APP/351/200/232/347/224/250/345/237/213/347/202/271/346/226/207/346/241/243.xlsx +0 -0
- package/skills/aipk_requirements/documentation/template/Draft_/344/272/247/345/223/201/351/234/200/346/261/202/350/215/211/347/250/277.md +60 -0
- package/skills/aipk_requirements/documentation/template/Draft_/347/224/250/346/210/267/346/227/205/347/250/213/350/215/211/347/250/277.md +84 -0
- package/skills/aipk_requirements/documentation/template/index.md +83 -0
- package/skills/aipk_requirements/documentation/template//345/237/213/347/202/271/350/247/204/350/214/203/346/226/207/346/241/243.md +372 -0
- package/skills/aipk_requirements/documentation/template//351/234/200/346/261/202/350/277/255/344/273/243/346/250/241/346/235/277.md +821 -0
- package/skills/aipk_requirements/documentation/template//351/234/200/346/261/202/350/277/255/344/273/243/347/264/242/345/274/225.md +30 -0
- package/skills/aipk_requirements/initiative_planning/SKILL.md +407 -0
- package/skills/aipk_requirements/initiative_planning/template/SWOT/345/210/206/346/236/220/346/250/241/346/235/277.md +381 -0
- package/skills/aipk_requirements/initiative_planning/template//344/272/247/345/223/201/350/247/204/345/210/222/346/250/241/346/235/277.md +322 -0
- package/skills/aipk_requirements/initiative_planning/template//345/225/206/344/270/232/345/214/226/350/247/204/345/210/222/346/250/241/346/235/277.md +201 -0
- package/skills/aipk_requirements/initiative_planning/template//345/270/202/345/234/272/344/270/216/345/225/206/344/270/232/345/210/206/346/236/220/346/250/241/346/235/277.md +176 -0
- package/skills/aipk_requirements/initiative_planning/template//346/212/200/346/234/257/350/247/204/345/210/222/346/250/241/346/235/277.md +314 -0
- package/skills/aipk_requirements/intake/SKILL.md +260 -0
- package/skills/aipk_requirements/intake/examples/K12/346/225/260/345/255/246/345/255/246/344/271/240/345/272/224/347/224/250/346/241/210/344/276/213.md +371 -0
- package/skills/aipk_requirements/intake/examples//347/224/265/345/225/206/345/271/263/345/217/260/344/274/230/345/214/226/346/241/210/344/276/213.md +426 -0
- package/skills/aipk_requirements/intake/references/Gemini_DeepResearch_/345/267/245/345/205/267/351/223/276/346/225/264/345/220/210/346/236/266/346/236/204/350/256/276/350/256/241.md +1272 -0
- package/skills/aipk_requirements/intake/template//344/272/247/345/223/201/351/234/200/346/261/202/345/217/221/347/216/260/344/270/216/351/252/214/350/257/201/346/250/241/346/235/277.md +53 -0
- package/skills/aipk_requirements/intake/template//345/270/202/345/234/272/346/234/272/344/274/232/350/257/204/344/274/260/344/270/216/347/253/236/344/272/211/345/210/206/346/236/220/346/250/241/346/235/277.md +53 -0
- package/skills/aipk_requirements/intake/template//346/212/200/346/234/257/346/226/271/346/241/210/350/257/204/344/274/260/344/270/216/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220/346/250/241/346/235/277.md +72 -0
- package/skills/aipk_requirements/intake/template//346/267/261/345/272/246/347/224/250/346/210/267/350/241/214/344/270/272/344/270/216/351/234/200/346/261/202/346/264/236/345/257/237/346/250/241/346/235/277.md +59 -0
- package/skills/aipk_requirements/review/SKILL.md +218 -0
- package/skills/aipk_skill_generate/GURU_AI.md +8 -0
- package/skills/aipk_skill_generate/SKILL.md +259 -0
- package/skills/aipk_skill_generate/agent_skills_spec.md +79 -0
- package/skills/aipk_tool_prompts/AI/344/275/223/351/252/214/350/256/276/350/256/241/346/214/207/345/215/227.md +93 -0
- package/skills/aipk_tool_prompts/GURU_AI.md +13 -0
- package/skills/aipk_tool_prompts/Prompt/347/224/237/346/210/220.md +20 -0
- package/skills/aipk_tool_prompts/SKILL.md +55 -0
- package/skills/aipk_tool_prompts/images/20250710200701.png +0 -0
- package/skills/aipk_tool_prompts/images/20250710200802.png +0 -0
- package/skills/aipk_tool_prompts//346/240/207/350/256/260/346/226/207/346/241/243/346/233/264/346/226/260.md +33 -0
- package/skills/aipk_tool_prompts//347/224/237/346/210/220DrawIO/346/226/207/346/241/243.md +45 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 产品需求草稿 (Draft)
|
|
2
|
+
|
|
3
|
+
## 1. 核心问题
|
|
4
|
+
|
|
5
|
+
**我们要解决什么问题?**
|
|
6
|
+
[用一句话描述用户的核心痛点或需求]
|
|
7
|
+
|
|
8
|
+
**谁会为这个问题付费?**
|
|
9
|
+
[描述目标用户,1-2句话]
|
|
10
|
+
|
|
11
|
+
## 2. 产品形态
|
|
12
|
+
|
|
13
|
+
**我们要做什么类型的产品?**
|
|
14
|
+
|
|
15
|
+
- [ ] 移动应用 (iOS/Android)
|
|
16
|
+
- [ ] Web应用
|
|
17
|
+
- [ ] 桌面应用
|
|
18
|
+
- [ ] 小程序
|
|
19
|
+
- [ ] 其他:[具体说明]
|
|
20
|
+
|
|
21
|
+
**为什么选择这个形态?**
|
|
22
|
+
[用一句话说明选择理由,如用户习惯、技术优势、分发渠道等]
|
|
23
|
+
|
|
24
|
+
## 3. 解决方案
|
|
25
|
+
|
|
26
|
+
**我们的核心价值是什么?**
|
|
27
|
+
[用一句话描述用户使用产品后能获得什么价值]
|
|
28
|
+
|
|
29
|
+
**核心功能(最多3个)**:
|
|
30
|
+
|
|
31
|
+
1. **[功能名称]**:[一句话描述做什么]
|
|
32
|
+
2. **[功能名称]**:[一句话描述做什么]
|
|
33
|
+
3. **[功能名称]**:[一句话描述做什么]
|
|
34
|
+
|
|
35
|
+
## 4. 商业模式
|
|
36
|
+
|
|
37
|
+
**如何赚钱?**
|
|
38
|
+
|
|
39
|
+
- [ ] 广告 (IAA)
|
|
40
|
+
- [ ] 付费功能 (IAP)
|
|
41
|
+
- [ ] 订阅
|
|
42
|
+
- [ ] 其他:[具体说明]
|
|
43
|
+
|
|
44
|
+
**定价思路**:[简单描述,如免费+付费、订阅价格等]
|
|
45
|
+
|
|
46
|
+
## 5. 关键指标
|
|
47
|
+
|
|
48
|
+
| 指标 | 目标值 |
|
|
49
|
+
|------|--------|
|
|
50
|
+
| [核心指标1] | [目标] |
|
|
51
|
+
| [核心指标2] | [目标] |
|
|
52
|
+
|
|
53
|
+
## 6. 最大风险
|
|
54
|
+
|
|
55
|
+
**最可能失败的原因是什么?**
|
|
56
|
+
[描述1-2个最关键的风险点]
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
**说明**:基于第一性原理的极简模板,专注最核心问题。确认后生成完整需求文档。
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# 用户旅程草稿 (Draft)
|
|
2
|
+
|
|
3
|
+
## 1. 核心用户旅程
|
|
4
|
+
|
|
5
|
+
| 旅程 | 场景描述 | 目标用户 | 用户目标 | 优先级 |
|
|
6
|
+
|------|----------|----------|----------|--------|
|
|
7
|
+
| 旅程1 | [一句话描述核心场景] | [用户类型] | [主要目标] | 最高 |
|
|
8
|
+
| 旅程2 | [一句话描述核心场景] | [用户类型] | [主要目标] | 中等 |
|
|
9
|
+
| 旅程3 | [一句话描述核心场景] | [用户类型] | [主要目标] | 较低 |
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 2. 旅程1:[场景名称]
|
|
14
|
+
|
|
15
|
+
**关键步骤**:
|
|
16
|
+
|
|
17
|
+
1. [步骤1]
|
|
18
|
+
2. [步骤2]
|
|
19
|
+
3. [步骤3]
|
|
20
|
+
4. [步骤4]
|
|
21
|
+
|
|
22
|
+
**主要痛点**:[用户遇到的关键问题]
|
|
23
|
+
|
|
24
|
+
```mermaid
|
|
25
|
+
journey
|
|
26
|
+
title [旅程1名称]
|
|
27
|
+
section 开始
|
|
28
|
+
[步骤1]: 3: 用户
|
|
29
|
+
section 进行
|
|
30
|
+
[步骤2]: 4: 用户
|
|
31
|
+
[步骤3]: 4: 用户
|
|
32
|
+
section 结束
|
|
33
|
+
[步骤4]: 3: 用户
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. 旅程2:[场景名称]
|
|
39
|
+
|
|
40
|
+
**关键步骤**:
|
|
41
|
+
|
|
42
|
+
1. [步骤1]
|
|
43
|
+
2. [步骤2]
|
|
44
|
+
3. [步骤3]
|
|
45
|
+
|
|
46
|
+
**主要痛点**:[用户遇到的关键问题]
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
journey
|
|
50
|
+
title [旅程2名称]
|
|
51
|
+
section 开始
|
|
52
|
+
[步骤1]: 3: 用户
|
|
53
|
+
section 进行
|
|
54
|
+
[步骤2]: 4: 用户
|
|
55
|
+
section 结束
|
|
56
|
+
[步骤3]: 3: 用户
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 4. 旅程3:[场景名称]
|
|
62
|
+
|
|
63
|
+
**关键步骤**:
|
|
64
|
+
|
|
65
|
+
1. [步骤1]
|
|
66
|
+
2. [步骤2]
|
|
67
|
+
3. [步骤3]
|
|
68
|
+
|
|
69
|
+
**主要痛点**:[用户遇到的关键问题]
|
|
70
|
+
|
|
71
|
+
```mermaid
|
|
72
|
+
journey
|
|
73
|
+
title [旅程3名称]
|
|
74
|
+
section 开始
|
|
75
|
+
[步骤1]: 3: 用户
|
|
76
|
+
section 进行
|
|
77
|
+
[步骤2]: 4: 用户
|
|
78
|
+
section 结束
|
|
79
|
+
[步骤3]: 3: 用户
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
**说明**:快速确认核心用户旅程,每个旅程控制在3-4个关键步骤内。
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# 需求文档模板索引
|
|
2
|
+
|
|
3
|
+
## 文档信息
|
|
4
|
+
|
|
5
|
+
| 项目 | 内容 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| 状态 | [草稿/审核中/已批准] |
|
|
8
|
+
|
|
9
|
+
## 修订历史
|
|
10
|
+
|
|
11
|
+
| 版本 | 日期 | 描述 | 作者 |
|
|
12
|
+
|------|------|------|------|
|
|
13
|
+
| v0.1 | [日期] | 初稿 | [作者] |
|
|
14
|
+
| v0.2 | [日期] | [修改内容摘要] | [作者] |
|
|
15
|
+
| v1.0 | [日期] | 正式发布 | [作者] |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
本索引提供了产品需求文档(PRD)的完整模板结构,包含快速草稿模板和四个独立的文档部分。
|
|
20
|
+
|
|
21
|
+
## 快速开始
|
|
22
|
+
|
|
23
|
+
### [产品需求草稿 (Draft)](./Draft_产品需求草稿.md)
|
|
24
|
+
|
|
25
|
+
- **内容概述**:产品核心定位、产品形态选择、核心功能、商业化思路、关键指标、主要风险
|
|
26
|
+
- **适用场景**:产品初期方向确定、快速验证想法、团队内部沟通
|
|
27
|
+
- **关键输出**:产品核心定位、产品形态选择、功能优先级、商业化方向
|
|
28
|
+
- **使用建议**:先完成草稿确认方向,再生成完整需求文档
|
|
29
|
+
|
|
30
|
+
## 完整文档结构
|
|
31
|
+
|
|
32
|
+
### [第一部分:产品定位与分析](./1_产品定位与分析.md)
|
|
33
|
+
|
|
34
|
+
- **内容概述**:产品背景、市场定位、目标用户分析、竞品分析
|
|
35
|
+
- **适用场景**:产品初期定位、市场机会评估、用户画像建立
|
|
36
|
+
- **关键输出**:产品愿景、目标市场、用户需求洞察
|
|
37
|
+
|
|
38
|
+
### [第二部分:功能需求](./2_功能需求.md)
|
|
39
|
+
|
|
40
|
+
- **内容概述**:核心功能列表、详细功能规格、优先级排序、非功能需求
|
|
41
|
+
- **适用场景**:功能设计、开发规划、技术评估
|
|
42
|
+
- **关键输出**:功能清单、验收标准、技术约束
|
|
43
|
+
|
|
44
|
+
### [第三部分:商业化策略](./3_商业化策略.md)
|
|
45
|
+
|
|
46
|
+
- **内容概述**:商业化模式、IAA和IAP策略、定价策略、功能分层、商业化指标
|
|
47
|
+
- **适用场景**:商业化规划、盈利模式设计、产品定价
|
|
48
|
+
- **关键输出**:商业化模式设计、定价方案、收入预测
|
|
49
|
+
|
|
50
|
+
### [第四部分:用户界面与体验](./4_用户界面与体验.md)
|
|
51
|
+
|
|
52
|
+
- **内容概述**:界面设计要求、用户体验流程、交互规范、UI草图
|
|
53
|
+
- **适用场景**:UI/UX设计、原型制作、用户测试
|
|
54
|
+
- **关键输出**:界面布局、交互流程、设计规范
|
|
55
|
+
- **特殊要求**:必须包含每个关键界面的UI草图
|
|
56
|
+
|
|
57
|
+
## 使用指南
|
|
58
|
+
|
|
59
|
+
### 文档导航规范
|
|
60
|
+
|
|
61
|
+
- 每个文档必须在开头包含导航链接
|
|
62
|
+
- 每个文档必须在结尾包含"上一部分"和"下一部分"的链接
|
|
63
|
+
- 索引文件提供整体概览和快速导航
|
|
64
|
+
|
|
65
|
+
### 文档命名规范
|
|
66
|
+
|
|
67
|
+
- 索引文件:`index.md`
|
|
68
|
+
- 各部分文档:`{序号}_{部分名称}.md`
|
|
69
|
+
- 确保文件名与链接保持一致
|
|
70
|
+
|
|
71
|
+
### 质量要求
|
|
72
|
+
|
|
73
|
+
- 内容简洁明了,便于阅读
|
|
74
|
+
- 前后内容保持统一
|
|
75
|
+
- 与前期研究发现保持一致
|
|
76
|
+
- 符合团队协作标准
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
**相关资源**:
|
|
81
|
+
|
|
82
|
+
- [需求文档撰写指南](../SKILL.md)
|
|
83
|
+
- [需求评审](../../review/SKILL.md)
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
# AI 应用类APP通用埋点规范文档
|
|
2
|
+
|
|
3
|
+
本文档定义了 AI 应用类APP的埋点事件和参数的标准规范,确保埋点方案的一致性和可复用性。在编写埋点需求时,**必须优先参考和复用已有的事件名和参数名**,避免重复定义。
|
|
4
|
+
|
|
5
|
+
## 1. 概念说明
|
|
6
|
+
|
|
7
|
+
### 埋点目的
|
|
8
|
+
|
|
9
|
+
埋点,也称打点。当用户在前端产生一些行为时,借助埋点来采集数据,对用户行为进行精准分析,是产品运营的基础数据支撑。
|
|
10
|
+
|
|
11
|
+
### 平台说明
|
|
12
|
+
|
|
13
|
+
- **Firebase**:Firebase 是Google 的移动开发平台,可帮助用户快速构建和发展应用,同时也是一个免费的数据采集平台,是Guru进行数据采集的主要平台之一。
|
|
14
|
+
- **Guru自打点平台**:Guru 自研的事件上报平台
|
|
15
|
+
- **事件**:用来记录用户的操作行为
|
|
16
|
+
- **参数**:用来记录用户操作行为的信息
|
|
17
|
+
- **用户属性**:用来记录用户当下的状态,需要注意,虽然事件和属性是相辅相成,它们有各自独立记录体系。
|
|
18
|
+
|
|
19
|
+
## 2. 埋点规定
|
|
20
|
+
|
|
21
|
+
### 2.1 命名规范
|
|
22
|
+
|
|
23
|
+
- **所有的事件名称、参数名称、用户属性都必须为小写**。如果涉及到连接符,一律使用下划线"_"。全部大写,驼峰命名格式等等均不符合要求。
|
|
24
|
+
- **BI中台建议项目方自定义事件的参数名称,尽量使用item_category、item_name、item_id**。这些参数名称用尽后再使用其他自定义参数
|
|
25
|
+
- **"value"字样作为事件参数时,尽量被定义为货币价值**,而不是用来记录时间或者其他数值
|
|
26
|
+
|
|
27
|
+
### 2.2 埋点注意事项
|
|
28
|
+
|
|
29
|
+
- Firebase 对上报事件的个数和参数名称以及参数个数有数量限制(详见官方文档)
|
|
30
|
+
- 用户属性类型,全部统一为string
|
|
31
|
+
- 用户属性的b_level 和b_play初始值是0,level_start和level_end的初始值为1
|
|
32
|
+
- 一个level_start对应一个level_end,两个事件意义对应。游戏重玩需要结束上一个level_start的对应的level_end,再开始 level_start。
|
|
33
|
+
- Facebook的purchase上报广告的累计收入0.01和0.2,只能上报一个策略,不可以同时上报。
|
|
34
|
+
- iap_purchase 的参数名是platform,tch_ad_rev_roas_001的参数名是ad_platform
|
|
35
|
+
- tch_ad_rev_roas_001记录广告收入是条件参数可以不用传,只有记录商店购买时条件参数为必传
|
|
36
|
+
- level_end_success_{num}的num是用户成功完成的局数
|
|
37
|
+
- IAP商品的product_id如果存在 offer 的话:product id = sku:basePlan:offerId;如果不存在 offer 的话:product id = sku
|
|
38
|
+
- 给adjust上报事件时,需要Adjust回调firebaseID和设备ID参数:user_pseudo_id、device_id。这两个值和firebase上报的用户属性值一致
|
|
39
|
+
|
|
40
|
+
### 2.3 参数选项说明
|
|
41
|
+
|
|
42
|
+
- **必选**:必须上报
|
|
43
|
+
- **可选**:根据业务需求决定是否上报
|
|
44
|
+
- **有则必选**:如果功能存在,则必须上报
|
|
45
|
+
- **ios必选**:iOS平台必须上报
|
|
46
|
+
- **条件必选**:满足特定条件时必选
|
|
47
|
+
- **android必选**:Android平台必须上报
|
|
48
|
+
|
|
49
|
+
## 3. 已定义事件库
|
|
50
|
+
|
|
51
|
+
### 3.1 IAP相关事件
|
|
52
|
+
|
|
53
|
+
| 事件名 | 描述 | 触发条件 | Firebase | Guru | Adjust | Facebook |
|
|
54
|
+
|--------|------|----------|----------|------|--------|----------|
|
|
55
|
+
| iap_purchase | 购买一次性商品 | 用户购买一次性商品时触发 | Required | Required | Required | Unnecessary |
|
|
56
|
+
| sub_purchase | 购买订阅商品 | 用户购买订阅商品时触发 | Required | Required | Required | Unnecessary |
|
|
57
|
+
| iap_imp | 展示iap商品页面 | 展示iap商店商品页时触发 | Required | Required | Unnecessary | Unnecessary |
|
|
58
|
+
| iap_close | 关闭iap商品页面 | 关闭iap商店商品展示页时触发 | Required | Required | Unnecessary | Unnecessary |
|
|
59
|
+
| iap_clk | 点击iap商品 | 点击iap商店商品展示页时触发 | Required | Required | Unnecessary | Unnecessary |
|
|
60
|
+
| iap_ret_true | iap付费成功 | app 内付费或试用成功打点 | Required | Required | Required | Unnecessary |
|
|
61
|
+
| iap_ret_false | iap付费失败 | app 内付费或试用失败打点 | Required | Required | Unnecessary | Unnecessary |
|
|
62
|
+
|
|
63
|
+
### 3.2 广告相关事件
|
|
64
|
+
|
|
65
|
+
#### 广告收入相关
|
|
66
|
+
|
|
67
|
+
| 事件名 | 描述 | 触发条件 | Firebase | Guru | Adjust | Facebook |
|
|
68
|
+
|--------|------|----------|----------|------|--------|----------|
|
|
69
|
+
| tch_ad_rev_roas_001 | 用户收入累计0.01美金 | 用户的广告收入累计达到0.01美金时触发,或用户购买一笔商店商品时触发 | Required | Required | Unnecessary | Required |
|
|
70
|
+
| tch_ad_rev_roas_02 | 用户收入累计0.2美金 | 用户的广告收入累计达到0.2美金时触发,或用户购买一笔商店商品时触发 | Optional | Optional | Unnecessary | Optional |
|
|
71
|
+
| ad_impression | 每一条广告展示 | 每产生一笔广告收入,触发该事件 | Required | Required | Unnecessary | Unnecessary |
|
|
72
|
+
|
|
73
|
+
#### Banner广告 (bads)
|
|
74
|
+
|
|
75
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
76
|
+
|--------|------|----------|------|--------|----------|
|
|
77
|
+
| bads_load | Banner广告加载 | Required | Required | Unnecessary | Unnecessary |
|
|
78
|
+
| bads_loaded | Banner广告加载完成 | Required | Required | Unnecessary | Unnecessary |
|
|
79
|
+
| bads_failed | Banner广告加载失败 | Required | Required | Unnecessary | Unnecessary |
|
|
80
|
+
| bads_imp | Banner广告展示 | Required | Required | Unnecessary | Unnecessary |
|
|
81
|
+
| bads_clk | Banner广告点击 | Required | Required | Unnecessary | Unnecessary |
|
|
82
|
+
|
|
83
|
+
#### 插屏广告 (iads)
|
|
84
|
+
|
|
85
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
86
|
+
|--------|------|----------|------|--------|----------|
|
|
87
|
+
| iads_load | 插屏广告加载 | Required | Required | Unnecessary | Unnecessary |
|
|
88
|
+
| iads_loaded | 插屏广告加载完成 | Required | Required | Unnecessary | Unnecessary |
|
|
89
|
+
| iads_failed | 插屏广告加载失败 | Required | Required | Unnecessary | Unnecessary |
|
|
90
|
+
| iads_imp | 插屏广告展示 | Required | Required | Unnecessary | Unnecessary |
|
|
91
|
+
| iads_clk | 插屏广告点击 | Required | Required | Unnecessary | Unnecessary |
|
|
92
|
+
| iads_close | 插屏广告关闭 | Required | Required | Unnecessary | Unnecessary |
|
|
93
|
+
|
|
94
|
+
#### 激励广告 (rads)
|
|
95
|
+
|
|
96
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
97
|
+
|--------|------|----------|------|--------|----------|
|
|
98
|
+
| rads_load | 激励广告加载 | Required | Required | Unnecessary | Unnecessary |
|
|
99
|
+
| rads_loaded | 激励广告加载完成 | Required | Required | Unnecessary | Unnecessary |
|
|
100
|
+
| rads_failed | 激励广告加载失败 | Required | Required | Unnecessary | Unnecessary |
|
|
101
|
+
| rads_imp | 激励广告展示 | Required | Required | Unnecessary | Unnecessary |
|
|
102
|
+
| rads_clk | 激励广告点击 | Required | Required | Unnecessary | Unnecessary |
|
|
103
|
+
| rads_rewarded | 激励广告获得奖励 | Required | Required | Unnecessary | Unnecessary |
|
|
104
|
+
| first_rads_rewarded | 首次激励广告获得奖励 | Required | Required | Unnecessary | Unnecessary |
|
|
105
|
+
| rads_close | 激励广告关闭 | Required | Required | Unnecessary | Unnecessary |
|
|
106
|
+
|
|
107
|
+
#### 开屏广告 (oads)
|
|
108
|
+
|
|
109
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
110
|
+
|--------|------|----------|------|--------|----------|
|
|
111
|
+
| oads_load | 开屏广告加载 | Required | Required | Unnecessary | Unnecessary |
|
|
112
|
+
| oads_loaded | 开屏广告加载完成 | Required | Required | Unnecessary | Unnecessary |
|
|
113
|
+
| oads_failed | 开屏广告加载失败 | Required | Required | Unnecessary | Unnecessary |
|
|
114
|
+
| oads_imp | 开屏广告展示 | Required | Required | Unnecessary | Unnecessary |
|
|
115
|
+
| oads_close | 开屏广告关闭 | Required | Required | Unnecessary | Unnecessary |
|
|
116
|
+
|
|
117
|
+
#### 原生广告 (nads)
|
|
118
|
+
|
|
119
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
120
|
+
|--------|------|----------|------|--------|----------|
|
|
121
|
+
| nads_load | 原生广告加载 | Required | Required | Unnecessary | Unnecessary |
|
|
122
|
+
| nads_loaded | 原生广告加载完成 | Required | Required | Unnecessary | Unnecessary |
|
|
123
|
+
| nads_failed | 原生广告加载失败 | Required | Required | Unnecessary | Unnecessary |
|
|
124
|
+
| nads_imp | 原生广告展示 | Required | Required | Unnecessary | Unnecessary |
|
|
125
|
+
| nads_close | 原生广告关闭 | Required | Required | Unnecessary | Unnecessary |
|
|
126
|
+
|
|
127
|
+
### 3.3 iOS弹窗相关事件
|
|
128
|
+
|
|
129
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
130
|
+
|--------|------|----------|------|--------|----------|
|
|
131
|
+
| att_result | ATT授权结果 | Required | Required | Unnecessary | Unnecessary |
|
|
132
|
+
|
|
133
|
+
### 3.4 Android推送相关事件
|
|
134
|
+
|
|
135
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
136
|
+
|--------|------|----------|------|--------|----------|
|
|
137
|
+
| noti_perm_imp | 通知权限弹窗展示 | Required | Required | Unnecessary | Unnecessary |
|
|
138
|
+
| noti_perm_result | 通知权限结果 | Required | Required | Unnecessary | Unnecessary |
|
|
139
|
+
| noti_perm_rationale_imp | 通知权限说明弹窗展示 | Required | Required | Unnecessary | Unnecessary |
|
|
140
|
+
| noti_perm_rationale_result | 通知权限说明弹窗结果 | Required | Required | Unnecessary | Unnecessary |
|
|
141
|
+
|
|
142
|
+
### 3.5 Google DMA相关事件
|
|
143
|
+
|
|
144
|
+
| 事件名 | 描述 | Firebase | Guru | Adjust | Facebook |
|
|
145
|
+
|--------|------|----------|------|--------|----------|
|
|
146
|
+
| dma_gg | Google DMA | Required | Required | Unnecessary | Unnecessary |
|
|
147
|
+
|
|
148
|
+
### 3.6 项目方自定义事件(UserAction)
|
|
149
|
+
|
|
150
|
+
#### 着陆相关
|
|
151
|
+
|
|
152
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
153
|
+
|--------|------|----------|--------|
|
|
154
|
+
| app_landing_start | App着陆开始 | 当用户打开 App,开始处理 landing 过程时打点 | 有则必选 |
|
|
155
|
+
| app_landing_complete | App着陆完成 | 当用户打开 App,完成landing过程后打点 | 有则必选 |
|
|
156
|
+
| app_landing_failed | App着陆失败 | Landing过程中出错,则处理错误后打点 | 有则必选 |
|
|
157
|
+
|
|
158
|
+
#### 登录相关
|
|
159
|
+
|
|
160
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
161
|
+
|--------|------|----------|--------|
|
|
162
|
+
| user_login | 用户登录 | 用户点击登录后打点 | 有则必选 |
|
|
163
|
+
| user_login_succeed | 用户登录成功 | 用户登录成功后打点 | 有则必选 |
|
|
164
|
+
| user_login_failed | 用户登录失败 | 用户登录失败后打点 | 有则必选 |
|
|
165
|
+
| user_logout | 用户登出 | 用户点击登出后打点 | 有则必选 |
|
|
166
|
+
| user_logout_succeed | 用户登出成功 | 用户登出成功后打点 | 有则必选 |
|
|
167
|
+
| user_logout_failed | 用户登出失败 | 用户登出失败后打点 | 有则必选 |
|
|
168
|
+
|
|
169
|
+
#### 权限获取相关
|
|
170
|
+
|
|
171
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
172
|
+
|--------|------|----------|--------|
|
|
173
|
+
| photo_permission_dialog_show | 相册权限弹窗展示 | 相册权限弹窗展示时打点(请求) | 有则必选 |
|
|
174
|
+
| photo_permission_result | 相册权限结果 | - | 有则必选 |
|
|
175
|
+
| photo_permission_granted | 相册权限授权 | 相册权限弹窗用户选择 allow 时打点(==authorized) | 有则必选 |
|
|
176
|
+
| photo_permission_denied | 相册权限拒绝 | 相册权限弹窗用户选择 don't allow 时打点(==denied) | 有则必选 |
|
|
177
|
+
| tutorial_photo_permission_skip | 引导页相册权限跳过 | 在引导过程中因为获取了相册权限跳过了对应的引导页时打此点 | 有则必选 |
|
|
178
|
+
|
|
179
|
+
#### 引导页IAP相关
|
|
180
|
+
|
|
181
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
182
|
+
|--------|------|----------|--------|
|
|
183
|
+
| tutorial_iap_imp | 引导页IAP展示 | IAP付费引导开始且第一页曝光 | 有则必选 |
|
|
184
|
+
| tutorial_iap_clk | 引导页IAP点击 | 点击IAP商品时打点 | 有则必选 |
|
|
185
|
+
| tutorial_iap_ret_true | 引导页IAP付费成功 | IAP付费或试用成功打点 | 有则必选 |
|
|
186
|
+
| tutorial_iap_ret_false | 引导页IAP付费失败 | IAP付费或试用失败打点 | 有则必选 |
|
|
187
|
+
| tutorial_iap_close | 引导页IAP关闭 | 点击「X」按钮或「Skip」按钮时打点 | 有则必选 |
|
|
188
|
+
|
|
189
|
+
#### IAP相关
|
|
190
|
+
|
|
191
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
192
|
+
|--------|------|----------|--------|
|
|
193
|
+
| iap_pop_up_failed | IAP弹窗失败 | 当 iap 的付费半窗弹出失败时打点 | 有则必选 |
|
|
194
|
+
|
|
195
|
+
#### Rating相关
|
|
196
|
+
|
|
197
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
198
|
+
|--------|------|----------|--------|
|
|
199
|
+
| rating_show | 评分弹窗展示 | 当引导用户评分弹窗弹出时打点 | 必选 |
|
|
200
|
+
| rating_positive_submit | 评分5星提交 | 当用户评分5星时打点 | 必选 |
|
|
201
|
+
| rating_negative_submit | 评分低于5星提交 | 当用户评分低于5星时打点 | 必选 |
|
|
202
|
+
| rating_close | 评分弹窗关闭 | 当用户没有评分,关闭弹窗时打点 | 必选 |
|
|
203
|
+
|
|
204
|
+
#### 上传下载相关
|
|
205
|
+
|
|
206
|
+
| 事件名 | 描述 | 触发条件 | 必选性 |
|
|
207
|
+
|--------|------|----------|--------|
|
|
208
|
+
| upload_task_start | 上传任务开始 | 开始上传 | 有则必选 |
|
|
209
|
+
| upload_task_get_config | 获取上传Token | 开始获取 Token | 有则必选 |
|
|
210
|
+
| upload_task_get_config_success | 获取Token成功 | 获取 Token 成功 | 有则必选 |
|
|
211
|
+
| upload_task_get_config_failed | 获取Token失败 | 获取 Token 失败 | 有则必选 |
|
|
212
|
+
| upload_task_failed | 上传失败 | 上传失败 | 有则必选 |
|
|
213
|
+
| upload_task_finish | 上传完成 | 上传完成 | 有则必选 |
|
|
214
|
+
| download_task_start | 下载任务开始 | 开始下载 | 有则必选 |
|
|
215
|
+
| download_task_failed | 下载失败 | 下载失败 | 有则必选 |
|
|
216
|
+
| download_task_finish | 下载完成 | 下载完成 | 有则必选 |
|
|
217
|
+
|
|
218
|
+
## 4. 已定义参数库
|
|
219
|
+
|
|
220
|
+
### 4.1 通用参数
|
|
221
|
+
|
|
222
|
+
| 参数名 | 类型 | 描述 | 示例值 | 必选性 |
|
|
223
|
+
|--------|------|------|--------|--------|
|
|
224
|
+
| item_category | string | 界面跳转的来源/文件类型/场景分类 | 从某个场景跳转 | 必选/可选 |
|
|
225
|
+
| item_name | string | 商品ID/产品ID | 商品id | 必选/可选 |
|
|
226
|
+
| item_id | string | 具体的主题id/项目ID | 具体的主题 id | 可选 |
|
|
227
|
+
| product_id | string | 商店购买商品ID | 商品id(如果存在 offer 的话:product id = sku:basePlan:offerId;如果不存在 offer 的话:product id = sku) | 必选/条件必选 |
|
|
228
|
+
| value | double | 收入价值/商品价格/货币价值 | 实际累计值,如0.01345 | 必选 |
|
|
229
|
+
| currency | string | 收入币种/付费币种 | USD/用户的付费币种 | 必选 |
|
|
230
|
+
| platform | string | 商店平台 | GooglePlay:google_play / AppleStore:appstore | 必选 |
|
|
231
|
+
| ad_platform | string | 收入平台/广告平台 | 使用MAX广告平台:MAX / 使用ADMOB广告平台:ADMOB / 商店购买:google_play/appstore/thirdparty | 必选 |
|
|
232
|
+
| order_type | string | 商店购买订单类型 | IAP/SUB | 必选/条件必选 |
|
|
233
|
+
| order_id | string | 商店购买订单ID | 系统返回orderid | 必选/条件必选 |
|
|
234
|
+
| trans_ts | timestamp | 商店购买付费时间戳 | - | 必选/条件必选 |
|
|
235
|
+
| type | string | 商品类型/评分时机/文件类型等 | 订阅商品:subscription / 一次性商品:product / 评分时机:first/notfirst | 必选/可选 |
|
|
236
|
+
| isfree | string | 是否试用 | 试用:1 / 付费:0 | 必选 |
|
|
237
|
+
| duration | int | 时间长度(毫秒) | 毫秒 | 可选 |
|
|
238
|
+
| error_code | string | 报错的分类编码 | 默认:-1 / 网络问题:400 | 可选 |
|
|
239
|
+
| err | string | 具体的报错信息(异常信息) | 具体的错误信息 | 可选 |
|
|
240
|
+
| result | string | 结果 | permanentlyDenied/denied/granted/notDetermined | 可选 |
|
|
241
|
+
|
|
242
|
+
### 4.2 参数值枚举
|
|
243
|
+
|
|
244
|
+
#### platform 枚举值
|
|
245
|
+
|
|
246
|
+
- `google_play` - GooglePlay商店
|
|
247
|
+
- `appstore` - AppleStore商店
|
|
248
|
+
- `thirdparty` - 第三方商店
|
|
249
|
+
|
|
250
|
+
#### ad_platform 枚举值
|
|
251
|
+
|
|
252
|
+
- `MAX` - MAX广告平台
|
|
253
|
+
- `ADMOB` - ADMOB广告平台
|
|
254
|
+
- `google_play` - GooglePlay商店购买
|
|
255
|
+
- `appstore` - AppleStore商店购买
|
|
256
|
+
- `thirdparty` - 第三方商店购买
|
|
257
|
+
|
|
258
|
+
#### order_type 枚举值
|
|
259
|
+
|
|
260
|
+
- `IAP` - 商店内购买一次性商品
|
|
261
|
+
- `SUB` - 商店内购买订阅商品
|
|
262
|
+
|
|
263
|
+
#### type 枚举值(商品类型)
|
|
264
|
+
|
|
265
|
+
- `subscription` - 订阅商品
|
|
266
|
+
- `product` - 一次性商品
|
|
267
|
+
|
|
268
|
+
#### type 枚举值(评分时机)
|
|
269
|
+
|
|
270
|
+
- `first` - 首次评分
|
|
271
|
+
- `notfirst` - 非首次评分
|
|
272
|
+
|
|
273
|
+
#### isfree 枚举值
|
|
274
|
+
|
|
275
|
+
- `1` - 试用
|
|
276
|
+
- `0` - 付费
|
|
277
|
+
|
|
278
|
+
#### result 枚举值(权限)
|
|
279
|
+
|
|
280
|
+
- `permanentlyDenied` - 完全禁止
|
|
281
|
+
- `denied` - 禁止
|
|
282
|
+
- `granted` - 授权
|
|
283
|
+
- `notDetermined` - 未决定
|
|
284
|
+
|
|
285
|
+
#### item_category 枚举值(文件类型)
|
|
286
|
+
|
|
287
|
+
- `image` - 图片 (jpg\jpeg\png\gif\webp\bpm\tiff\tif\heic\heif\ico\svg\ai\eps\raw\psd)
|
|
288
|
+
- `video` - 视频(mov\mp4\avi\wmv\mkv\flv\webm\mpeg\mpg\avchd\3gp\vob\ogv\asf\m4v\rmvb\ts\qt\divx\xvid\f4v\mxf\swf\dv)
|
|
289
|
+
- `audio` - 音频(mp3\wav\flac\aac\ogg\wma\m4a\ape\alac\aiff\opus\pcm\ac3\dts\au\amr\midi\mid)
|
|
290
|
+
- `file` - 文件(txt\doc\docx\pdf\rtf\odt\md\html\htm\xml\json\csv\tex\log\ini\cfg\conf\yaml\yml\sub\srt\pages\key\ppt\pptx\xls\xlsx\epub\mobi\azw\bat\sh\py\js\css\php\java\c\cpp\h\cs\rb\go\swift\kt\sql\ps1\vb\vbs)
|
|
291
|
+
- `package` - 压缩包(zip\rar\7z\tar\gz\bz2\xz\tgz\jar\arj\cab\iso\dmg\lha\z\sitx\deb\rpm\apk)
|
|
292
|
+
- `others` - 其他
|
|
293
|
+
|
|
294
|
+
## 5. 已定义用户属性库
|
|
295
|
+
|
|
296
|
+
### 5.1 Firebase/Guru通用用户属性
|
|
297
|
+
|
|
298
|
+
| 属性名 | 类型 | 描述 | 示例值 | 必选性 |
|
|
299
|
+
|--------|------|------|--------|--------|
|
|
300
|
+
| user_id | string | 后端中台生成ID | 新用户第一次打开APP时记录 | 必选 |
|
|
301
|
+
| device_id | string | 用户的设备ID | 用户的设备ID | 必选 |
|
|
302
|
+
| first_open_time | string | 用户第一次first_open的时间戳,单位毫秒 | - | 必选 |
|
|
303
|
+
| is_iap_user | string | 是否为付费用户 | true/false(付费成功后设置属性参数为true,如果没有发生付费缺省为false) | 必选 |
|
|
304
|
+
| att_status | string | ATT授权状态 | authorized/denied/restricted/notDetermined/notApplicable | ios必选 |
|
|
305
|
+
| noti_perm | string | 消息通知权限状态 | Android: granted/denied / iOS: granted/denied/provisional/not_determined | 可选 |
|
|
306
|
+
|
|
307
|
+
### 5.2 Guru Info信息
|
|
308
|
+
|
|
309
|
+
| 属性名 | 类型 | 描述 | 示例值 | 必选性 |
|
|
310
|
+
|--------|------|------|--------|--------|
|
|
311
|
+
| info.deviceId | string | 设备ID(用户的设备ID,iOS取用户的IDFV或UUID,Android取androidID) | - | 必选(必须达到100%) |
|
|
312
|
+
| info.uid | string | 中台ID | - | 必选(必须达到95%以上,只在未获取到uid时可以为空) |
|
|
313
|
+
| info.adjustId | string | adjust_id | - | 必选(必须达到95%以上,只在未获取到adjust时可以为空) |
|
|
314
|
+
| info.adId | string | 广告 ID/广告标识符 (IDFA) | - | 必选(必须达到95%以上) |
|
|
315
|
+
| info.firebaseId | string | 用户的pseudo_id | - | 必选(必须达到100%) |
|
|
316
|
+
|
|
317
|
+
### 5.3 项目方自定义用户属性
|
|
318
|
+
|
|
319
|
+
| 属性名 | 类型 | 描述 | 示例值 | 必选性 |
|
|
320
|
+
|--------|------|------|--------|--------|
|
|
321
|
+
| pro_user_type | string | 用户当前的会员状态 | pro:会员 / nonpro:非会员 / freetrial:免费试用中 / unkown:尚未获取或者正在获取 / failed:会员状态获取失败 / expired:会员失效且超过宽限期 / expired_grace:会员失效但在宽限期内 | 必选 |
|
|
322
|
+
| pro_user_order_id | string | 用户的 order id(根 order) | 只记录当前生效的 order id,失效的不记。同一个订阅应该是同样的order id | 必选 |
|
|
323
|
+
|
|
324
|
+
## 6. 使用指南
|
|
325
|
+
|
|
326
|
+
### 6.1 复用已有事件和参数
|
|
327
|
+
|
|
328
|
+
在编写埋点需求时,**必须优先检查上述事件库和参数库**:
|
|
329
|
+
|
|
330
|
+
1. **优先复用已有事件**:检查上述事件库,如果已有事件符合需求,必须直接使用已有事件名,不要创建新的事件名
|
|
331
|
+
2. **优先复用已有参数**:检查上述参数库,如果已有参数符合需求,必须直接使用已有参数名,不要创建新的参数名
|
|
332
|
+
3. **新增事件或参数**:如果需要新增,必须严格遵循命名规范(全小写,使用下划线),并在输出中明确标注为新增项
|
|
333
|
+
|
|
334
|
+
### 6.2 事件和参数的组合
|
|
335
|
+
|
|
336
|
+
每个事件应包含:
|
|
337
|
+
|
|
338
|
+
- **必需参数**:根据事件类型选择对应的必需参数
|
|
339
|
+
- **可选参数**:根据业务需求选择对应的可选参数
|
|
340
|
+
- **参数值**:使用上述枚举值中的标准值
|
|
341
|
+
|
|
342
|
+
### 6.3 命名一致性检查
|
|
343
|
+
|
|
344
|
+
在生成埋点方案后,检查:
|
|
345
|
+
|
|
346
|
+
- 事件名是否符合全小写+下划线格式
|
|
347
|
+
- 参数名是否符合全小写+下划线格式
|
|
348
|
+
- 是否复用了已有的事件和参数名
|
|
349
|
+
- 枚举值是否使用了标准值
|
|
350
|
+
- 参数类型是否正确(string/double/int/timestamp)
|
|
351
|
+
|
|
352
|
+
### 6.4 平台上报要求
|
|
353
|
+
|
|
354
|
+
根据"不同平台打点checklist"表格,确定每个事件需要在哪些平台上报:
|
|
355
|
+
|
|
356
|
+
- **Required**:必须上报
|
|
357
|
+
- **Optional**:可选上报
|
|
358
|
+
- **Unnecessary**:不需要上报
|
|
359
|
+
|
|
360
|
+
## 7. 常见问题
|
|
361
|
+
|
|
362
|
+
- **没有展示广告,打印了ad_impression**:确保只在有广告展示时才触发该事件
|
|
363
|
+
- **重启app,用户属性的b_level,b_play,is_iap_user等参数值被重置了**:检查用户属性的持久化逻辑
|
|
364
|
+
- **iap_purchase和sub_purchase的参数,同时存在platform和ad_platform,预期只有platform**:确保正确使用参数名,iap_purchase使用platform,tch_ad_rev_roas_001使用ad_platform
|
|
365
|
+
|
|
366
|
+
## 8. 更新记录
|
|
367
|
+
|
|
368
|
+
本文档应随埋点规范的更新而同步更新。新增事件或参数时,请及时更新本文档。
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
**注意**:本文档是埋点规范的核心参考文档,所有埋点方案设计都应遵循本文档的规范。在生成埋点需求时,必须优先复用本文档中已定义的事件和参数。
|