Android 移动应用接入
一、配置环境
1、前提条件
2、引入Android sdk
下载最新安卓 SDK-1.1.0
- 将aar复制到您的安卓项目的Libs中
- 在主项目app文件夹下的gradle中的android中添加如下代码
repositories{
flatDir {
dirs 'libs'
}
}
3.在dependencies中添加依赖的代码:
// implementation(name: 'aar包的名字', ext: 'aar')
implementation(name: 'nz_analytics', ext: 'aar')
3、初始化sdk
在程序的入口 Application 的 onCreate() 中调用NzAnalyticicsSDK.sharedInstance() 初始化 SDK
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
NzOptions hwUatOptions = new NzOptions.Builder()
/**
* 接收数据服务器地址,比如https://cdp.linkflowtech.com/ 私有化环境是
*/
.setEndpoint("https://cdp.linkflowtech.com/")
/**
* writeKey: 在系统中自定义渠道创建应用后,在“移动应用”列表页面里查看writeKey
*/
.setWriteKey("MTUtZjc4YzVhODgtN********LTk0MWQtMjEwMjg2MDk0NDQz")
/**
* 每次批量上报数据的条数。范围50-200,默认是200。
*/
.setFlushBulkSize(100)
/**
* 定时批量上报数据的时间间。范围30-300,默认是60。单位是秒。
*/
.setFlushInterval(5)
/**
* SDK缓存的最大事件条数。范围1000-5000,默认1000。
*/
.setMaxQueueSize(50)
/**
* 自动追踪ViewSreen显示。默认值是false。
*/
.setAutoTrackViewScreenHide(true)
/**
* 是否是debug mode。默认是false。
*/
.setDebugMode(false)
/**
*指定渠道身份
*/
.setChannelIdType("externalId")
/**
* “WIFI_ONLY”:只在WIFI的时候上传数据;“NETWORK_CONNECT”:有网络连接的时候就上传数据。
*/
.setNetworkPolicy(NzOptions.NetWorkPolicy.WIFI_ONLY).create();
NzAnalyticicsSDK.sharedInstance().initialSDK(this, hwUatOptions);
}
二、开发调用
1、获取用户信息,调用identify(识别用户)将用户信息上传
props 中的属性需要在系统中先创建 参照文档 自定义属性
NzIdentity identity = new NzIdentity();
identity.setExternalId("349829"); // 唯一标识
identity.setName("zhangsan");
identity.setEmail("zhangsan@linkflowtech.com");
identity.setPhone("151****90909");
identity.setBirthday("1990-09-09");
Map<String, Object> props = new HashMap<>();
props.put("attr1", "高级会员");
props.put("attr13", "89");
props.put("attr16", "女装");
props.put("attr49", "二级");
identity.setProps(props);
//如果希望与微信公众号粉丝合并,请添加以下代码
NzIdentityWechatInfo * wechatInfo = [[NzIdentityWechatInfo alloc] init];
wechatInfo.openId = @""; //公众号粉丝openId,非必填。openId+appId可以定位到在linkflow创建连接的公众号粉丝,会将此公众号粉丝与此用户合并。
wechatInfo.appId = @""; //公众号appId(该公众号必须已在Linkflow绑定),非必填。
wechatInfo.unionId:非必填,公众号粉丝unionId,如果传入该值,会和系统中相同unionId的微信公众号和小程序用户进行合并
identity.setWeChatInfo(wechatInfo);
NzAnalyticsSDK.sharedInstance().identify(identity);
2、用户自定义事件
事件编码 以及事件属性 在系统中定义好之后导出提供
在linkflow平台,配置事件元数据,此步骤可由甲方管理员或者拥有配置权限角色来配置。
NzEvent event = new NzEvent();
event.setEvent("UDE_89497"); //需要传入您创建的自定义事件的事件编码
event.setAttr1("704769368693"); //使用attr1-attr20来设置自定义事件的属性值
event.setAttr2("35.8");
event.setAttr3("1990-12-10"); // 日期类型支持格式 yyyy-MM-dd hh:mm:ss
event.setAttr4("true"); // boolean 支持 true or false
event.setEventDate();//设置事件发生时间(13位时间戳,精确到毫秒),如果不设置,默认为系统当前时间
NzAnalyticsSDK.sharedInstance().trackEvent(event);
三 验证
SDK配置验证
SDK正常初始化之后,SDK 会自动记录基础事件:
- 激活应用——当用户第一次安装启动移动应用时。
- 启动应用——当用户将移动应用展示在前台。
- 退出应用——当用户将移动应用退出到后台或杀掉应用进程。
- 展示页面——当用户跳转移动应用新的页面时。
- 点击元素——当用户在应用页面点击按钮时。
登录linkflow连接云,在主页右侧时间轴查看是否收到这些事件。如正常收到,则SDK配置无问题;否则,可查看
用户信息
查找到该用户:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
查看用户画像:仔细核对页面左侧用户信息,确认是否与identify上传的数据一致。
自定义事件
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
查看时间轴:进入人物画像,点击时间轴,在时间轴中找到该事件,并仔细核对事件属性,确保事件属性与sendEvent发送的事件一致。