1. 账号统计
1.1. 功能介绍
通过账号统计,可以实现对多种账号应用系统的统计,如微信/qq/微博等账号分类及统计,统计数据指标含新增账号、活跃账号等,相对于设备维度统计,可以帮助开发者更贴合业务统计用户注册以及登录情况。
1.2. 账号类别支持
1.2.1. 账号类型
支持统计的账号分类如下:
1/通用账号
- 手机号
- 邮箱
2/第三方账号
1)国内
QQ号
微信openid
QQ openid
新浪微博
支付宝
淘宝
豆瓣
百度
京东
钉钉
小米
2)国外
facebook
twitter
google
linkin
line
instagram
3/游客模式
4/自定义
1.2.2. 账号统计
一个账号使用多种注册方式(游客模式,qq账号,微信账号)注册,我们统计为多个账号
例如:用户游客模式登录后又使用另一种微信登录账号,如果当时只上报了游客模式的用户类别,而未上报微信登录账号类别,则会在账号处算为1个账号;如果同时上报了游客模式和微信登录账号,则算为2个账号
建议尽可能一次性上传应用可支持的多种账号类别,便于后续分类别查看账号数据统计情况
1.2.3. 注意事项
1)若没有上报账号类型, 此时账号类型视为0 (UNDEFINED),不建议用户上报此类型
2)请按照账号类型对应的正确格式进行上报(如账号类型选择手机号,则上报11位正确的手机号码),否则无法识别,影响账号数据统计
1.3. 如何统计
使用账号统计之前时,需先在iOS,Android端接入对应的SDK,如已接入请核对sdk版本号是否支持:
iOS SDK:需要使用V2.4.0及之后的版本(点击下载)
Android SDK:需要使用V3.4.3及之后的版本(点击下载)
1.3.1. Android SDK多账号统计
- 支持SDK上报账号及类型、状态、过期时间等属性
方法
/**
* 上报单个账号,通常用于登陆/刷票登陆/第三方登陆等时机调用
* @param context 上下文
* @param account 待上报的账号
*/
public static void reportMultiAccount(Context context, final StatMultiAccount account);
/**
* 上报多个账号,适用于App内部已经绑定了多个账号的情况下使用
* @param context 上下文
* @param accountList 待上报的账号列表
*/
public static void reportMultiAccount(Context context, final List<StatMultiAccount> accountList);
/**
* 获取SDK内部账号列表
* @return 账号列表
*/
public static Map<StatMultiAccount.AccountType, StatMultiAccount> getMultiAccount();
/**
* 根据账号类型删除某个账号,通常用于注销时调用
* @param context 上下文
* @param accountType 待删除的账号类型
*/
public static void removeMultiAccount(Context context, StatMultiAccount.AccountType accountType);
示例
// 登陆时调用
StatMultiAccount account = new StatMultiAccount(
StatMultiAccount.AccountType.PHONE_NO, "1380000000");
long time = System.currentTimeMillis() / 1000;
// 登陆时间,单秒为秒
account.setLastTimeSec(time);
// 过期时间
account.setExpireTimeSec(time + 24 * 60);
StatService.reportMultiAccount(context, account);
// 注销时调用
StatService.removeMultiAccount(context, StatMultiAccount.AccountType.PHONE_NO);
StatMultiAccount类说明
StatMultiAccount
类是账号的实体类,主要包含各个属性的配置方法以及定义的枚举。
方法列表
方法原型 | 参数 | 说明 |
---|---|---|
StatMultiAccount(AccountType type, String id) | type:账号类型;id:账号 | 构造方法 |
StatMultiAccount setType(AccountType type) | type:账号类型 | 设置账号类型 |
AccountType getType() | 返回值:账号类型 | 获取账号类型 |
StatMultiAccount setId(String id) | id:账号 | 设置账号 |
String getId() | 返回值:账号 | 获取账号 |
StatMultiAccount setRequestType(AccountRequestType requestType) | requestType:账号请求类型 | 设置账号的请求类型 |
AccountRequestType getRequestType() | 返回值:账号的请求类型 | 获取账号的请求类型 |
StatMultiAccount setCurrentStatusType(AccountStatus currentStatusType) | currentStatusType:账号当前状态 | 设置账号当前状态 |
AccountStatus getCurrentStatusType() | 返回值:账号当前状态 | 获取账号的状态 |
StatMultiAccount setLastTimeSec(long lastTime) | lastTime:最近登陆的时间,单位为秒 | 设置最近登陆时间 |
long getLastTimeSec() | 返回值:近登陆时间 | 获取近登陆时间 |
StatMultiAccount setExpireTimeSec(long expireTimeSec) | expireTimeSec:账号登陆态的过期时间,单位为秒 | 设置账号登陆态的过期时间 |
long getExpireTimeSec() | 返回值:过期时间 | 获取过期时间 |
AccountType账号类型
枚举值 | 说明 |
---|---|
PHONE_NO | 手机号码 |
email(邮箱) | |
QQ_NUM | QQ号码 |
OPEN_WEIXIN | 微信 openid |
OPEN_QQ | 手Q openid |
OPEN_WEIBO | 微博 |
OPEN_ALIPAY | 支付宝 |
OPEN_TAOBAO | 淘宝 |
OPEN_DOUBAN | 豆瓣 |
OPEN_FACEBOOK | |
OPEN_TWITTER | |
OPEN_GOOGLE | |
OPEN_BAIDU | 百度 |
OPEN_JINGDONG | 京东 |
OPEN_DINGDING | 钉钉 |
OPEN_XIAOMI | 小米 |
OPEN_LINKIN | linkin |
OPEN_LINE | line |
OPEN_INSTAGRAM | |
GUEST_MODE | 游客模式 |
CUSTOM | 自定义 |
UNDEFINED | 未定义,默认值 |
AccountStatus账号状态
枚举值 | 说明 |
---|---|
UNDEFINED | 未定义,默认值 |
NORMAL | 正常 |
LOGOUT | 注销 |
AccountRequestType账号登陆请求类型
枚举值 | 说明 |
---|---|
UNDEFINED | 未定义,默认值 |
NORMAL_LOGIN | 正常登陆 |
REFLESH_TOKEN | 刷票 |
EXCH_SHORT_TOKEN | 换短票 |
EXCH_3PART_TOKEN | 第三方SDK登陆 |
1.3.2. iOS SDK多账号
ios sdk多账号需要引用MTA+Account.h头文件
查找路径:下载ios sdk(需要使用V2.4.0及之后的版本)>>sdk文件夹>>MTA+Account.h文件
MTA 多账号 SDK 支持上报账号及类型、状态、过期时间等属性
示例代码
#include "MTA+Account.h"
static void reportAccount()
<br>{
<br>// 登录微信账号
<br>MTAAccountInfo *weiXinAccount = [MTAAccountInfo new];
<br>// 支持的账号类型请查看头文件中
<br>// MTAAccountTypeExt 枚举值定义
<br>weiXinAccount.type = MTAAccountWeixin;
<br>weiXinAccount.account = @"WXAccount";
<br>weiXinAccount.accountStatus = MTAAccountStatusNormal;
// MTAAccountInfo 中其它字段请查看头文件中相关注释
// 登录豆瓣账号
MTAAccountInfo *dbAccount = [MTAAccountInfo new];
// 支持的账号类型请查看头文件中
// MTAAccountTypeExt 枚举值定义
dbAccount.type = MTAAccountDouban;
dbAccount.account = @"dbAccount";
dbAccount.accountStatus = MTAAccountStatusNormal;
// 注销QQ账号
MTAAccountInfo *QQOpenIdAccount = [MTAAccountInfo new];
QQOpenIdAccount.type = MTAAccountQQOpenid;
QQOpenIdAccount.account = @"qq_openid";
// status设置成 logout 表示这种类型的账号。
QQOpenIdAccount.accountStatus = MTAAccountStatusLogout;
// 登录的账号信息会储存在本地,下次启动会自动上报
// 注销的账号信息不会上报,在业务注销账号时,请务必
// 调用注销账号的接口
// 上报QQ, 豆瓣, 微信账号信息
[MTA reportAccountExt:@[QQOpenIdAccount, dbAccount, weiXinAccount]];
};