github.com/fluttify-pr…android
dependencies:
flutter:
sdk: flutter
janalytics_fluttify: ^x.x.x
复制代码
在 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方法中进行初始化。服务器
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 | 手机号码校验 |
电子邮件 | 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
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/.