版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、金服平臺數(shù)據(jù)分析系統(tǒng)各類日志數(shù)據(jù)采集系統(tǒng)總體方案修訂記錄日期修訂版本修改描述作者2017-04-290.5.0開始寫金服平臺數(shù)據(jù)分析系統(tǒng)各類日志數(shù)據(jù)采集方案2017-05-90.7.0初步完成移動和Web頁面非實時日志采用Countly實現(xiàn)日志采集與收集實現(xiàn)方案2017-05-180.8.0補充移動和Web頁面實時日志采集部分內(nèi)容2017-05-220.8.5初步設(shè)計攔截器實現(xiàn)移動和Web頁面后端實時日志采集構(gòu)架.金服平臺移動App日志內(nèi)容要求規(guī)范日志系統(tǒng)需收集更多數(shù)據(jù)時移動應(yīng)用采用埋點上傳日志技術(shù)與App日志上傳暫行規(guī)定很早之前,也就是當(dāng)年的pc時代,由于受限于存儲和計算能力,大家一般很少用
2、日志來分析業(yè)務(wù)。而是在業(yè)務(wù)邏輯里,將業(yè)務(wù)需要分析的數(shù)據(jù)事先寫入到庫里,針對庫的數(shù)據(jù)進行統(tǒng)計分析。所以之前做OLAP需要很高級的硬件支持,大家都去IOE等買昂貴的服務(wù)器來做數(shù)據(jù)倉庫以及進行數(shù)據(jù)分析。由于成本的問題,拿到的數(shù)據(jù)是很少的,所以進行統(tǒng)計分析和挖掘所得到的收益微乎其微。隨著Hadoop的興起,分布式文件系統(tǒng)和分布式計算大大降低了存儲成本和計算成本,使得現(xiàn)在用日志分析業(yè)務(wù)成為了可能。移動App分析的數(shù)據(jù)類型對于移動端的App來說,分析的數(shù)據(jù)大致上都可以分為倆種,一種是在線數(shù)據(jù),一種是離線數(shù)據(jù),還有App業(yè)務(wù)需要的綜合動態(tài)數(shù)據(jù)(簡稱動態(tài)數(shù)據(jù))。在線數(shù)據(jù)在線數(shù)據(jù),即App后端服務(wù)所產(chǎn)生的日志數(shù)
3、據(jù),例如服務(wù)接口的性能數(shù)據(jù),服務(wù)接口的調(diào)用及其參數(shù)等,通過服務(wù)端的日志數(shù)據(jù),我們不但可以統(tǒng)計服務(wù)接口的性能指標(biāo),還可以針對具體的業(yè)務(wù)邏輯,做相關(guān)的分析,一些常見的App分析指標(biāo)如新增,活躍,累計,留存等,也都可以通過服務(wù)日志來統(tǒng)計出來。因為App嵌入了移動Web的Html5頁面,故App的在線數(shù)據(jù)包含了App原生應(yīng)用后端服務(wù)接口性能數(shù)據(jù)和移動Web日志數(shù)據(jù)。離線數(shù)據(jù)對應(yīng)的離線數(shù)據(jù)即是App客戶端本身產(chǎn)生的數(shù)據(jù),這種情況一般是發(fā)生在客戶端不調(diào)用底層服務(wù)的情況下,需要了解用戶在客戶端的行為,就需要用到離線數(shù)據(jù)。離線日志一般記錄用戶在客戶端的具體行為,如用戶在客戶端的拖動,上下滾動,翻頁等不涉及到后
4、端服務(wù)的操作,以及App本身的崩潰行為產(chǎn)生的數(shù)據(jù),都可以被記錄,一般的,記錄的內(nèi)容包括事件類型,控件編號,控件屬性及相關(guān)參數(shù),事件時間等。因為Html5提供離線功能應(yīng)用,故這里的離線數(shù)據(jù)也要考慮離線狀態(tài)下Html5前端產(chǎn)生或者使用的數(shù)據(jù)。對于離線數(shù)據(jù)還要考慮原生與Html5混搭Hybrid接口上原生到JS和JS到原生的數(shù)據(jù)調(diào)用情況。動態(tài)數(shù)據(jù)針對App,為了統(tǒng)計和分析服務(wù)成功率、服務(wù)耗時、連接成功率和連接耗時等性能和質(zhì)量,新增加除了上述在線數(shù)據(jù)和離線數(shù)據(jù)的第三種類型數(shù)據(jù),暫時命名為綜合動態(tài)數(shù)據(jù)(簡稱動態(tài)數(shù)據(jù)),一個(綜合)動態(tài)數(shù)據(jù)內(nèi)容主要記錄了用戶開始操作一個App界面元素、發(fā)送Http請求、接
5、收對應(yīng)的Http響應(yīng)、界面展現(xiàn)等時間點、過程中內(nèi)存流量和處理失敗原因,對(綜合)動態(tài)數(shù)據(jù)和與之關(guān)聯(lián)的在線數(shù)據(jù)進行關(guān)聯(lián)分析,可以統(tǒng)計出服務(wù)成功率、服務(wù)耗時、連接成功率和連接耗時等性能和質(zhì)量數(shù)據(jù)。在線日志在線日志,一般來講,有兩種:?web服務(wù)器的配置化log(如Nginx,apache等web服務(wù)器的access.log)這一類日志不需要用戶自己做實現(xiàn),只需要開啟web服務(wù)器的相關(guān)日志功能,即可完成日志記錄。?應(yīng)用服務(wù)器的10g一般包括應(yīng)用服務(wù)器的配置化10g以及用戶自定義的log。用戶自定義log包括用戶通過相關(guān)日志組件自己的debug,waring,error,info等級別的日志。這一類日
6、志沒有固定的格式,完全有用戶自行控制。在線日志一般會伴隨業(yè)務(wù)直接產(chǎn)生在相關(guān)的業(yè)務(wù)服務(wù)器上(web服務(wù)器日志產(chǎn)生在web服務(wù)器上),但是有的時候,為了將相關(guān)服務(wù)的監(jiān)控日志與業(yè)務(wù)分析日志分離,會將業(yè)務(wù)日志直接記錄在一臺獨立的日志服務(wù)器上。這里,App的在線日志主要包含上述1.1.1章節(jié)涉及的在線數(shù)據(jù)類型包含的App原生應(yīng)用后端服務(wù)接口性能數(shù)據(jù)日志和Html5移動后端Web日志。離線日志離線日志(和離線數(shù)據(jù)有關(guān)的),一般也有兩種:?客戶端的(本地)行為日志:用戶在操作App的時候(客戶端不調(diào)用底層服務(wù)的情況下)產(chǎn)生的行為,都可以記錄下來。行為日志一般是用來研究用戶使用習(xí)慣,分析應(yīng)用的使用熱度的。同時
7、可以結(jié)合客戶端異常日志來分析異常原因。?客戶端的(本地)異常日志:用來監(jiān)控客戶端異常原因,幫助解決相關(guān)問題。針對App的離線日志除了涉及到App客戶端行為日志與異常日志,還要包含Html5離線狀態(tài)數(shù)據(jù)日志和Hybrid接口數(shù)據(jù)日志。(綜合)動態(tài)日志(綜合)動態(tài)日志是針對App統(tǒng)計和分析服務(wù)成功率、服務(wù)耗時、連接成功率和連接耗時等性能和質(zhì)量新增加的日志,該日志數(shù)據(jù)類型是上述1.1.1章節(jié)涉及的(綜合)動態(tài)數(shù)據(jù)。埋點及上傳不管是在線日志,還是離線日志,或者(綜合)動態(tài)日志,首先都要確認在什么地方記錄日志,于是就引入了埋點的概念。通俗的講,在正常業(yè)務(wù)代碼邏輯上,添加記錄日志的代碼,都叫做埋點。但是一
8、般的,埋點只用來描述客戶端日志記錄。由于在線日志是直接產(chǎn)生在服務(wù)器端,日志采集工具可以直接從含有日志的服務(wù)器上采集日志數(shù)據(jù)到相應(yīng)的文件系統(tǒng),所以不存在日志上傳的問題。但是對于離線日志和(綜合)動態(tài)日志來說,數(shù)據(jù)是產(chǎn)生在App客戶端的,所以上傳機制必須考慮。離線日志和動態(tài)日志上傳機制業(yè)界采用的離線日志上傳機制如下:服務(wù)端提供日志記錄接口,當(dāng)客戶端有事件時,直接調(diào)用日志記錄接口將日志記錄在服務(wù)器端。服務(wù)端提供日志上傳接口,客戶端先將日志暫存客戶端本地,當(dāng)達到一定的大小,網(wǎng)絡(luò)環(huán)境允許的情況下,通過上傳接口,將日志文件打包壓縮后上傳。第一種上傳方式,時效性方面有一定的保障,在網(wǎng)絡(luò)環(huán)境允許的情況下,能及
9、時的將信息記錄到服務(wù)器,但是當(dāng)埋點較多時,記錄日志產(chǎn)生的流量會很大,占據(jù)很大的帶寬,給用戶帶來損失。同時,前端的某些行為,如在某個activity停留時間等也無法通過這種在線的方式捕獲。還有一個重要的問題是,由于客戶端數(shù)據(jù)沒有暫存機制,當(dāng)網(wǎng)絡(luò)暫時無法使用時,日志記錄接口無法正常調(diào)用,所有的日志也就隨之丟失。第二種方式,在時效性上較差,因為它需要等待數(shù)據(jù)累計到一定程度,或者網(wǎng)絡(luò)允許的情況下,如在wifi情況下,才發(fā)送,但是占用的帶寬相對較小,對客戶端動作的捕獲較為靈活。對于的離線日志和(綜合)動態(tài)日志,建議采用第二種日志上傳方式。App的實時日志和PC-web的頁面實時日志在后臺的Action或
10、者Controller上處理,詳細參見3.2移動App和Web的實時業(yè)務(wù)日志采集方案。埋點的三種方案*生*帶*a睫*159H國困可他塞開發(fā)者直接在客戶端埋點。?優(yōu)點:開發(fā)者可以隨意的在任何地方添加埋點。?缺點:成本高,每次埋點的增刪改都需要發(fā)版,很難控制。啟明星現(xiàn)在采用的就是傳統(tǒng)的埋點方式,由于之前沒有統(tǒng)一的規(guī)劃,相關(guān)頁面的同一個按鈕,不同的版本功能不同,但卻埋了同一個點,造成統(tǒng)計比較混亂。之后引入了埋點下發(fā)平臺,雖然一定程度上緩解了這種問題,但是由于其靈活性以及主觀性,問題依然無法避免??梢暬顸c由于傳統(tǒng)埋點的一系列問題,自然而然的就產(chǎn)生了可視化埋點的方案,用可視化交互的手段來代替寫代碼,將
11、核心代碼和配置,資源分開,在App啟動時通過網(wǎng)絡(luò)更新配置和資源來實現(xiàn)埋點功能??梢暬顸c的大體流程如下:?首先埋點服務(wù)平臺與埋點客戶機做關(guān)聯(lián),包括客戶機包含的埋點模塊掃描當(dāng)前整個客戶端頁面的控件,形成控件樹,并將當(dāng)前頁面截圖,發(fā)送給埋點服務(wù)端平臺;?埋點服務(wù)端平臺接收到截圖和控件樹數(shù)據(jù)后,在服務(wù)端重新繪制App界面,通過可視化交互的方式,給當(dāng)前頁面需要埋點的控件上添加事件,添加完畢后,形成配置文件,并發(fā)布上線;?裝有埋點模塊的所有客戶端,接收到配置文件并解析,根據(jù)配置為頁面中相關(guān)的控件添加監(jiān)聽事件,當(dāng)這些控件出發(fā)事件時記錄日志。其中有很多細節(jié)的地方需要注意:?可視化埋點也需要考慮不同版本之間埋
12、點的差異;?可視化埋點在分發(fā)埋點配置文件的時候,會有延遲或者丟失的情況,有的客戶端有可能收不到或者很久才能收到配置文件,這樣埋點的時效性會大打折扣。無埋點所謂的無埋點,其實也就是全埋點,它和可視化埋點很像,可視化埋點是根據(jù)埋點配置來收集數(shù)據(jù),而無埋點方案則是盡可能的收集所有控件的操作數(shù)據(jù)。實現(xiàn)原理也很簡單,客戶端添加掃描代碼,為每個掃描到的控件添加監(jiān)聽事件。當(dāng)事件被觸發(fā)后,記錄日志。其實,大家對此也不陌生,比如很早之前,對PC站點的統(tǒng)計,各大分析平臺,都需要在網(wǎng)頁之間添加一段js代碼。其實那段js代碼,就是現(xiàn)在提到的無埋點的掃描代碼。這里強調(diào)一下,由于可視化埋點是在需要的時候才埋點,所以它并不
13、能回溯事件,也就是說,只能統(tǒng)計需求提出后,埋點開始的所有的數(shù)據(jù),埋點之前的數(shù)據(jù)是拿不到的。而無埋點方案,在開始埋點的時候,所有的數(shù)據(jù)已經(jīng)都被記錄了,所以它可以查看之前的數(shù)據(jù)(這里的之前也是相對與提統(tǒng)計需求的時間,而不是相對于埋點的時間),也就是說它可以做回溯。而這種回溯是建立在大量存儲要求的基礎(chǔ)上的。App暫行采用傳統(tǒng)埋點方案。1.2移動App日志內(nèi)容參考格式(具體根據(jù)需求確定)App客戶端離線日志內(nèi)容格式(參考或草擬)當(dāng)前字段有(參考阿里巴巴移動數(shù)據(jù)日志分析數(shù)據(jù)字段廣字段名類型注釋app_idstring當(dāng)前統(tǒng)一為888888app_namestringapp_id對應(yīng)的app中文名稱app
14、_versionstringapp的應(yīng)用版本號channelstring應(yīng)用分發(fā)渠道imeistring移動設(shè)備國際身份碼的縮寫imsistring國際移動用戶識別碼brandstring手機或終端的品牌字段名類型注釋device_modelstring手機或終端的機型resolutionstring手機或終端的屏幕分辨率osstring操作系統(tǒng),如:Android、iPhoneOSos_versionstring操作系統(tǒng)的版本carrierstring移動運營商,如:中國移動、中國聯(lián)通、中國電信accessstring連接的網(wǎng)絡(luò),如:2G3GWi-Fi、4Gaccess_subtypestr
15、ing網(wǎng)絡(luò)類型,如:HSPAEVDOEDGEGPRS?network_typestring根據(jù)access,acess_subtype轉(zhuǎn)化后的網(wǎng)絡(luò)類型schoolstring根據(jù)client_ip如果為校園網(wǎng)解析出的學(xué)校(由服務(wù)器分析)client_ipstring客戶端ip(是服務(wù)端獲取到的外網(wǎng)IP,不是app上傳的)longitudestring經(jīng)度,latitudestring緯度,countrystring根據(jù)client_ip解析出的國家或地區(qū)(由服務(wù)器分析)provincestring根據(jù)client_ip解析出的省、直軍!市、自治區(qū)(由服務(wù)器分析)citystring根據(jù)clie
16、nt_ip解析出的地級市(由服務(wù)器分析)districtstring根據(jù)client_ip解析出的區(qū)、縣、縣級市(由服務(wù)器分析)session_idstring用戶的一次會話id,就是tokenreach_timestring到達日志服務(wù)器的時間,此時間可作為日志時間直接使用,格式為:字段名類型注釋yyyyMMddHHmmss注意本字段在App上傳時為空)event_idstring埋點的事件ID(或者用戶行為的標(biāo)識ID)last_pagestring當(dāng)前頁面來源頁(上一頁)的頁面標(biāo)題Last_urlstring當(dāng)前頁面來源頁(上一頁)的頁面URL,可以是空start_nowpage_time
17、string用戶最初進入當(dāng)前頁面的時間點(用于計算當(dāng)前頁面的停留時間)now_page_titlestring當(dāng)前用戶離線行為發(fā)生時的當(dāng)前頁面now_page_timestring當(dāng)前用戶離線行為發(fā)生時的時間now_page_area_idstring標(biāo)記點擊所在頁面的欄位所屬的區(qū)域,如首頁的個性化欄位表示業(yè)務(wù)內(nèi)容的ID,例如欄目頁的分類ID,搜詞頁的關(guān)鍵詞,促銷頁的now_content_idstring促銷活動ID,詳情頁的商品ID,或者下單頁的訂單IDnext_pagestring當(dāng)前用戶行為導(dǎo)致的切換頁面next_page_timesizestring切換頁面后打開頁面時間大小argl
18、string事件參數(shù),當(dāng)前頁面更新時間點(不涉及頁面切換)arg2string事件參數(shù),內(nèi)存流量峰值(參考)arg3string事件參數(shù),電池消耗下降峰值(參考)arg4string保留事彳參數(shù)1arg5string保留事彳參數(shù)2事件參數(shù),00000表示事件成功,99999表示離線行為事件的結(jié)果為失?。╝rg1對應(yīng)失敗argsstring原因,如“sysexit”-異常退出;“actfail”-離線行為失??;“sysdie”-系統(tǒng)僵死)字段名類型注釋local_timestring終端時間(格式為yyyy-mm-ddhh24:mi:ss),上報服務(wù)器時的時間終端時間(格式為數(shù)字型的unix時間
19、,精確到毫秒,可通過localtimestampstringfrom_unixtime函數(shù)轉(zhuǎn)換成日期)utdidstring服務(wù)端生成的設(shè)備唯一標(biāo)識符(設(shè)備出廠參數(shù)有關(guān),與SIM卡無關(guān))長登錄會員名稱,長登錄是指只要登錄一次就會記住該設(shè)備最近一次登錄user_nickstring會員,即使該設(shè)備下一次打開App且沒有登錄,其日志也會記錄該設(shè)備最近一次登錄會員user_idstring長登錄會員idshort._user_nickstring短登錄會員名稱,短登錄是指當(dāng)前處于登錄狀態(tài)的會員short._user_idstring短登錄會員iddsstring分區(qū)字段,表示日期,一般格式為yyyy
20、mmddhourstring分區(qū)字段,表示小時,一般格式為hh用于AB測試的流量分組ID,例如a表示第一組,b表示第二組,c表示abteststring第三組,Z表示當(dāng)前0組即沒有分組事件ID(即event_id)類型如下:事件ID含義詳解(后續(xù)由app主管負責(zé)根據(jù)實際情況補充事件ID),離線日志event_id范圍是200000到299999,其中200000到249999是正常行為日志事件id范圍,250000到259999是離線日志異常事件id(離線日志異常事件是為導(dǎo)致的)App自身發(fā)生的,不是離線行(本地行為用戶在客戶端的拖動,200000日志)事件(本地行為200001上下滾動日志)
21、事件事件ID含義詳解(后續(xù)由app主管負責(zé)根據(jù)實際情況補充事件ID),離線日志event_id范圍是200000到299999,其中200000到249999是正常行為日志事件id范圍,250000到259999是離線日志異常事件id(離線日志異常事件是App自身發(fā)生的,不是離線行為導(dǎo)致的)200002(本地行為日志)事件翻頁250000(本地異常日志)事件android手機javacrash250001250002(本地異常日志)事件(本地異常日志)事件android手機nativecrash,iOScrashAndroid/ios僵死260000(Hybrid接口數(shù)據(jù))事件原生到JS260
22、001(Hybrid接口數(shù)據(jù))事件JS到原生260002(Hybrid接口數(shù)據(jù))事件切換發(fā)生錯誤270000270001Html5離線狀態(tài)數(shù)據(jù)日志事件Html5離線狀態(tài)數(shù)據(jù)日志事件寫本地數(shù)據(jù)庫讀本地數(shù)據(jù)庫270002Html5離線狀態(tài)數(shù)據(jù)日事件ID詳解(后續(xù)由app主管負責(zé)根據(jù)實際情況補充事件ID),離線日志 event_id 范圍是 200000 到 299999,其中 200000到 249999 是正常行為日志事件id范圍,250000到259999是離線日志異 常事件id(離線日志異常事件是 App自身發(fā)生的,不是離線行 為導(dǎo)致的)志事件含義App客戶端(綜合)動態(tài)日志內(nèi)容格式(參考或
23、草擬)當(dāng)前字段有:字段名類型注釋app_idstring當(dāng)前統(tǒng)一為888888app_namestringapp_id對應(yīng)的app中文名稱app_versionstringapp的應(yīng)用版本號channelstring應(yīng)用分發(fā)渠道imeistring移動設(shè)備國際身份碼的縮寫imsistring國際移動用戶識別碼brandstring手機或終端的品牌device_modelstring手機或終端的機型resolutionstring手機或終端的屏幕分辨率osstring操作系統(tǒng),如:Android、iPhoneOSos_versionstring操作系統(tǒng)的版本字段名類型注釋carrierstrin
24、g移動運營商,如:中國移動、中國聯(lián)通、中國電信accessstring連接的網(wǎng)絡(luò),如:2G3GWi-Fiaccess_subtypestring網(wǎng)絡(luò)類型,如:HSPAEVDOEDGEGPRS?network_typestring根據(jù)access,acess_subtype轉(zhuǎn)化后的網(wǎng)絡(luò)類型schoolstring根據(jù)client_ip如果為校園網(wǎng)解析出的學(xué)校(由服務(wù)器分析)client_ipstring客戶端ip(是服務(wù)端獲取到的外網(wǎng)IP,不是app上傳的)longitudestring經(jīng)度,latitudestring緯度,countrystring根據(jù)client_ip解析出的國家或地區(qū)(由
25、服務(wù)器分析)provincestring根據(jù)client_ip解析出的省、直軍!市、自治區(qū)(由服務(wù)器分析)citystring根據(jù)client_ip解析出的地級市(由服務(wù)器分析)districtstring根據(jù)client_ip解析出的區(qū)、縣、縣級市(由服務(wù)器分析)session_idstring用戶的一次會話id,就是token到達日志服務(wù)器的時間,此時間可作為日志時間直接使用,格式為:reach_timestringyyyyMMddHHmmss注意本字段在App上傳時為空)埋點的事件ID(或者用戶行為的標(biāo)識ID,例如點擊商品詳情為。),event_idstring和App訪問服務(wù)器的原生接
26、口方法名是一一對應(yīng)的last_pagestring當(dāng)前頁面來源頁(上一頁)的頁面標(biāo)題Last_urlstring當(dāng)前頁面來源頁(上一頁)的頁面URL,可以是空字段名類型注釋start_nowpage_timestring用戶最初進入當(dāng)前頁面的時間點(用于計算當(dāng)前頁面的停留時間)now_page_titlestring當(dāng)前用戶行為發(fā)生時的頁面now_page_area_idnow_content_idstringstring標(biāo)記點擊所在頁面的欄位所屬的區(qū)域,如首頁的個性化欄位表示業(yè)務(wù)內(nèi)容的ID,例如欄目頁的分類ID,搜詞頁的關(guān)鍵詞,促銷頁的促銷活動ID,詳情頁的商品ID,或者下單頁的訂單IDno
27、w_page_timestring當(dāng)前用戶行為發(fā)生(或者觸發(fā)click)時的時間(一般情況與arg4相同)next_page_titlestring當(dāng)前用戶行為導(dǎo)致的切換頁面next_urlstring當(dāng)前用戶行為導(dǎo)致的切換頁面URL,可以是空next_page_jumptimestring頁面即將切換或者跳轉(zhuǎn)的時間點arglstring事件參數(shù),(不是頁面變換的)當(dāng)前頁面更新時間點arg2string事件參數(shù),內(nèi)存流量峰值(參考)arg3string事件參數(shù),電池消耗下降峰值(參考)arg4string事件參數(shù),發(fā)送http請求時間點arg5string事件參數(shù),接收到http響應(yīng)時間點ar
28、g6string保留事彳參數(shù)1arg7argsstringstring保留事彳參數(shù)2事件參數(shù),00000表示事件成功,99999表示事件失?。╝rgg1對應(yīng)失敗原因,如timeout-超時;netexcept”-網(wǎng)絡(luò)異常)local_timestring終端時間(格式為yyyy-mm-ddhh24:mi:ss),上報服務(wù)器時的時間字段名類型注釋終端時間(格式為數(shù)字型的unix時間,精確到毫秒,可通過local_timestampstringfrom_unixtime函數(shù)轉(zhuǎn)換成日期)utdidstring服務(wù)端生成的設(shè)備唯一標(biāo)識符(設(shè)備出廠參數(shù)有關(guān),與SIM卡無關(guān))長登錄會員名稱,長登錄是指只要
29、登錄一次就會記住該設(shè)備最近一次登錄user_nickstring會員,即使該設(shè)備下一次打開App且沒有登錄,其日志也會記錄該設(shè)備最近一次登錄會員user_idstring長登錄會員idshort_user_nickstring短登錄會員名稱,短登錄是指當(dāng)前處于登錄狀態(tài)的會員short_user_idstring短登錄會員iddsstring分區(qū)字段,表示日期,一般格式為yyyymmddhourstring分區(qū)字段,表示小時,一般格式為hh用于AB測試的流量分組ID,例如a表示第一組,b表示第二組,c表示abteststring第三組,Z表示當(dāng)前0組即沒有分組事件ID(即event_id)類型如
30、下:事件ID含義詳解-動態(tài)日志event_id范圍100000到199999100000注冊事件對應(yīng)注冊接口100001登錄事件對應(yīng)登錄接口100002啟動事件App啟動,一般用于計算啟動次數(shù)100003退出事件App退出,一般用于計算時長2.金服平臺業(yè)務(wù)系統(tǒng)Web日志內(nèi)容要求規(guī)范網(wǎng)站W(wǎng)eb攵集數(shù)據(jù)常用方法簡介眼下網(wǎng)站分析數(shù)據(jù)主要有三種收集方式:Web日志、JavaScript標(biāo)記和包嗅探器。以Web日志的方式Web日志收集數(shù)據(jù)的過程示意圖如下:工具提供商用站訪同者網(wǎng)站服務(wù)分析報費服夢鵬數(shù)碼侏硝期耦客從上圖可以看出網(wǎng)站分析數(shù)據(jù)的收集從網(wǎng)站訪問者輸入URL向網(wǎng)站服務(wù)器發(fā)出http請求就開始了。網(wǎng)
31、站服務(wù)器接收到請求后會在自己的Log文件中追加一條記錄,記錄內(nèi)容包括:遠程主機名(或者是IP地址)、登錄名、登錄全名、發(fā)請求的日期、發(fā)請求的時間、請求的詳細(包括請求的方法、地址、協(xié)議)、請求返回的狀態(tài)、請求文檔的大小。隨后網(wǎng)站服務(wù)器將頁面返回到訪問者的瀏覽器內(nèi)得以展現(xiàn)。一些專業(yè)的工具廠商會有專門的處理服務(wù)器對大量的Log數(shù)據(jù)進行處理,并將處理后的數(shù)據(jù)存放入自己的數(shù)據(jù)庫中。網(wǎng)站經(jīng)營人員通過訪問分析報表系統(tǒng)查看網(wǎng)站的分析數(shù)據(jù)。也有一些中小網(wǎng)站主出于成本的考慮不會求助于專業(yè)的工具廠商,他們會借助簡單的網(wǎng)站日志分析軟件完成對Log數(shù)據(jù)的處理,當(dāng)然處理后的數(shù)據(jù)會有一定的局限性。以JavaScript標(biāo)
32、記的方式-又稱埋碼技術(shù)”或者網(wǎng)絡(luò)信標(biāo)JavaScript標(biāo)記收集數(shù)據(jù)的過程示意圖如下:附站經(jīng)營者網(wǎng)站訪冏者JwaSuipt代區(qū)性http響應(yīng)數(shù)據(jù)收集代嗎執(zhí)行*Wk上圖所示JavaScript標(biāo)記同Web日志收集數(shù)據(jù)一樣,從網(wǎng)站訪問者發(fā)出http請求開始。不同白是,JavaScript標(biāo)記返回給訪問者的網(wǎng)頁代碼中會包含一段特殊的JavaScript代碼,當(dāng)頁面展示的同時這段代碼也得以執(zhí)行。這段代碼會從訪問者的Cookie中取得詳細信息(訪問時間、瀏覽器信息、工具廠商賦予當(dāng)前訪問者的userID等)并發(fā)送到工具商的數(shù)據(jù)收集服務(wù)器。數(shù)據(jù)收集服務(wù)器對收集到的數(shù)據(jù)處理后存入數(shù)據(jù)庫中。網(wǎng)站經(jīng)營人員通過訪問
33、分析報表系統(tǒng)查看這些數(shù)據(jù)。網(wǎng)站統(tǒng)計中的JS方式的數(shù)據(jù)收集原理及實現(xiàn),詳情參見http:/document/1089.html。JavaScript標(biāo)記以其快捷性和精確性已經(jīng)得到大多數(shù)工具廠商的青睞,已經(jīng)發(fā)展成為當(dāng)前最為流行的數(shù)據(jù)收集方式。包嗅探器的方式卜圖是包嗅探器收集數(shù)據(jù)過程的示意圖。網(wǎng)站訪問者httpi營求網(wǎng)站分析報表兩姑經(jīng)營者上圖可以看出網(wǎng)站訪問者發(fā)出的請求到達網(wǎng)站服務(wù)器之前,會先經(jīng)過包嗅探器,然后包嗅探器才會將請求發(fā)送到網(wǎng)站服務(wù)器。包嗅探器收集到的數(shù)據(jù)經(jīng)過工具廠商的處理服務(wù)器后存入數(shù)據(jù)庫。隨后網(wǎng)站經(jīng)營人員就可以通過分析報表系統(tǒng)看到這些數(shù)據(jù)。數(shù)據(jù)收集方式的優(yōu)劣比較沒有一種數(shù)據(jù)收集方式是完
34、美無缺的,不同數(shù)據(jù)收集方式也決定了各自的特性,了解不同收集方式的優(yōu)劣所在,會對工具的選擇也有一定的指導(dǎo)作用。下表是三種數(shù)據(jù)收集方式的優(yōu)劣比較詳細:?比較容易獲取數(shù)據(jù)源?方便對歷史數(shù)據(jù)再處理?數(shù)據(jù)收集靈活,可定制性強?可以記錄搜索引擎爬蟲的訪問記錄?可以記錄緩存、代理服務(wù)器訪問?對跨域訪問的監(jiān)測比較方便優(yōu)點?記錄文件下載狀況?對訪問者行動追蹤更為準(zhǔn)確?取得實時數(shù)據(jù)比較方便?無法記錄緩存、代理服務(wù)器訪問?無法捕獲自定義的業(yè)務(wù)信息?用戶端的JS設(shè)置會影響數(shù)據(jù)收集?初期導(dǎo)入費用較高?對訪問者的定位過于模糊?記錄下載和重定向數(shù)據(jù)比較困難?無法記錄緩存、代理服務(wù)器訪問缺點?對跨域訪問的監(jiān)測比較麻煩?會增加
35、網(wǎng)站的JS腳本負荷?對用戶數(shù)據(jù)隱私有安全隱患決定選擇采用哪種數(shù)據(jù)收集方式之前,你需要先了解自己的需求。如果你不想自己網(wǎng)站的流量數(shù)據(jù)被任何第三方獲取,那么Web日志無疑是你的最佳選擇了。但想得到更貼近網(wǎng)站訪問者行為的精確數(shù)據(jù),還是需要采用JavaScript標(biāo)記收集數(shù)據(jù)。這種數(shù)據(jù)收集方式不僅可以對緩存訪問、代理訪問正確記錄,而且可以通過Cookie對獨立訪問者進行更為精確的定位。當(dāng)然也有一些網(wǎng)站為了獲得多方面的數(shù)據(jù)而同時采取多種數(shù)據(jù)收集方式。例如采用JavaScript標(biāo)記收集精確數(shù)據(jù)的同時,為了搜索引擎優(yōu)化對Web日志中的搜索引擎爬蟲記錄也進行分析。也有已經(jīng)采用包嗅探器收集數(shù)據(jù),但為獲取緩存訪
36、問而同時進行JavaScript標(biāo)記。金服平臺業(yè)務(wù)PCWebM面非實時日志采集方案采用JS標(biāo)記(埋碼或者網(wǎng)絡(luò)信標(biāo))方式。金服平臺業(yè)務(wù)PCWeb頁面實時日志采集方案,詳細參見3.2移動App和Web的實時業(yè)務(wù)日志采集方案。3.業(yè)務(wù)系統(tǒng)移動App日志和Web頁面非實時日志與實時采集與收集方案移動App和Web頁面非實時日志采集與收集采用Countly框架Countly簡介Countly是一站式的數(shù)據(jù)分析平臺,可同時跟蹤移動和網(wǎng)絡(luò)用戶,分為社區(qū)版、云版本和企業(yè)版,版本提供的功能對比表如下:彳土區(qū)介4s*蛛z如lihS日3(密呱中力企li三40,匕Ecregillwubp*曲藁盛mih口h?國與機制R
37、蟲邰使用,牛骯細看t.fiS電意*&四*K訂同社應(yīng)逢作至近1R)mt,和出七drt-stITbunfO.點族用寸材區(qū)審力忻H燈臺th,1rl,串1jilikifiS*想心處順*H亨司UMItAS生H.11捷樂虻眠*M市黑3i塔嫌推西苑祖*此化為依工巾能K用戶霖香*KM期號所*KiMF掙匍1工權(quán)限*.忖舞如怩汽*w於都通3出*情話的”*,5MCountly是一款創(chuàng)新實時移動和Web分析軟件,專注于易用性、擴展性和功能豐富程度。Countly包括服務(wù)器、移動SDK(適用于移動分析)或WebSDK(適用于Web分Countly服務(wù)器部分由在端口獲取關(guān)于被跟蹤應(yīng)用程序的見解。析),所有組件均可根據(jù)許可
38、條款在公司內(nèi)應(yīng)用程序中自由使用。80運行的服務(wù)組成,允許系統(tǒng)管理員連接到用戶界面并移動部分包括適用于各種智能手機、平板電腦和桌面操作系統(tǒng)(Windows和 Mac OS X )的SDK。Web SDK與之類似,用于跟蹤整個站點的網(wǎng)頁活動。3.1.2 Countly自定義事件。自定義事件它是一種可用于將任何類型的數(shù)據(jù)發(fā)送到Countly服務(wù)器的強大功能?;窘Y(jié)構(gòu)最簡單的事件對象的結(jié)構(gòu)如下:?JavaScriptkey:button_clickcount:1以下屬性是事件的唯一強制屬性:?key識別事件?count是發(fā)生此事件的次數(shù)如果事件與全部數(shù)值數(shù)據(jù)(如購買)緊密相關(guān),我們可以使用sum進行跟
39、蹤:JavaScriptIkey:in_app_purchase,count:1,sum:0.99分段在基礎(chǔ)部分中,我們會看到只有count和sum屬性的示例in_app_purchase事件。能夠跟蹤購買總數(shù)和購買總金額非常好,但有時我們可能需要更詳細的信息:?購買次數(shù)最多的是哪種商品??根據(jù)應(yīng)用程序內(nèi)購買哪個國家是頂級銷售員??哪個應(yīng)用程序版本銷量更高?通過分段可以對事件進行歸類/標(biāo)記以回答所有這些問題和更多問題。通過簡單地將分段鍵值對添加到事件便可以跟蹤詳細指標(biāo);JavaScript(key:in_app_purchase,count:1,sum:0.99,segmentation:ap
40、p_version:1.0,country:Turkey,item:sword)使用Countly常見技術(shù)問題請介紹Countly平臺如何操作。在應(yīng)用程序中安裝CountlySDK后,該應(yīng)用程序用戶開始將事件數(shù)據(jù)發(fā)送至Countly服務(wù)器。Countly從這些事件中收集用戶操作、行為、所使用電信公司等相關(guān)信息。Countly使用哪種語言編寫?正在使用Node.js和MongoDB。后端和前端完全由javascript編寫。您可以查看API代碼,該代碼從客戶端SDK收集數(shù)據(jù)并將此數(shù)據(jù)寫入數(shù)據(jù)庫。事件和會話數(shù)據(jù)如何發(fā)送至Countly?隨著用戶打開應(yīng)用程序,CountlySDK將開始按您定義的方式
41、收集數(shù)據(jù)。對事件和會話進行收集,隨后每60秒使用HTTPS請求發(fā)送至Countly(或您的)服務(wù)器。如果在應(yīng)用內(nèi)記錄超過10個不同事件,甚至無需等到下次發(fā)送,將立即發(fā)送。Countly是否實時顯示我的數(shù)據(jù)?所有報告和圖表均實時顯示。后臺中不運行批處理以可視化或收集數(shù)據(jù),因此無需等待下次處理運行。Countly是否會降低移動應(yīng)用程序反應(yīng)速度?輕型SDK異步工作,不會阻礙代碼內(nèi)任何函數(shù)調(diào)用。iOS性能分析表明SDK只占用總CPU使用量的2%。與發(fā)送應(yīng)用內(nèi)視頻的高CPU和數(shù)據(jù)占用服務(wù)相比,我們明顯具有優(yōu)勢。CPUProfile in. instruiri-ritSi2% QUwrKllFfM %W
42、GouhjTtoitA即使用Android性能分析程序進行的測試表明,在5分鐘會話,發(fā)送5個事件和8條請求的典型使用場景中,對于單核CPUCountly占用不到0.1%的CPU時間。對于多核CPU,此數(shù)值將低于0.1%。SDK無法發(fā)送請求時會發(fā)生什么情況?如果移動程序無法發(fā)送事件信息(主要是由于設(shè)備未連接到互聯(lián)網(wǎng)、用戶乘坐飛機或地鐵等事實),此時此信息將存儲在非易失性存儲器中。連接建立后,將立即發(fā)送至服務(wù)器并將數(shù)據(jù)從隊列中移除。Countly服務(wù)器能夠處理多少用戶?在測試中,高配置服務(wù)器每秒可以處理 見實施和配置場景了解可選安裝方案。于事件數(shù)量、網(wǎng)絡(luò)負載、配置、磁盤速度、700個事件,約為20
43、,000個并行移動用戶。請參但請勿將此數(shù)字作為參考,該數(shù)字在很大程度上依賴RAM大小和許多其他條件。請注意這些數(shù)字適用于Countly社區(qū)版。使用Countly的用戶mnhr更砧CSBE口口巴打第拜匚gn由跟齊用動蓊,/小支。是節(jié)臉1:綱生你魏叼Egei衣rfr了酊質(zhì)下百戲in陰戶歸Uf用iQ陶某路洋0Ctrnp=!1.ccm-Jpk3g&/Z374-3cH:fcFB.hm-11Jbksoft生了M用當(dāng)為碌叱再忒慘言*KalsetPebmaneritLoontIjMlfMl3切FFUfMANUWlt作K(國穎翎的曲序俅Itfl疇和演雎總應(yīng)修和尊-ermsnefit*來用S5二海塔擰動工用以.*
44、宙了而后1H由用戶酢!用Jpi-qq.tair叱*入兇3T*kH;“Vj挈遮懵域化tiKG0JT卡洋=H”F%a1*1W4*喻nttgE)密叫小皿叫卻工械的血加棒幅tefenorffi*作可一1檔同?Ejf陸,江15心1環(huán)說士】5!6田匚=口明的,取小皿九下f、門拈齒而書而背胸,Trf市閆才利懵生砒幫盧體文:一像伍IEEI*I*nAI4 納界 r &uHETy 題跖牛正歡心產(chǎn)9k ZAP Arfas ony Msk 拉:H EF1r”口 1。由仁。1理俘市計劃讓她】力手生向lit一十口交世界的柘吐后優(yōu)姓崎學(xué)生Wjhc:nuriMtlr 田府M柒用G3惘毋勺明茁蝌秦博的yfiimML國胤 例字至
45、%1L名可以 rFFJjK* 星中HIEF,崎,交二足律造Emira皿2m現(xiàn)田榕T我國等一霹:,留芹騏行志與UQUpDH(使用一個平大穿rt且付.且過二口SE區(qū)guiEBjn”在件岫對片簞石不可講助心隊定正屈的其窗!自勖師M,網(wǎng)的住抑用聲詞庫推日叁瑋竄盧心口錄用Chtrzqq.c-m2PcCrC=LiL.ry1事ff*了肅用行爵史希內(nèi),優(yōu)化向京iffiFR慘*目0之修】胤0異企用jLtEMXHi色相匚的如艮號3詞斗佃鑼功AW-酎源盾叫*-IFnaKKIlprMApapali,UriKur.IryufC-|Ilc.lCu領(lǐng)先客戶金融電信公BAtom醫(yī)療科技-imwirecard軟件國務(wù)OEFL重
46、PICTETVANSGAcornBonkIsamobilebankingappIcacionthatoffwrsrang*ofpronlndbusips,benkngproducts.canloirfarenndvoterecognition,receivesupportfroma24/7cuscomerservesteam.EmiratesNBDisaleadmsrbanxinfrproupwhiuhprovidesbanking,financialandInvescmencservteaacrosstheGulf.Servicesmduoebankingintheprivate,irves
47、tmen?,retail,ca*porateardassetmanagerrencWireardi&oreoftheworld%leadingindependentprovderTiofoatsourcingandwhitelabsolutionsfordeccronlcpay*TK*ncran&aclon5.rouphasbrsupportingcomp-ni需inccptingeleetromepnyrrenn.OuctankIsGermaneslargestinde-pendencbonkingapp.including4.000+traditionalandcnlirbarks,fin
48、ancialserviceslikePayPal,srocks,bitcoinsandrewardcardslikeMiles&MoreandPaybackEFLfirstpionoeredpsychometriccreditscorirgthroughresearchaccheHarvardCenterforInternauonalDevelopment.CcxnpanynovrworksvrithleadingfinancialinstitutionsAcrossAfrica,Asia,andLatinAmerica.Aianinvmirwntdvd&erviccompany,tlwPcl
49、tGroupfocuirt卜/orwenkhmcnagrment,assetmanagerremandrelatedassetservices,indudingcustodyondfundodmin值:rationservicesVANSOIsafinancialtechnologyproviderfocusedondeliveringcuttingedgeandinnuotivr:solutionsinAfrica.Throughpayments,bankingandmessagingpladormsVansodelivershighlysecuresolutionsfortheirezie
50、nts.為何用戶選擇我方的平臺?商通過自部署的菖次方案,我們可以保證的致樨曉秋客戶可以能自部署為力紋經(jīng)C0tly在自己的翡障器上,斗民主動防卻,俁持產(chǎn)品的差芹化。燼C。位為我們提怏站式的分析平臺,Count渾戶可樂用一站粉功能,如用戶畫面、細分、堆去通知和崩麥報告。律我瑞中在今天的市場或呈等坨o因此,我們速釋可定制的解決方案。通過插住粹,雇俱雙機口:定制和可擴最3鳧戶行為分析平臺6傷可以采用我仃見盲的插嚀或自己開發(fā)佐插件以符合省的定史模式和薪Qumly實用伯伯昌,各號上手Count)是專為產(chǎn)品經(jīng)理、首銷經(jīng)理和開發(fā)者設(shè)計。Card用多方面功能耘是不同部#生或移動和Web頁面非實時日志采用Coun
51、tly實現(xiàn)日志采集與收集實現(xiàn)方案非實時日志收集與采集實現(xiàn)架構(gòu)Web頁面定制/埋點JS(信標(biāo))實現(xiàn)采集非實時web日志1.npminstallcountly-sdk-web.設(shè)置異步使用WebSDK異步使用WebSDK不阻止加載內(nèi)容,并在它沒加載統(tǒng)計腳本情況使用,通過Countly.q調(diào)用或同步允許腳本加載。在頁面的關(guān)閉前標(biāo)簽插入異步代碼,舉例如下:scripttype=text/javascriptsrc=Countly.init(/provideyourappkeythatyouretrievedfromCountlydashboardapp_key:YOUR_APP_KEY”/provid
52、eyourserverIPorname.Usetry.count.lyforEEtrialserver./ifyouuseyourownserver,makesureyouhavehttpsenabledifyouuse/httpsbelow.url:);/tracksessionsautomaticallyCountly.track_sessions();/trackpageviewsautomaticallyCountly.track_pageview();.頁面自定義事件scripttype=text/javascript/sendeventonbuttonclickfunctioncl
53、ickEvent(ob)Countly.q.push(add_event,key:asyncButtonClick,segmentation:id:ob.id);自定義事件可跟蹤您的網(wǎng)站上的任何行為。也可提通過分段(segments)查看段值(segmentvalues)以分解用戶行為,舉例如下:Countly.q.push(add_event,key:click,count:1,sum:1.5,dur:30,segmentation:keyl:valuel,key2:value2);.采用輔助方法輕松地跟蹤網(wǎng)絡(luò)上最常見的行為自動化跟蹤用戶會話Countly.q.push(track_sess
54、ions);跟蹤頁面瀏覽數(shù)(pageviews)使用location.path為頁面名稱跟蹤當(dāng)前頁面Countly.q.push(track_pageview);Ajaxweb應(yīng)用程序更新的內(nèi)容和單頁傳遞頁面名稱以記錄新頁面瀏覽記錄Countly.q.push(track_pageview,pagename);CountlyWebSDK 里其他常見行為不一一列舉。這些輔助跟蹤網(wǎng)絡(luò)常見行為的事件記錄結(jié)構(gòu),詳解參見Countly.js.修改CountlyWebSDK里Countly.js里sendXmlHttpRequest(params,callback)apiPath的值apiPath對應(yīng)Co
55、untlyServerWeb插件處理頁面非實時web日志的URL路徑后面部分。.1.5.3CountlyServerWeb插件定制Ajaxget/post處理Web頁面非實時web日志CountlyServerWeb插件位置在countly-server-masterpluginsweb,需要處理前端頁面非實時web日志的文件是webfrontendapp.js.解析頁面自定義事件.解析網(wǎng)絡(luò)常見行為(請求事件).歸納綜合自定義事件和請求事件為統(tǒng)一頁面采集非實時業(yè)務(wù)字段存入Web業(yè)務(wù)log文本文件統(tǒng)一頁面采集業(yè)務(wù)字段表格字段含義必須備注client_ip客戶端IP在服務(wù)器獲取的客戶端網(wǎng)關(guān)入口地址
56、referrer_url當(dāng)前頁的來源頁(上一頁)的URLrequest_url當(dāng)前界面的URLforward_url即將跳轉(zhuǎn)頁面的URLie_typeIE類型client_type訪問web的終端類型,mobileorpcuser_id網(wǎng)站會員IDsession_id會話IDpage_area_id頁面區(qū)域ID,標(biāo)記點擊所在頁面的欄位所屬的區(qū)域,如首頁的個性化欄位in_action_array頁面內(nèi)部action(和后臺有交互)系列事件有關(guān)數(shù)據(jù)結(jié)構(gòu)否如Ajax調(diào)用或者單頁(JSON格式)面,詳解見本表格后in_nonaction_array頁面內(nèi)部非action(不和后臺有交互)系列事件有關(guān)數(shù)
57、據(jù)否詳解見本表格后結(jié)構(gòu)(JSON格式)event_id用戶行為(導(dǎo)致頁面跳轉(zhuǎn))的事件標(biāo)識ID,例如點擊商品詳情為blueshirt_detailaction_id頁面跳轉(zhuǎn)的后臺action相對路徑action_time用戶行為的客戶端時刻用于對應(yīng)web端后臺實時日志記錄page_dateWeb頁面打開的日期YYYY-Month-Dayresponse_time頁面的響應(yīng)時長break_time用戶停留時長content_id表示業(yè)務(wù)內(nèi)容的ID,如類目頁的分類ID、搜詞頁的關(guān)鍵詞、促銷頁的促銷活動ID、詳情頁的商品ID、下單頁的訂單IDreach_timeWeb頁面日志采集請求到達日志服務(wù)器時間
58、exception_type頁面異常類型exception_desc頁面異常說明in_action_array數(shù)據(jù)結(jié)構(gòu)里每個action字段表格字段含義必須備注keyevent_idaction_id后臺action相對路徑count同一action發(fā)生次數(shù)dur1第一次事件時長action_time1第一次事件用戶行為的客戶端時刻用于對應(yīng)web端后臺實時日志記錄response_time1第一次事件用戶行為的響應(yīng)時長dur2第二次事件時長否事件時長數(shù)量取決于countaction_time2第二次事件用戶行為的客戶端時刻response_time2第二次事件用戶行為的響應(yīng)時長in_nonac
59、tion_array數(shù)據(jù)結(jié)本每個action字段表格暫不設(shè)計。.1.5.4安卓APP定制/埋點實現(xiàn)采集非實時app日志.基于countly-sdk-android實現(xiàn)采集安卓用戶行為非實時日志的流程.下載安裝并添加countly-sdk-android到安卓App項目工程.設(shè)置countly-sdk-android首先,您需要確定要使用的設(shè)備ID生成策略。?只需讓該策略生效即可。在此情況下,最簡單的方法最適用。切勿在服務(wù)器URL結(jié)尾放置后綴“/否則將失效。Countly.sharedInstance().init(this,YOUR_APP_KEY).?如有設(shè)備ID可自行指定(每臺設(shè)備均唯一)
60、:Countly.sharedInstance().init(this,YOUR_APP_KEY,YOUR_DEVICE_ID).?您可以依靠GoogleAdvertisingID生成設(shè)備ID。Countly.sharedInstance().init(this,YOUR_APP_KEY,null,DeviceId.Type.ADVERTISING_ID)也可以使用OpenUDID:Countly.sharedInstance().init(this,YOUR_APP_KEY,null,DeviceId.Type.OPEN_UDID)Countly.sharedInstance().init(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木制家具生產(chǎn)合同
- 2024聘請常年法律顧問合同協(xié)議書
- 土地租賃合同稅務(wù)問題
- 股權(quán)擴股協(xié)議書格式
- 建筑設(shè)計培訓(xùn)就業(yè)協(xié)議書
- 3.1.1 勾股定理 同步課件
- 七年級地理上冊-4.2-世界的語言和宗教同課異構(gòu)教案1-新人教版
- 2024版發(fā)起人協(xié)議書范例
- 《未來的建筑》示范公開課教學(xué)課件【小學(xué)三年級美術(shù)下冊】
- 2024年多應(yīng)用場景童鞋購銷合同
- 生物質(zhì)能發(fā)電技術(shù)應(yīng)用中存在的問題及優(yōu)化方案
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 幼兒園繪本故事:《老虎拔牙》 課件
- 2021年上半年《系統(tǒng)集成項目管理工程師》真題
- 一個冬天的童話 遇羅錦
- GB/T 706-2008熱軋型鋼
- 實驗六 雙子葉植物莖的初生結(jié)構(gòu)和單子葉植物莖的結(jié)構(gòu)
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
- 《彩虹》教案 省賽一等獎
- 2023年湖南建筑工程初中級職稱考試基礎(chǔ)知識
評論
0/150
提交評論