张善主

fix(埋点):版面页面埋点

1 import { ContentDTO, NewspaperListItemBean, NewspaperPositionItemBean, Params } from 'wdBean'; 1 import { ContentDTO, NewspaperListItemBean, NewspaperPositionItemBean, Params } from 'wdBean';
2 import { StringUtils } from 'wdKit'; 2 import { StringUtils } from 'wdKit';
3 import { ProcessUtils } from 'wdRouter'; 3 import { ProcessUtils } from 'wdRouter';
  4 +import { TrackingContent,TrackConstants } from 'wdTracking/Index';
4 import { newsSkeleton } from './skeleton/newsSkeleton'; 5 import { newsSkeleton } from './skeleton/newsSkeleton';
5 6
6 @Component 7 @Component
@@ -13,6 +14,20 @@ export struct ENewspaperItemComponent { @@ -13,6 +14,20 @@ export struct ENewspaperItemComponent {
13 private itemBeanClicked: NewspaperPositionItemBean = {} as NewspaperPositionItemBean 14 private itemBeanClicked: NewspaperPositionItemBean = {} as NewspaperPositionItemBean
14 @State isShowSkeleton: boolean = true 15 @State isShowSkeleton: boolean = true
15 16
  17 + aboutToAppear(): void {
  18 + for (let index = 0; index < this.newspaperListItemBean.items.length; index++) {
  19 + const element = this.newspaperListItemBean.items[index];
  20 + TrackingContent.common(TrackConstants.EventType.Show,TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  21 + ,{
  22 + 'contentName':element.title,
  23 + 'contentType':element.newsType,
  24 + 'contentId':element.newsId,
  25 + 'panelNumber':this.newspaperListItemBean.pageNum,
  26 + 'panelName':this.newspaperListItemBean.pageName,
  27 + 'readMode':'1',
  28 + })
  29 + }
  30 + }
16 build() { 31 build() {
17 Stack() { 32 Stack() {
18 newsSkeleton() 33 newsSkeleton()
@@ -70,6 +85,16 @@ export struct ENewspaperItemComponent { @@ -70,6 +85,16 @@ export struct ENewspaperItemComponent {
70 relType:this.itemBeanClicked.relType ?? '0' 85 relType:this.itemBeanClicked.relType ?? '0'
71 } as ContentDTO 86 } as ContentDTO
72 ProcessUtils.processPage(content) 87 ProcessUtils.processPage(content)
  88 + //内容点击
  89 + TrackingContent.commentClickWithEvent('current_Number_Panel_content_click',TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  90 + ,{
  91 + 'contentName':this.itemBeanClicked.title,
  92 + 'contentType':this.itemBeanClicked.newsType,
  93 + 'contentId':this.itemBeanClicked.newsId,
  94 + 'panelNumber':this.newspaperListItemBean.pageNum,
  95 + 'panelName':this.newspaperListItemBean.pageName,
  96 + 'readMode':'1',
  97 + })
73 this.itemBeanClicked = {} as NewspaperPositionItemBean 98 this.itemBeanClicked = {} as NewspaperPositionItemBean
74 } 99 }
75 } 100 }
@@ -10,7 +10,7 @@ import { ENewspaperPageDialog } from '../dialog/ENewspaperPageDialog'; @@ -10,7 +10,7 @@ import { ENewspaperPageDialog } from '../dialog/ENewspaperPageDialog';
10 import { RMCalendarBean } from './calendar/RMCalendarBean'; 10 import { RMCalendarBean } from './calendar/RMCalendarBean';
11 import { newsSkeleton } from './skeleton/newsSkeleton'; 11 import { newsSkeleton } from './skeleton/newsSkeleton';
12 import { Logger, ToastUtils, NetworkUtil } from 'wdKit/Index'; 12 import { Logger, ToastUtils, NetworkUtil } from 'wdKit/Index';
13 -import { promptAction } from '@kit.ArkUI'; 13 +import { TrackingContent,TrackConstants, TrackingButton } from 'wdTracking/Index';
14 14
15 @Component 15 @Component
16 export struct ENewspaperPageComponent { 16 export struct ENewspaperPageComponent {
@@ -34,6 +34,15 @@ export struct ENewspaperPageComponent { @@ -34,6 +34,15 @@ export struct ENewspaperPageComponent {
34 let _swiperIndex = Number.parseInt(this.currentPageNum) 34 let _swiperIndex = Number.parseInt(this.currentPageNum)
35 console.log("ENewspaperPageComponent-onCurrentPageNumUpdated", "_swiperIndex:", _swiperIndex) 35 console.log("ENewspaperPageComponent-onCurrentPageNumUpdated", "_swiperIndex:", _swiperIndex)
36 this.swiperIndex = _swiperIndex > 0 ? _swiperIndex - 1 : _swiperIndex 36 this.swiperIndex = _swiperIndex > 0 ? _swiperIndex - 1 : _swiperIndex
  37 +
  38 + //电子报--版面序号选择点击
  39 + TrackingContent.commentClickWithEvent('panel_number_selection_click',TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  40 + ,{
  41 + 'panelNumber':this.newspaperListBean?.list[this.swiperIndex].pageNum,
  42 + 'panelName':this.newspaperListBean?.list[this.swiperIndex].pageName,
  43 + 'currentPanelDate':this.selectDate.toDateString(),
  44 + 'currentNumber':this.swiperIndex,
  45 + })
37 } 46 }
38 47
39 //日历选择弹框 48 //日历选择弹框
@@ -51,6 +60,14 @@ export struct ENewspaperPageComponent { @@ -51,6 +60,14 @@ export struct ENewspaperPageComponent {
51 this.selectDate = 60 this.selectDate =
52 new Date(date.fullYear ? date.fullYear : 0, date.month ? date.month : 0, date.date ? date.date : 0) 61 new Date(date.fullYear ? date.fullYear : 0, date.month ? date.month : 0, date.date ? date.date : 0)
53 } 62 }
  63 + //日历选择点击
  64 + TrackingContent.commentClickWithEvent('date_selection_click',TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  65 + ,{
  66 + 'panelNumber':this.newspaperListBean?.list[this.swiperIndex].pageNum,
  67 + 'panelName':this.newspaperListBean?.list[this.swiperIndex].pageName,
  68 + 'currentPanelDate':this.selectDate.toDateString(),
  69 + 'currentNumber':this.swiperIndex,
  70 + })
54 } 71 }
55 }), 72 }),
56 alignment: DialogAlignment.Top, 73 alignment: DialogAlignment.Top,
@@ -190,7 +207,7 @@ export struct ENewspaperPageComponent { @@ -190,7 +207,7 @@ export struct ENewspaperPageComponent {
190 if (this.newspaperListBean && this.newspaperListBean.list && this.newspaperListBean.list.length > 0) { 207 if (this.newspaperListBean && this.newspaperListBean.list && this.newspaperListBean.list.length > 0) {
191 Swiper(this.swiperController) { 208 Swiper(this.swiperController) {
192 ForEach(this.newspaperListBean?.list, (item: NewspaperListItemBean, index: number) => { 209 ForEach(this.newspaperListBean?.list, (item: NewspaperListItemBean, index: number) => {
193 - ENewspaperItemComponent({ newspaperListItemBean: item }) 210 + ENewspaperItemComponent({ newspaperListItemBean: item})
194 }) 211 })
195 } 212 }
196 .index(this.swiperIndex) 213 .index(this.swiperIndex)
@@ -245,6 +262,12 @@ export struct ENewspaperPageComponent { @@ -245,6 +262,12 @@ export struct ENewspaperPageComponent {
245 .id('e_newspaper_next') 262 .id('e_newspaper_next')
246 .onClick((event: ClickEvent) => { 263 .onClick((event: ClickEvent) => {
247 this.swiperController.showNext() 264 this.swiperController.showNext()
  265 + // 电子报--滑动查看下一版
  266 + TrackingButton.click('panelPageViewNextPanel',TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  267 + ,{
  268 + 'panelNumber':this.newspaperListBean?.list[this.swiperIndex].pageNum,
  269 + 'panelName':this.newspaperListBean?.list[this.swiperIndex].pageName,
  270 + })
248 }) 271 })
249 } 272 }
250 273
@@ -310,6 +333,14 @@ export struct ENewspaperPageComponent { @@ -310,6 +333,14 @@ export struct ENewspaperPageComponent {
310 }) 333 })
311 .id('e_newspaper_read') 334 .id('e_newspaper_read')
312 .onClick((event: ClickEvent) => { 335 .onClick((event: ClickEvent) => {
  336 + //电子报--读报纸点击
  337 + TrackingContent.commentClickWithEvent('read_newspaper_click',TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage
  338 + ,{
  339 + 'panelNumber':this.newspaperListBean?.list[this.swiperIndex].pageNum,
  340 + 'panelName':this.newspaperListBean?.list[this.swiperIndex].pageName,
  341 + 'currentPanelDate':this.selectDate.toDateString(),
  342 + 'currentNumber':this.swiperIndex,
  343 + })
313 if(!NetworkUtil.isNetConnected()){ 344 if(!NetworkUtil.isNetConnected()){
314 ToastUtils.showToast('网络出小差了,请检查网络后重试', 1000) 345 ToastUtils.showToast('网络出小差了,请检查网络后重试', 1000)
315 return 346 return
@@ -10,7 +10,7 @@ import { BusinessError } from '@kit.BasicServicesKit'; @@ -10,7 +10,7 @@ import { BusinessError } from '@kit.BasicServicesKit';
10 import { router } from '@kit.ArkUI'; 10 import { router } from '@kit.ArkUI';
11 import { CommonConstants } from 'wdConstant/Index'; 11 import { CommonConstants } from 'wdConstant/Index';
12 import { ProcessUtils } from 'wdRouter/Index'; 12 import { ProcessUtils } from 'wdRouter/Index';
13 -import { TrackingPageBrowse } from 'wdTracking/Index'; 13 +import { TrackConstants, TrackingButton, TrackingPageBrowse } from 'wdTracking/Index';
14 14
15 const TAG = 'FeedBackActivity' 15 const TAG = 'FeedBackActivity'
16 16
@@ -22,8 +22,6 @@ const TAG = 'FeedBackActivity' @@ -22,8 +22,6 @@ const TAG = 'FeedBackActivity'
22 @Component 22 @Component
23 export struct FeedBackActivity { 23 export struct FeedBackActivity {
24 pageShowTime:number = 0; 24 pageShowTime:number = 0;
25 - pageId:string = 'feedbackPage';  
26 - pageName:string=this.pageId;  
27 @State canSubmit: boolean = false; 25 @State canSubmit: boolean = false;
28 @State textNumLabel: string = '0/500'; 26 @State textNumLabel: string = '0/500';
29 contact: string = ""; 27 contact: string = "";
@@ -66,6 +64,11 @@ export struct FeedBackActivity { @@ -66,6 +64,11 @@ export struct FeedBackActivity {
66 .onChange((select) => { 64 .onChange((select) => {
67 feedbackTypeBean.isSelect = select 65 feedbackTypeBean.isSelect = select
68 this.canSubmit = this.checkSubmit() 66 this.canSubmit = this.checkSubmit()
  67 +
  68 + TrackingButton.click('submit_feedback',TrackConstants.PageName.FeedbackPage,TrackConstants.PageName.FeedbackPage,{
  69 + 'feedback_type':feedbackTypeBean.id+''
  70 + })
  71 +
69 }) 72 })
70 Text(feedbackTypeBean.classifyName) 73 Text(feedbackTypeBean.classifyName)
71 .fontColor($r('app.color.color_222222')) 74 .fontColor($r('app.color.color_222222'))
@@ -342,9 +345,13 @@ export struct FeedBackActivity { @@ -342,9 +345,13 @@ export struct FeedBackActivity {
342 }) 345 })
343 if(!StringUtils.isEmpty(selectType)){ 346 if(!StringUtils.isEmpty(selectType)){
344 selectType = selectType.substring(0,selectType.length-1) 347 selectType = selectType.substring(0,selectType.length-1)
  348 + TrackingButton.click('feedbackPageSubmitFeedback',TrackConstants.PageName.FeedbackPage,TrackConstants.PageName.FeedbackPage,{
  349 + 'feedbackTypeId':selectType
  350 + })
345 }else{ 351 }else{
346 // 352 //
347 ToastUtils.shortToast($r('app.string.feedback_opinion_type')) 353 ToastUtils.shortToast($r('app.string.feedback_opinion_type'))
  354 + TrackingButton.click('feedbackPageSubmitFeedback',TrackConstants.PageName.FeedbackPage,TrackConstants.PageName.FeedbackPage)
348 return 355 return
349 } 356 }
350 //内容必填 357 //内容必填
@@ -389,7 +396,7 @@ export struct FeedBackActivity { @@ -389,7 +396,7 @@ export struct FeedBackActivity {
389 } 396 }
390 onPageHide() { 397 onPageHide() {
391 //页面浏览 398 //页面浏览
392 - TrackingPageBrowse.trackCommonPageExposureEnd(this.pageId,this.pageName,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000)) 399 + TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.FeedbackPage,TrackConstants.PageName.FeedbackPage,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000))
393 400
394 } 401 }
395 } 402 }
@@ -2,7 +2,8 @@ export namespace TrackConstants { @@ -2,7 +2,8 @@ export namespace TrackConstants {
2 2
3 export enum EventType { 3 export enum EventType {
4 Show = 0, 4 Show = 0,
5 - Click = 1 5 + Click = 1,
  6 + CurrentNumberPanelContentExposure = 2,
6 } 7 }
7 8
8 // 行为类型 9 // 行为类型
@@ -24,7 +25,8 @@ export namespace TrackConstants { @@ -24,7 +25,8 @@ export namespace TrackConstants {
24 UnSubscribe = "unSubscribe", 25 UnSubscribe = "unSubscribe",
25 CloseInterestCard = "closeInterestCard", 26 CloseInterestCard = "closeInterestCard",
26 SelectInterestCard = "selectInterestCard", 27 SelectInterestCard = "selectInterestCard",
27 - 28 + //电子报当前页曝光
  29 + CurrentNumberPanelContentExposure = "current_Number_Panel_content_exposure",
28 } 30 }
29 31
30 // 分享聚道 32 // 分享聚道
@@ -208,5 +210,11 @@ export namespace TrackConstants { @@ -208,5 +210,11 @@ export namespace TrackConstants {
208 210
209 ///兴趣偏好页 211 ///兴趣偏好页
210 Interest = "preferenceSelectionPage", 212 Interest = "preferenceSelectionPage",
  213 + //意见反馈
  214 + FeedbackPage = 'feedbackPage',
  215 + //动态详情
  216 + DynamicDetailPage = 'dynamicDetailPage',
  217 + //早晚报
  218 + NewsPaperPage = 'newsPaperPage',
211 } 219 }
212 } 220 }
@@ -29,6 +29,10 @@ export class TrackingContent { @@ -29,6 +29,10 @@ export class TrackingContent {
29 params["action"] = TrackConstants.ActionType.Show 29 params["action"] = TrackConstants.ActionType.Show
30 TrackingUtils.fillPositionWith(params) 30 TrackingUtils.fillPositionWith(params)
31 Tracking.event("content_exposure", params) 31 Tracking.event("content_exposure", params)
  32 + }else if(eventType === TrackConstants.EventType.CurrentNumberPanelContentExposure){
  33 + params["action"] = TrackConstants.ActionType.Show
  34 + TrackingUtils.fillPositionWith(params)
  35 + Tracking.event(TrackConstants.ActionType.CurrentNumberPanelContentExposure, params)
32 } 36 }
33 } 37 }
34 38
@@ -82,6 +86,10 @@ export class TrackingContent { @@ -82,6 +86,10 @@ export class TrackingContent {
82 } 86 }
83 87
84 static commentClick(pageId: string, pageName: string, extParams?: ParamType) { 88 static commentClick(pageId: string, pageName: string, extParams?: ParamType) {
  89 + TrackingContent.commentClickWithEvent("content_comment_click",pageId,pageName,extParams);
  90 + }
  91 +
  92 + static commentClickWithEvent(event: string,pageId: string, pageName: string, extParams?: ParamType) {
85 let params = TrackingUtils.generateParams(extParams) 93 let params = TrackingUtils.generateParams(extParams)
86 if (pageId.length) { 94 if (pageId.length) {
87 params["pageId"] = pageId 95 params["pageId"] = pageId
@@ -91,7 +99,7 @@ export class TrackingContent { @@ -91,7 +99,7 @@ export class TrackingContent {
91 } 99 }
92 params["action"] =TrackConstants.ActionType.Comment 100 params["action"] =TrackConstants.ActionType.Comment
93 TrackingUtils.fillPositionWith(params) 101 TrackingUtils.fillPositionWith(params)
94 - Tracking.event("content_comment_click", params) 102 + Tracking.event(event, params)
95 } 103 }
96 104
97 static commentShare(pageId: string, pageName: string, extParams?: ParamType) { 105 static commentShare(pageId: string, pageName: string, extParams?: ParamType) {
@@ -2,7 +2,7 @@ import { ENewspaperPageComponent } from 'wdComponent'; @@ -2,7 +2,7 @@ import { ENewspaperPageComponent } from 'wdComponent';
2 import { DateTimeUtils, Logger } from 'wdKit'; 2 import { DateTimeUtils, Logger } from 'wdKit';
3 import common from '@ohos.app.ability.common'; 3 import common from '@ohos.app.ability.common';
4 import window from '@ohos.window'; 4 import window from '@ohos.window';
5 -import { TrackingPageBrowse } from 'wdTracking/Index'; 5 +import { TrackingPageBrowse ,TrackConstants} from 'wdTracking/Index';
6 6
7 const TAG = 'ENewspaper'; 7 const TAG = 'ENewspaper';
8 8
@@ -10,8 +10,6 @@ const TAG = 'ENewspaper'; @@ -10,8 +10,6 @@ const TAG = 'ENewspaper';
10 @Component 10 @Component
11 struct ENewspaper { 11 struct ENewspaper {
12 pageShowTime:number = 0; 12 pageShowTime:number = 0;
13 - pageId:string = 'newsPaperPage';  
14 - pageName:string=this.pageId;  
15 // 获取UIAbility上下文 13 // 获取UIAbility上下文
16 context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext 14 context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext
17 15
@@ -59,7 +57,7 @@ struct ENewspaper { @@ -59,7 +57,7 @@ struct ENewspaper {
59 this.setSystemBar('#FFFFFFFF','#00000000', '#000000') 57 this.setSystemBar('#FFFFFFFF','#00000000', '#000000')
60 Logger.info(TAG, 'onPageHide'); 58 Logger.info(TAG, 'onPageHide');
61 //页面浏览 59 //页面浏览
62 - TrackingPageBrowse.trackCommonPageExposureEnd(this.pageId,this.pageName,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000)) 60 + TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.NewsPaperPage,TrackConstants.PageName.NewsPaperPage,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000))
63 } 61 }
64 62
65 onBackPress() { 63 onBackPress() {
@@ -2,15 +2,13 @@ import { DateTimeUtils, Logger } from 'wdKit'; @@ -2,15 +2,13 @@ import { DateTimeUtils, Logger } from 'wdKit';
2 import { DynamicDetailComponent } from 'wdComponent'; 2 import { DynamicDetailComponent } from 'wdComponent';
3 import router from '@ohos.router'; 3 import router from '@ohos.router';
4 import { Params, Action } from 'wdBean'; 4 import { Params, Action } from 'wdBean';
5 -import { TrackingPageBrowse } from 'wdTracking/Index'; 5 +import { TrackingPageBrowse,TrackConstants } from 'wdTracking/Index';
6 6
7 const TAG = 'DynamicDetailPage'; 7 const TAG = 'DynamicDetailPage';
8 @Entry 8 @Entry
9 @Component 9 @Component
10 struct DynamicDetailPage { 10 struct DynamicDetailPage {
11 pageShowTime:number = 0; 11 pageShowTime:number = 0;
12 - pageId:string = 'dynamicDetailPage';  
13 - pageName:string=this.pageId;  
14 @State relId: string = '' 12 @State relId: string = ''
15 @State contentId: string = '' 13 @State contentId: string = ''
16 @State relType: string = '' 14 @State relType: string = ''
@@ -39,7 +37,7 @@ struct DynamicDetailPage { @@ -39,7 +37,7 @@ struct DynamicDetailPage {
39 } 37 }
40 onPageHide() { 38 onPageHide() {
41 //页面浏览 39 //页面浏览
42 - TrackingPageBrowse.trackCommonPageExposureEnd(this.pageId,this.pageName,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000)) 40 + TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.DynamicDetailPage,TrackConstants.PageName.DynamicDetailPage,Math.floor((DateTimeUtils.getTimeStamp() - this.pageShowTime)/1000))
43 41
44 } 42 }
45 } 43 }