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/.

相关文章
相关标签/搜索