在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開發(fā)實(shí)例:【應(yīng)用事件打點(diǎn)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-07 17:13 ? 次閱讀

簡介

傳統(tǒng)的日志系統(tǒng)里匯聚了整個(gè)設(shè)備上所有程序運(yùn)行的過程流水日志,難以識(shí)別其中的關(guān)鍵信息。因此,應(yīng)用開發(fā)者需要一種數(shù)據(jù)打點(diǎn)機(jī)制,用來評(píng)估如訪問數(shù)、日活、用戶操作習(xí)慣以及影響用戶使用的關(guān)鍵因素等關(guān)鍵信息。

HiAppEvent是在系統(tǒng)層面為應(yīng)用開發(fā)者提供的一種事件打點(diǎn)機(jī)制,用于幫助應(yīng)用記錄在運(yùn)行過程中發(fā)生的故障信息、統(tǒng)計(jì)信息、安全信息、用戶行為信息,以支撐開發(fā)者分析應(yīng)用的運(yùn)行情況。

基本概念

  • 打點(diǎn)
    記錄由用戶操作引起的變化,提供業(yè)務(wù)數(shù)據(jù)信息,以供開發(fā)、產(chǎn)品、運(yùn)維分析。

事件設(shè)計(jì)規(guī)范

  • 事件領(lǐng)域:用于標(biāo)識(shí)事件的領(lǐng)域,建議設(shè)置為業(yè)務(wù)模塊名稱,以便于區(qū)分不同的業(yè)務(wù)模塊。
  • 事件名稱:用于指定事件的名稱,建議設(shè)置為具體的業(yè)務(wù)名稱,以便于描述實(shí)際的業(yè)務(wù)意義。
  • 事件類型:用于指定事件的類型,支持以下四種類型事件:
    • 行為事件:用于記錄用戶日常操作行為的事件,例如按鈕點(diǎn)擊、界面跳轉(zhuǎn)等行為。
    • 故障事件:用于定位和分析應(yīng)用故障的事件,例如界面卡頓、掉網(wǎng)掉話等異常。
    • 統(tǒng)計(jì)事件:用于統(tǒng)計(jì)和度量應(yīng)用關(guān)鍵行為的事件,例如對(duì)使用時(shí)長、訪問數(shù)等的統(tǒng)計(jì)。
    • 安全事件:用于記錄涉及應(yīng)用安全行為的事件,例如密碼修改、用戶授權(quán)等行為。
  • 事件參數(shù):用于指定事件的參數(shù),每個(gè)事件可以包含一組參數(shù),建議設(shè)置為事件屬性或事件發(fā)生上下文信息,以便于描述事件的詳細(xì)信息。

接口說明

應(yīng)用事件打點(diǎn)接口由hiAppEvent模塊提供。

打點(diǎn)接口功能介紹:

接口名描述
write(AppEventInfo info, AsyncCallback callback): void應(yīng)用事件異步打點(diǎn)方法,使用callback方式作為異步回調(diào)。
write(AppEventInfo info): Promise應(yīng)用事件異步打點(diǎn)方法,使用Promise方式作為異步回調(diào)。

訂閱接口功能介紹:

接口名描述
addWatcher(Watcher watcher): AppEventPackageHolder添加應(yīng)用事件觀察者,以添加對(duì)應(yīng)用事件的訂閱。
removeWatcher(Watcher watcher): void移除應(yīng)用事件觀察者,以移除對(duì)應(yīng)用事件的訂閱。
鴻蒙OS開發(fā)更多內(nèi)容↓點(diǎn)擊HarmonyOSOpenHarmony技術(shù)
鴻蒙技術(shù)文檔開發(fā)知識(shí)更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。

開發(fā)步驟

搜狗高速瀏覽器截圖20240326151547.png

更多鴻蒙開發(fā)文檔mau123789是v添加后免費(fèi)領(lǐng)取。

