<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于HUAWEI AppGallery Connect開(kāi)發(fā)了一款A(yù)pp,我得出了這幾點(diǎn)結(jié)論!

          共 4838字,需瀏覽 10分鐘

           ·

          2020-08-14 13:15

          點(diǎn)擊“開(kāi)發(fā)者技術(shù)前線”,選擇“星標(biāo)?”

          在看|星標(biāo)|留言,? 真愛(ài)

          來(lái)自:開(kāi)發(fā)者技術(shù)前線

          作者:GC

          1 背景介紹

          最近,筆者開(kāi)發(fā)了一款A(yù)pp,深刻體會(huì)到打造App的極致體驗(yàn)的重要性,這對(duì)App的啟動(dòng)速度、頁(yè)面秒開(kāi)、穩(wěn)定性都提出了嚴(yán)峻的挑戰(zhàn)。那么,如何去驗(yàn)證App體驗(yàn)和性能達(dá)到了標(biāo)準(zhǔn)? 目前業(yè)內(nèi)主要借助質(zhì)量類(lèi)服務(wù)檢測(cè)。質(zhì)量類(lèi)服務(wù)主要提供客戶(hù)端的崩潰、行為日志采集、啟動(dòng)速度、頁(yè)面加載耗時(shí)、以及大盤(pán)性能監(jiān)控能力。筆者發(fā)現(xiàn),華為應(yīng)用市場(chǎng)AppGallery Connect(簡(jiǎn)稱(chēng)AG Connect)就提供了此類(lèi)質(zhì)量服務(wù),所以決定嘗試一下。

          2 華為應(yīng)用市場(chǎng)AG Connect

          目前市面上質(zhì)量類(lèi)平臺(tái)主要有:華為應(yīng)用市場(chǎng)AG Connect、友盟、TalkingData三款產(chǎn)品。這三款服務(wù)都提供了對(duì)App崩潰采集和質(zhì)量統(tǒng)計(jì)服務(wù)。

          首先之前有過(guò)友盟、TalkingData使用項(xiàng)目經(jīng)歷,我優(yōu)先考慮華為應(yīng)用市場(chǎng)AG Connect。

          其次考慮到華為應(yīng)用市場(chǎng)的App數(shù)據(jù)統(tǒng)計(jì)比較精準(zhǔn),且華為應(yīng)用市場(chǎng) AG Connect 嚴(yán)格遵從GDPR,即作為數(shù)據(jù)處理者不會(huì)獲取和查看開(kāi)發(fā)者應(yīng)用的數(shù)據(jù)。因此符合我們對(duì)App極致體驗(yàn)的訴求,選擇對(duì)AG Connect做下測(cè)評(píng)分析。

          稱(chēng)AG Connect從構(gòu)建、質(zhì)量、增長(zhǎng)、華為云方面給開(kāi)發(fā)者提供了多個(gè)開(kāi)發(fā)服務(wù),主要有構(gòu)建應(yīng)用基礎(chǔ)能力、提升應(yīng)用質(zhì)量、提高分發(fā)效率、和拉新促活用戶(hù)。

          一個(gè)AG Connect服務(wù)的基本開(kāi)發(fā)流程如下:

          1. 準(zhǔn)備開(kāi)發(fā)環(huán)境

          2. 創(chuàng)建AG Connect項(xiàng)目

          3. 在項(xiàng)目中添加應(yīng)用

          4. 設(shè)置數(shù)據(jù)存儲(chǔ)位置

          5. 集成AG ConnectSDK

          6. 開(kāi)發(fā)應(yīng)用

          7. 接入AG Connect服務(wù)

          接下來(lái)我們來(lái)測(cè)評(píng)下AG Connect具體能力的情況。

          3 測(cè)試環(huán)境搭建


          3.1 測(cè)試設(shè)備

          測(cè)試設(shè)備:MAC+ 測(cè)試Android手機(jī) 1 部 + USB 1 條

          3.2 環(huán)境搭建

          1. MAC安裝“Android Studio”,并升級(jí)至最新版本。

          2. 為保證兼容性,要求最低兼容版本:Android 4.2 (API level 21) 或者JDK 1.8及以上版本。

          3. 集成AG Connect SDK。

          • AndroidStudio開(kāi)發(fā)環(huán)境

          添加 添加APM SDK 和 Crash SDK依賴(lài)到應(yīng)用級(jí) gradle 文件中(通常在 app/build.gradle)。

          // ...
          dependencies {
          // ...
          // Add APM SDK library dependency
          implementation 'com.huawei.agconnect:agconnect-apms:1.3.1.300'
          implementation 'com.huawei.agconnect:agconnect-crash:1.4.0.300'
          }
          1. 在APP模塊(應(yīng)用級(jí))的混淆配置中添加以下排除項(xiàng):

          -keep class com.huawei.agconnect.**{*;}
          -dontwarn com.huawei.agconnect.**
          -keep class com.hianalytics.android.**{*;}
          -keep class com.huawei.updatesdk.**{*;}
          -keep class com.huawei.hms.**{*;}
          -keep interface com.huawei.hms.analytics.type.HAEventType{*;}
          -keep interface com.huawei.hms.analytics.type.HAParamType{*;}
          -keepattributes Exceptions, Signature, InnerClasses, LineNumberTable
          1. 如果您使用了AndResGuard,需要在混淆配置文件中加入AndResGuard允許清單:

          "R.string.hms*",
          "R.string.connect_server_fail_prompt_toast",
          "R.string.getting_message_fail_prompt_toast",
          "R.string.no_available_network_prompt_toast",
          "R.string.third_app_*",
          "R.string.upsdk_*",
          "R.layout.hms*",
          "R.layout.upsdk_*",
          "R.drawable.upsdk*",
          "R.color.upsdk*",
          "R.dimen.upsdk*",
          "R.style.upsdk*",
          "R.string.agc*"
          1. 如果您的應(yīng)用使用的是AndroidX類(lèi)庫(kù),需要在gradle.properties中增加如下配置,APM SDK將自動(dòng)適配AndroidX:

          android.useAndroidX=true
          # Automatically convert third-party libraries to use AndroidX
          android.enableJetifier=true
          1. 集成APM插件:

          • 1)在APP模塊(應(yīng)用級(jí))的Gradle文件(通常是app/build.gradle)中應(yīng)用APM插件:

          apply plugin: 'com.android.application'
          // Apply the APM plugin
          apply plugin: 'com.huawei.agconnect.apms'
          dependencies {
          // ..
          }
          • 2)在根級(jí)(項(xiàng)目級(jí))Gradle文件中添加APM插件:

          buildscript {
          repositories {
          // Add the maven repository
          maven { url 'http://developer.huawei.com/repo/' }
          }
          dependencies {
          // ...
          // To benefit from the latest APM feaures, update your Android Gradle Plugin dependency to at least v3.2.0
          classpath 'com.android.tools.build:gradle:3.2.0'
          // Add the dependency for the APM plugin
          classpath 'com.huawei.agconnect:agconnect-apms-plugin:1.3.1.300'
          }
          }
          1. 新建應(yīng)用:

          登錄華為應(yīng)用市場(chǎng)AppGallery Connect 網(wǎng)站,選擇添加“我的項(xiàng)目”。在我的項(xiàng)目頁(yè)面點(diǎn)擊“添加項(xiàng)目”,新建應(yīng)用

          4?測(cè)試應(yīng)用開(kāi)發(fā)


          4.1 客戶(hù)端測(cè)試應(yīng)用開(kāi)發(fā)

          新建一個(gè)APP 工程,包含兩個(gè)頁(yè)面,工程目錄如下:

          為了檢測(cè)崩潰,第一個(gè)頁(yè)面加入了crash測(cè)試按鈕

          5?測(cè)試CRASH


          5.1 Crash模擬測(cè)試

          為了測(cè)試是否統(tǒng)計(jì)Crash能力,我們通過(guò)模擬了一個(gè)NPE,來(lái)查看是否正常上報(bào)。

          crashButton.setOnClickListener(new View.OnClickListener()
          @Override
          public void onClick(View v) {
          AGConnectCrash.getInstance().testIt(MainActivity.this);
          }
          });

          在按鈕添加一條crash事件,代碼如上。

          5.2 Crash模擬結(jié)論

          登錄后臺(tái)查看數(shù)據(jù):

          我們可以看到,本次崩潰日志已被記錄。

          分析報(bào)告看到:日志信息包含了發(fā)生時(shí)間、異常類(lèi)型、用戶(hù)、崩潰數(shù)量、崩潰率。此次測(cè)試成功,并且包含信息全面,可根據(jù)時(shí)間、異常類(lèi)型、用戶(hù)、崩潰數(shù)量、崩潰率多維度去查詢(xún)。

          華為AG Connect確實(shí)能完成對(duì)App崩潰率的檢測(cè),并能清晰提供數(shù)據(jù)支撐。

          6 測(cè)試性能

          6.1 App啟動(dòng)時(shí)長(zhǎng)

          手動(dòng)啟動(dòng)App5次,記錄啟動(dòng)時(shí)長(zhǎng)。測(cè)試結(jié)果如下:


          啟動(dòng)時(shí)長(zhǎng)中位為436ms。閾值為5000ms,華為AG Connect確頁(yè)也能統(tǒng)計(jì)APP啟動(dòng)耗時(shí)。

          6.2 頁(yè)面渲染時(shí)長(zhǎng)

          我們點(diǎn)擊跳轉(zhuǎn)按鈕,打開(kāi)第二個(gè)頁(yè)面,重復(fù)5次。測(cè)試結(jié)果如下:

          從上圖可以看出,我們記錄了5個(gè)樣本,具體里面有什么關(guān)鍵信息,是否數(shù)據(jù)提供? 點(diǎn)擊查看詳情:

          由于只有一個(gè)測(cè)試版本,因此版分布顯示為1.0,頁(yè)面緩慢幀占比為40%。此外我們還可以產(chǎn)看前臺(tái)停留時(shí)長(zhǎng)、后臺(tái)時(shí)長(zhǎng)等數(shù)據(jù),此次為人為手動(dòng)測(cè)試,只看是否存在數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)著正常,因此我們不做分析。華為應(yīng)用市場(chǎng)AG Connect能正確統(tǒng)計(jì)APP頁(yè)面加載時(shí)長(zhǎng)、用戶(hù)停留時(shí)長(zhǎng)等數(shù)據(jù),是一個(gè)不錯(cuò)的App性能統(tǒng)計(jì)服務(wù)類(lèi)產(chǎn)品。

          7 結(jié)論


          我們本著對(duì)APP極致體驗(yàn)的方向出發(fā),采用啟動(dòng)速度,秒開(kāi),穩(wěn)定性,頁(yè)面留存頁(yè)面幀率,網(wǎng)絡(luò)延時(shí)和成功率等指標(biāo)作為支撐, 通過(guò)華為AG Connect的能力來(lái)驗(yàn)證我們的App以上幾個(gè)指標(biāo)的數(shù)據(jù),由于篇幅關(guān)系,本次測(cè)評(píng)也主要從崩潰,性能兩個(gè)關(guān)鍵功能做了測(cè)試。

          7.1 競(jìng)品效果對(duì)比

          本人之前有過(guò)其他兩款產(chǎn)品友盟和talkingdata的項(xiàng)目經(jīng)驗(yàn),綜合本次使用情況,針對(duì)三款產(chǎn)品對(duì)比如下:

          產(chǎn)品啟動(dòng)次數(shù)啟動(dòng)速度頁(yè)面數(shù)據(jù)自定義埋點(diǎn)崩潰日志渠道統(tǒng)計(jì)服務(wù)生態(tài)可視化
          AG Connect精準(zhǔn)精準(zhǔn)精準(zhǔn)精準(zhǔn)精準(zhǔn)精準(zhǔn)健全支持
          友盟一般精準(zhǔn)精準(zhǔn)精準(zhǔn)精準(zhǔn)一般中等支持
          TalkingData一般精準(zhǔn)精準(zhǔn)精準(zhǔn)精準(zhǔn)一般中等支持


          可以看出華為應(yīng)用市場(chǎng)AG Connect在啟動(dòng)次數(shù)、渠道統(tǒng)計(jì)、生態(tài)服務(wù)等方面表現(xiàn)出優(yōu)勢(shì)。本次的測(cè)試結(jié)果符合我們的預(yù)期,基本上滿足了我們的訴求點(diǎn),從App啟動(dòng)速度、頁(yè)面加載時(shí)長(zhǎng),頁(yè)面幀率、崩潰、到網(wǎng)絡(luò)延時(shí)方面,都有明確的數(shù)據(jù)和可視化后臺(tái),從而輔助開(kāi)發(fā)者檢測(cè)自己App的性能。通過(guò)以上性能管理能力,我們也能去開(kāi)發(fā)和維護(hù)一個(gè)優(yōu)秀,滿足用戶(hù)極致體驗(yàn)的App。

          7.2?華為應(yīng)用市場(chǎng)AG Connect的特點(diǎn)

          最后本次測(cè)評(píng),得出華為應(yīng)用市場(chǎng)AG Connect的特點(diǎn):

          1. 嚴(yán)格遵從gdpr的,作為數(shù)據(jù)處理者不會(huì)獲取和查看開(kāi)發(fā)者應(yīng)用的數(shù)據(jù)

          2. 崩潰統(tǒng)計(jì)精確、性能管理能力體驗(yàn)優(yōu)良、可視化后臺(tái)穩(wěn)定

          3. 且目前大部分能力是免費(fèi)的,適合開(kāi)發(fā)者使用

          4. 生態(tài)配套豐富,包含了應(yīng)用市場(chǎng)、推送服務(wù)、云部署、云測(cè)試云儲(chǔ)存、云托管、設(shè)備唯一識(shí)別、應(yīng)用內(nèi)分發(fā)等優(yōu)秀服務(wù)。

          華為應(yīng)用市場(chǎng)AppGallery Connect致力于為應(yīng)用的創(chuàng)意、開(kāi)發(fā)、分發(fā)、運(yùn)營(yíng)、經(jīng)營(yíng)各環(huán)節(jié)提供一站式服務(wù),構(gòu)建全場(chǎng)景智慧化的應(yīng)用生態(tài)體驗(yàn)。華為應(yīng)用市場(chǎng)AppGallery Connect深度整合華為內(nèi)部各項(xiàng)優(yōu)質(zhì)服務(wù),將華為在全球化、質(zhì)量、安全、工程管理等領(lǐng)域長(zhǎng)期積累的能力開(kāi)放給開(kāi)發(fā)者,大幅降低應(yīng)用開(kāi)發(fā)與運(yùn)維難度,提高版本質(zhì)量,開(kāi)放分發(fā)和運(yùn)營(yíng)服務(wù),幫助開(kāi)發(fā)者獲得用戶(hù)并實(shí)現(xiàn)收入的規(guī)模增長(zhǎng)。




          END



          前線推出學(xué)習(xí)交流群,加群一定要備注:
          研究/工作方向+地點(diǎn)+學(xué)校/公司+昵稱(chēng)(如Java+上海+上交+可可)
          根據(jù)格式備注,可更快被通過(guò)且邀請(qǐng)進(jìn)群,領(lǐng)取一份專(zhuān)屬學(xué)習(xí)禮包


          掃碼進(jìn)群,你獎(jiǎng)獲得:

          大廠內(nèi)推和技術(shù)交流,前沿學(xué)術(shù)交流

          點(diǎn)個(gè)在看吧!


          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频插插插 | 特级茜茜人体444WWwtini | www.黄片视频 | 国产乱论视频 | 久久艹伊人av |