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
总的来说,大致流程就是这样了,感觉对于开发者意义不太,对于产品来说挺不错的。