google FireBase产品接入 —— Analytics

google FireBase产品接入 —— FCM

google map 接入指南——定位

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

 

总的来说,大致流程就是这样了,感觉对于开发者意义不太,对于产品来说挺不错的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章