Fluttify一週一插件 之 極光統計 Flutter插件

Logo

Github倉庫

github.com/fluttify-pr…android

依賴

dependencies:
  flutter:
    sdk: flutter
  janalytics_fluttify: ^x.x.x
複製代碼

配置

Android

在 module 的 gradle 中添加依賴和AndroidManifest的替換變量。ios

android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" // 你應用的包名.
        ......

        manifestPlaceholders = [
            JPUSH_APPKEY : "你的appkey", //JPush上註冊的包名對應的appkey.
            JPUSH_CHANNEL : "developer-default", //暫時填寫默認值便可.
        ]
        ......
    }
    ......
}
複製代碼

導入

import 'package:janalytics_fluttify/janalytics_fluttify.dart';
複製代碼

使用

上報策略

JAnalytics Android SDK採用了數據記錄與數據上報分離的策略,數據實時記錄,按照上報策略上報數據。git

  • 打開應用上報
  • 關閉應用上報

備註:如遇到極端狀況致使數據上報不成功,數據不會被清除,等待下一次上報策略觸發再上報。github

初始化

初始化代碼爲:redis

JAnalytics.init(iosKey: 'xxxx');
複製代碼

建議在main方法中進行初始化。服務器

是否打開debug日誌

JAnalytics.setDebugEnable(enable);
複製代碼

設置是否開啓debug模式。true則會打印更多的日誌信息。建議在init接口以前調用。微信

打開奔潰日誌上報

JAnalytics.startCrashHandler();
複製代碼

設置統計上報的自動週期

JAnalytics.setReportPeriod(Duration(second: 60));
複製代碼

最小10秒,最大1天,超出範圍會打印調用失敗日誌。傳0表示統計數據即時上報。markdown

自定義事件

經過傳入不一樣的事件模型來進行各類事件的統計。app

關於自定義事件作以下說明:
字符串字段(key與 value)限制大小不超過256字節,超過限制的key或value該事件將會被丟棄。
自定義鍵值對數目不能超過10個,超過10個限制該事件將會被丟棄。ide

計數事件模型

該模型是自定義計數事件模型,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
eventId String 事件Id(非空)
extMap Map<String, String> 擴展參數

自定義計數事件模型中擴展參數中不能使用如下 key 值:event_id 此類 key 已被模型使用,若是使用則會致使統計到的數據不許確.

計算事件模型

該模型是自定義計算事件模型,計算事件會經過相同的事件不一樣的值進行累加,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
eventId String 事件Id(非空)
eventValue double 事件的值(非空)
extMap Map<String, String> 擴展參數

自定義計算事件模型中擴展參數中不能使用如下 key 值:event_id event_value 此類 key 已被模型使用,若是使用則會致使統計到的數據不許確.

登陸事件模型

該模型是登陸事件模型,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
loginMethod String 登陸方式(非空)
loginSuccess bool 登陸是否成功(非空)
extMap Map<String, String> 擴展參數

登陸事件模型中擴展參數中不能使用如下 key 值:login_method login_success 此類 key 已被模型使用,若是使用則會致使統計到的數據不許確.

註冊事件模型

該模型是註冊事件模型,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
registerMethod String 註冊方式(非空)
registerSuccess bool 註冊是否成功(非空)
extMap Map 擴展參數

瀏覽事件模型

該模型是瀏覽事件模型,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
browseId String 瀏覽內容id
browseName String 內容名稱(非空)
browseType String 內容類型
browseDuration Duration 瀏覽時長
extMap Map<String, String> 擴展參數

瀏覽事件模型中擴展參數中不能使用如下 key 值: browse_content_id browse_name browse_type browse_duration 此類 key 已被模型使用,若是使用則會致使統計到的數據不許確.

購買事件模型

該模型是購買事件模型,能夠設置參數進行數據上報。

參數名稱 參數類型 參數說明
purchaseGoodsid String 商品id
purchaseGoodsName String 商品名稱
purchasePrice double 購買價格(非空)
purchaseSuccess bool 購買是否成功(非空)
purchaseCurrency Currency 貨幣類型,一個枚舉類
purchaseGoodsType String 商品類型
purchaseGoodsCount int 商品數量
extMap Map 擴展參數

帳戶維度模型

開發者能夠爲用戶增長帳戶信息,使統計數據能夠以帳戶維度作統計分析 現開發的屬性有:

中文名 英文名 類型 鑑權/備註
帳號ID accountID String
帳號建立時間 creationTime DateTime 時間戳
姓名 name String
性別 sex Gender 0未知 1男 2女/不能爲其餘數字,默認爲0
是否付費 paid Paid 0未知 1是 2否/不能爲其餘數字,默認爲0
出生年月 birthdate DateTime yyyyMMdd格式校驗
手機號碼 phone String 手機號碼校驗
電子郵件 email String 郵箱格式校驗
新浪微博ID weiboID String
微信ID wechatID String
QQ ID qqID String
自定義維度 extra key-value key只能爲字符串,value只能爲字符串或數字類型或null類型; 當value設置爲空類型時,將該key從服務器上刪除 key不能使用極光內部namespace(符號$

使用方法

JAnalytics.identifyAccount(Account(...須要設置的參數));
複製代碼

也能夠只設置部分屬性,再次調用identifyAccount修改帳戶信息。 若是要解綁當前用戶信息,調用

JAnalytics.detachAccount();
複製代碼

頁面流統計

頁面開始

JAnalytics.onPageStart('頁面名稱');
複製代碼

頁面啓動接口。在頁面(widget)的相關生命週期內調用,和onPageEnd須要成對調用;

頁面結束

JAnalytics.onPageEnd('頁面名稱');
複製代碼

頁面結束接口。在頁面(widget)的相關生命週期內調用,和onPageStart須要成對調用;

自動收集頁面信息

MaterialApp(
 navigatorObservers: [
   PageAnalyzer(),
 ],
)
複製代碼

社區

QQ羣 938842596

LICENSE

Copyright (C) 2020 yohom

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

相關文章
相關標籤/搜索