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

 

總的來說,大致流程就是這樣了,感覺對於開發者意義不太,對於產品來說挺不錯的。

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