1. 账号统计
1.1. 功能介绍
通过账号统计,可以实现对多种账号应用系统的统计,如微信/qq/微博等账号分类及统计,统计数据指标含新增账号、活跃账号等,相对于设备维度统计,可以帮助开发者更贴合业务统计用户注册以及登录情况。
快速入口:
1.2. 账号类型支持
支持统计的账号分类如下:
1/通用账号 手机号、邮箱
2/第三方账号
国内: QQ号、微信openid、QQ openid、新浪微博、支付宝、淘宝、豆瓣、百度、京东、钉钉、小米
国外: facebook、twitter、google、linkin、line、instagram
3/其他 游客模式及自定义
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多账号
账号统计的全部接口都在 MTA+Account.h 头文件中。详细的接口说明请前往头文件查看,这里以邮箱账号为例,介绍一下基础用法。
登录
```c
void login() {
MTAAccountInfo *info = [MTAAccountInfo new];
// 如果是其他类型的账号,请设置对应的枚举值
info.type = MTAAccountEmail;
info.account = @"[email protected]";
info.accountStatus = MTAAccountStatusNormal;
[MTA reportAccountExt:@[info]];
}
```
注销
```c
void logout() {
MTAAccountInfo *info = [MTAAccountInfo new];
info.type = MTAAccountEmail;
info.account = @"[email protected]";
// 这里设置成logout
info.accountStatus = MTAAccountStatusLogout;
[MTA reportAccountExt:@[info]];
}
```
注销账号一个账号的同时登录另一个账号
```c
void exchange() {
MTAAccountInfo *info1 = [MTAAccountInfo new];
// 如果是其他类型的账号,请设置对应的枚举值
info1.type = MTAAccountEmail;
info1.account = @"[email protected]";
info1.accountStatus = MTAAccountStatusNormal;
MTAAccountInfo *info2 = [MTAAccountInfo new];
info2.type = MTAAccountQQOpenid;
info2.account = @"qqOpenId";
// 这里设置成logout
info2.accountStatus = MTAAccountStatusLogout;
[MTA reportAccountExt:@[info1, info2]];
}
```
1.4. 注意事项
1)一个账号使用多种注册方式(游客模式,qq账号,微信账号)注册,我们统计为多个账号
例如:用户游客模式登录后又使用另一种微信登录账号,如果当时只上报了游客模式的用户类别,而未上报微信登录账号类别,则会在账号处算为1个账号;如果同时上报了游客模式和微信登录账号,则算为2个账号
建议尽可能一次性上传应用可支持的多种账号类别,便于后续分类别查看账号数据统计情况
2)若没有上报账号类型, 此时账号类型视为0 (UNDEFINED),不建议用户上报此类型
3)请按照账号类型对应的正确格式进行上报(如账号类型选择手机号,则上报11位正确的手机号码),否则无法识别,影响账号数据统计