以實(shí)現(xiàn)對(duì)用戶點(diǎn)擊按鈕行為的事件打點(diǎn)及訂閱為例,說明開發(fā)步驟。

  1. 新建一個(gè)ArkTS應(yīng)用工程,編輯工程中的“entry > src > main > ets > entryability > EntryAbility.ts” 文件,在onCreate函數(shù)中添加對(duì)用戶點(diǎn)擊按鈕事件的訂閱,完整示例代碼如下:
    import hilog from '@ohos.hilog';
    import UIAbility from '@ohos.app.ability.UIAbility';
    import Window from '@ohos.window'
    import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent'
    
    export default class EntryAbility extends UIAbility {
        onCreate(want, launchParam) {
            hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO);
            hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
            hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? '');
            hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? '');
            hiAppEvent.addWatcher({
                // 開發(fā)者可以自定義觀察者名稱,系統(tǒng)會(huì)使用名稱來標(biāo)識(shí)不同的觀察者
                name: "watcher1",
                // 開發(fā)者可以訂閱感興趣的應(yīng)用事件,此處是訂閱了按鈕事件
                appEventFilters: [{ domain: "button" }],
                // 開發(fā)者可以設(shè)置訂閱回調(diào)觸發(fā)的條件,此處是設(shè)置為事件打點(diǎn)數(shù)量滿足1個(gè)
                triggerCondition: { row: 1 },
                // 開發(fā)者可以自行實(shí)現(xiàn)訂閱回調(diào)函數(shù),以便對(duì)訂閱獲取到的事件打點(diǎn)數(shù)據(jù)進(jìn)行自定義處理
                onTrigger: function (curRow, curSize, holder) {
                    // 返回的holder對(duì)象為null,表示訂閱過程發(fā)生異常,因此在記錄錯(cuò)誤日志后直接返回
                    if (holder == null) {
                        hilog.error(0x0000, 'testTag', "HiAppEvent holder is null")
                        return
                    }
                    let eventPkg = null
                    // 根據(jù)設(shè)置閾值大小(默認(rèn)為512KB)去獲取訂閱事件包,直到將訂閱數(shù)據(jù)全部取出
                    // 返回的事件包對(duì)象為null,表示當(dāng)前訂閱數(shù)據(jù)已被全部取出,此次訂閱回調(diào)觸發(fā)結(jié)束
                    while ((eventPkg = holder.takeNext()) != null) {
                        // 開發(fā)者可以對(duì)事件包中的事件打點(diǎn)數(shù)據(jù)進(jìn)行自定義處理,此處是將事件打點(diǎn)數(shù)據(jù)打印在日志中
                        hilog.info(0x0000, 'testTag', `HiAppEvent eventPkg.packageId=%{public}d`, eventPkg.packageId)
                        hilog.info(0x0000, 'testTag', `HiAppEvent eventPkg.row=%{public}d`, eventPkg.row)
                        hilog.info(0x0000, 'testTag', `HiAppEvent eventPkg.size=%{public}d`, eventPkg.size)
                        for (const eventInfo of eventPkg.data) {
                            hilog.info(0x0000, 'testTag', `HiAppEvent eventPkg.info=%{public}s`, eventInfo)
                        }
                    }
                }
            })
        }
    }
    
  2. 編輯工程中的“entry > src > main > ets > pages > Index.ets” 文件,添加一個(gè)按鈕并在其onClick函數(shù)中進(jìn)行事件打點(diǎn),以記錄按鈕點(diǎn)擊事件,完整示例代碼如下:
    import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent'
    import hilog from '@ohos.hilog'
    
    @Entry
    @Component
    struct Index {
      @State message: string = 'Hello World'
      build() {
        Row() {
          Column() {
            Text(this.message)
              .fontSize(50)
              .fontWeight(FontWeight.Bold)
            Button("writeTest").onClick(()= >{
              // 在按鈕點(diǎn)擊函數(shù)中進(jìn)行事件打點(diǎn),以記錄按鈕點(diǎn)擊事件
              hiAppEvent.write({
                // 事件領(lǐng)域定義
                domain: "button",
                // 事件名稱定義
                name: "click",
                // 事件類型定義
                eventType: hiAppEvent.EventType.BEHAVIOR,
                // 事件參數(shù)定義
                params: { click_time: 100 }
              }).then(() = > {
                hilog.info(0x0000, 'testTag', `HiAppEvent success to write event`)
              }).catch((err) = > {
                hilog.error(0x0000, 'testTag', `HiAppEvent err.code: ${err.code}, err.message: ${err.message}`)
              })
            })
          }
          .width('100%')
        }
        .height('100%')
      }
    }
    
  3. 點(diǎn)擊IDE界面中的運(yùn)行按鈕,運(yùn)行應(yīng)用工程,然后在應(yīng)用界面中點(diǎn)擊按鈕“writeTest”,觸發(fā)一次按鈕點(diǎn)擊事件打點(diǎn)。
  4. 最終,可以在Log窗口看到按鈕點(diǎn)擊事件打點(diǎn)成功的日志,以及觸發(fā)訂閱回調(diào)后對(duì)打點(diǎn)事件數(shù)據(jù)的處理日志:
    HiAppEvent success to write event
    
    HiAppEvent eventPkg.packageId=0
    HiAppEvent eventPkg.row=1
    HiAppEvent eventPkg.size=124
    HiAppEvent eventPkg.info={"domain_":"button","name_":"click","type_":4,"time_":1670268234523,"tz_":"+0800","pid_":3295,"tid_":3309,"click_time":100}
    

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1982

    瀏覽量

    30579
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3747

    瀏覽量

    16589
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    190

    瀏覽量

    4538
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS應(yīng)用事打點(diǎn)開發(fā)指導(dǎo)

    hiAppEvent 模塊提供,API 接口的具體使用說明(參數(shù)使用限制、具體取值范圍等)請(qǐng)參考應(yīng)用事打點(diǎn) API 文檔。 打點(diǎn)接口功能介紹: 訂閱接口功能介紹: 開發(fā)步驟 以
    發(fā)表于 12-21 11:02

    鴻蒙OS應(yīng)用程序開發(fā)

    這份學(xué)習(xí)文檔主要是帶領(lǐng)大家在鴻蒙OS上學(xué)習(xí)開發(fā)一個(gè)應(yīng)用程序,主要知識(shí)點(diǎn)如下:1、U-Boot引導(dǎo)文件燒寫方式;2、內(nèi)核鏡像燒寫方式;3、鏡像運(yùn)行。
    發(fā)表于 09-11 14:39

    鴻蒙OS適用的全場景到底什么意思?

    鴻蒙系統(tǒng)(HarmonyOS),第一款基于微內(nèi)核的全場景分布式OS,是華為自主研發(fā)的操作系統(tǒng)。華為在開發(fā)者大會(huì)HDC.2019上正式發(fā)布了鴻蒙系統(tǒng),該系統(tǒng)將率先部署在智慧屏、車載終端、
    發(fā)表于 09-25 09:25

    鴻蒙 OS 應(yīng)用開發(fā)初體驗(yàn)

    的操作系統(tǒng)平臺(tái)和開發(fā)框架。HarmonyOS 的目標(biāo)是實(shí)現(xiàn)跨設(shè)備的無縫協(xié)同和高性能。 DevEco Studio 對(duì)標(biāo) Android Studio,開發(fā)鴻蒙 OS 應(yīng)用的 IDE。
    發(fā)表于 11-02 19:38

    嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)—ARM與uC/OS-Ⅱ

    嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā) ——ARM與uC/OS-Ⅱ
    發(fā)表于 11-08 17:32 ?0次下載

    華為鴻蒙OS 2.0帶來哪些智慧體驗(yàn)?

    華為已經(jīng)定于12月16日在北京發(fā)布鴻蒙OS 2.0手機(jī)開發(fā)者Beta版本。這不僅是手機(jī)鴻蒙OS的首次亮相,同時(shí)也意味著手機(jī)
    的頭像 發(fā)表于 12-15 15:10 ?2119次閱讀

    鴻蒙OS 2.0手機(jī)開發(fā)者Beta版發(fā)布會(huì)在京舉辦

    三個(gè)月前,鴻蒙OS 2.0正式在華為開發(fā)者大會(huì)2020亮相。12月16日,鴻蒙OS 2.0手機(jī)開發(fā)
    的頭像 發(fā)表于 12-16 09:29 ?1.9w次閱讀

    華為正式推出鴻蒙OS的手機(jī)開發(fā)者Beta版

    12月16日上午消息,華為今日宣布正式推出鴻蒙OS的手機(jī)開發(fā)者Beta版,華為消費(fèi)者業(yè)務(wù)軟件部總裁王成錄表示,今年已有美的、九陽、老板電器、海雀科技搭載鴻蒙
    的頭像 發(fā)表于 12-16 10:37 ?2664次閱讀

    鴻蒙OS2.0手機(jī)開發(fā)者Beta版登場

    12 月 16 日,華為宣布正式推出鴻蒙 OS 的手機(jī)開發(fā)者 Beta 版,并正式面向個(gè)人/企業(yè)開發(fā)者公測鴻蒙 2.0,
    的頭像 發(fā)表于 12-16 14:39 ?2261次閱讀

    華為發(fā)布鴻蒙OS Beta版

    昨天華為發(fā)布鴻蒙OS Beta版了?鴻蒙系統(tǒng)一直在按照既有步伐前進(jìn),現(xiàn)在華為發(fā)布鴻蒙OS Beta版,而且一些生態(tài)
    的頭像 發(fā)表于 12-17 08:41 ?2930次閱讀

    鴻蒙OS與Lite OS的區(qū)別是什么

    鴻蒙OS鴻蒙OS面向未來、面向全場景、分布式。在單設(shè)備系統(tǒng)能力基礎(chǔ)上,鴻蒙OS提出了基于同一套系
    的頭像 發(fā)表于 12-24 12:40 ?5104次閱讀

    鴻蒙os怎么升級(jí)

    6月2日,華為正式發(fā)布了鴻蒙armonyOS 2系統(tǒng),那么鴻蒙os如何升級(jí)?現(xiàn)將鴻蒙os升級(jí)方式告知如下。
    的頭像 發(fā)表于 06-08 16:26 ?2807次閱讀

    華為開發(fā)者大會(huì)2021鴻蒙os在哪場

    華為開發(fā)者大會(huì)2021將在10月22日-24日舉辦,地點(diǎn)為東莞松山湖,鴻蒙os 3.0或?qū)⑴c我們見面,那么華為開發(fā)者大會(huì)2021鴻蒙
    的頭像 發(fā)表于 10-22 15:24 ?1955次閱讀

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hiAppEvent應(yīng)用打點(diǎn)

    本模塊提供了應(yīng)用事打點(diǎn)能力,包括對(duì)打點(diǎn)數(shù)據(jù)的落盤,以及對(duì)打點(diǎn)功能的管理配置。
    的頭像 發(fā)表于 06-24 11:09 ?581次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>系統(tǒng)基礎(chǔ)能力:ohos.hiAppEvent應(yīng)用<b class='flag-5'>打點(diǎn)</b>

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hiTraceMeter性能打點(diǎn)

    本模塊提供了追蹤進(jìn)程軌跡,度量程序執(zhí)行性能的打點(diǎn)能力。本模塊打點(diǎn)的數(shù)據(jù)供hiTraceMeter工具分析使用。
    的頭像 發(fā)表于 06-25 16:12 ?447次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>系統(tǒng)基礎(chǔ)能力:ohos.hiTraceMeter性能<b class='flag-5'>打點(diǎn)</b>
    主站蜘蛛池模板: 欧美国产精品主播一区 | 手机在线看a| 国产亚洲一区二区三区在线 | 男人的午夜 | 午夜男人影院 | 永久网站色视频在线观看免费 | 亚洲丰满熟妇毛片在线播放 | 中文字幕第二区 | 大香伊在人线免费 | 欧美高清milf在线播放 | 四虎精品永久在线 | 国产色婷婷精品综合在线 | 国产精品偷伦费观看 | 日本免费不卡在线一区二区三区 | 奇米第四777 | 日本视频黄色 | 91夫妻视频 | 黄色网在线 | 婷婷六月天在线 | 狠狠色综合网站久久久久久久 | 国产资源站| 黄色网欧美| 你懂的欧美 | 久久久久免费精品国产 | 久久免费久久 | 91av视频免费在线观看 | 欧美视频综合 | 国产九色在线 | 亚洲网站免费 | www.av日韩| 日产精品卡二卡三卡四卡乱码视频 | 久久综合九色综合网站 | 四虎comwww最新地址 | 青青热久免费精品视频在线观看 | 综合成人在线 | 97影院午夜午夜伦不卡 | 色色就色色 | 天天躁夜夜躁狠狠躁 | 97伊人网| 美女被网站免费看九色视频 | dyav午夜片 |