google FireBase 產品 —— Crashlytics 接入
Firebase 是google 推出的一款工具提,幫助您開發優質應用並擴大用戶羣,賺取更多收益。可以崩潰統計、推送、數據統計、身份驗證等功能,並支持多個平臺android、iOS、Web 。分爲三大塊,開發、分析、發展三大塊;參考鏈接 。
這些產品都是FireBase 系列產品,有的免費,有些收費。 同時Firebase 也可以和google play 進行關聯,這樣兩者幾乎可以滿足你百分百的app相關的需求,包括崩潰日誌、app各項指標分析、及其他產品數據、埋點等。接下來,選擇自己曾經接觸過的產品進行接入指南說明,當然了,我推薦你以官網爲準,這裏的記錄更多是給自己看的,或者上不了google的人看的,或者當作一些參考。接下來會有系列文章關於google 產品的接入說明及遇到的坑,敬請期待!
另外,說到國外的統計平臺,比較常用的是Flurry 和 Firebase 兩個了,flurry 的集成和firebase 基本一樣的,或則集成第三方的sdk的步驟都不難,就是那麼幾步。
本篇文章主要針對android平臺的數據統計功能進行集成。
一、將 Firebase 添加到您的 Android 項目
文章參考 :https://firebase.google.com/docs/android/setup
訪問 Firebase 控制檯 , 並添加項目,按照提示完成。
點擊 加號 新建項目, 這裏的項目相當於一個倉庫workSpace ,裏面可以放很多的項目,我這裏之前創建了,就以FireBaseDemo 爲例。然後選擇平臺,比如iOS,android,web等,
然後會到一個填寫app信息的界面,如下:
註冊應用填寫 applicationId ,應用暱稱(可以用app的名稱),第三個簽名不用提供;
第二步: 會生成一個文件,然後下載下來按照說明來做;
第三步:進行sdk的依賴,按照下圖所述,
並且要在module層級的build文件中添加相應的依賴
compile 'com.google.firebase:firebase-core:11.0.4'
compile 'com.google.firebase:firebase-analytics:11.0.4'
這樣就算是把環境配置完成了。
使用指南
文章參考:https://firebase.google.com/docs/analytics/android/start
關鍵代碼如下:
private FirebaseAnalytics mFirebaseAnalytics;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
}
public void clickView(View view){
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "1");
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "name");
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
Log.d("tag", "clickView: ");
}
然後,點擊事件然後看log日誌輸出:
03-29 16:48:30.009 31537-32254/com.sjh.firebasedemo V/FA: Uploading data. app, uncompressed size, data: com.sjh.firebasedemo, 377,
batch {
bundle {
protocol_version: 1
platform: android
gmp_version: 11020
uploading_gmp_version: 11020
config_version: 1553839371594957
gmp_app_id: 1:92864427547:android:c6ed842c42dc3f97
app_id: com.sjh.firebasedemo
app_version: 1.0
app_version_major: 1
firebase_instance_id: ez130pjZ-OE
app_store: manual_install
upload_timestamp_millis: 1553849309989
start_timestamp_millis: 1553849309338
end_timestamp_millis: 1553849309338
previous_bundle_start_timestamp_millis: 1553848709354
previous_bundle_end_timestamp_millis: 1553848709354
app_instance_id: dc2e6e9f98f10d24af3652e47645fd13
os_version: 7.0
device_model: SM-G9208
user_default_language: zh-cn
time_zone_offset_minutes: 480
bundle_sequential_index: 32
service_upload: false
user_property {
set_timestamp_millis: 1553843044146
name: first_open_time(_fot)
int_value: 1553846400000
}
user_property {
set_timestamp_millis: 1553843044146
name: first_open_after_install(_fi)
int_value: 0
}
event {
name: user_engagement(_e)
timestamp_millis: 1553849309338
previous_timestamp_millis: 1553847933911
param {
name: firebase_event_origin(_o)
string_value: auto
}
param {
name: _r
int_value: 1
}
param {
name: engagement_time_msec(_et)
int_value: 703769
}
param {
name: firebase_screen_class(_sc)
string_value: MainActivity
}
param {
name: firebase_screen_id(_si)
int_value: -8973350536427100227
}
param {
name: _dbg
int_value: 1
}
}
}
}
03-29 16:48:30.010 31537-32254/com.sjh.firebasedemo V/FA: Not stopping services. fetch, network, upload: false, true, false
Uploading requested multiple times
Not stopping services. fetch, network, upload: false, true, false
03-29 16:48:30.011 31537-32291/com.sjh.firebasedemo V/FA: Uploading data. size: 370
03-29 16:48:30.011 31537-32291/com.sjh.firebasedemo I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
等待2分鐘後,回到Firebase控制檯界面
看到左邊分別是相關數據,有崩潰統計(要依賴崩潰包)、事件等等,具體的就不說了。關於事件的統計和定義可以看,
https://support.google.com/firebase/answer/6317522?hl=zh-Hans&utm_id=ad
總的來說,大致流程就是這樣了,感覺對於開發者意義不太,對於產品來說挺不錯的。