Android 移动应用接入
一、配置环境
1、前提条件
2、引入Android sdk
下载最新安卓 SDK
- 将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();
NzSdkConfiguration hwUatOptions = new NzSdkConfiguration()
/**
* 接收数据服务器地址,比如https://cdp.linkflowtech.com私有化环境是
*/
.setEndpoint("https://cdp.linkflowtech.com")
/**
* writeKey: 在系统中自定义渠道创建应用后,在“移动应用”列表页面里查看writeKey
*/
.setWriteKey("MTUtZjc4YzVhODgtNTA0********QtMjEwMjg2MDk0NDQz")
/**
* 每次批量上报数据的条数。范围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.NETWORK_CONNECT);
NzAnalyticsSDK.setup(this.getApplication(), hwUatOptions);
}
二、开发调用
1、获取用户信息,调用identify(识别用户)将用户信息上传
props 中的属性需要在系统中先创建 参照文档 自定义属性
// 设置用户信息
NzProfile profile = new NzProfile();
profile.setName("zhangsan");
profile.setEmail("zhangsan@linkflowtech.com");
profile.setPhone("151****90909");
profile.setBirthday("1990-09-09");
profile.setPropValue("attr1", "高级会员");
profile.setPropValue("attr13", "89");
profile.setPropValue("attr16", "女装");
profile.setPropValue("attr49", "二级");
NzAnalyticsSDK.getInstance().setProfile(profile);
// 设置用户身份
List<NzIdentity> identities = new ArrayList<>();
NzIdentity externalId = new NzIdentity("externalId","aaaa"); //aaa 是获取到值 用户的唯一值
NzIdentity openId = new NzIdentity("wechat.openId","bbb"); //bbb 用户的公众号openid 非必填
NzIdentity union = new NzIdentity("wechat.unionId","ccc"); //ccc 用户的unionid 非必填
identities.add(externalId);
identities.add(openId);
identities.add(union);
NzAnalyticsSDK.getInstance().addIdentities(identities);
存在用户切换登录的场景 需要 清理缓存
NzAnalyticsSDK.getInstance().cleanIdentities();
2、用户自定义事件
事件编码 以及事件属性 在系统中定义好之后导出提供
在linkflow平台,配置事件元数据,此步骤可由甲方管理员或者拥有配置权限角色来配置。
NzEvent event = new NzEvent();
event.setEvent("add_to_wishlist");
event.setPropValue("product_id", "p_0001");
event.setPropValue("s_pageName", activity.getClass().getCanonicalName());
NzAnalyticsSDK.getInstance().trackEvent(event);
三 验证
SDK配置验证
SDK正常初始化之后,SDK 会自动记录基础事件:
- 激活应用——当用户第一次安装启动移动应用时。
- 启动应用——当用户将移动应用展示在前台。
- 退出应用——当用户将移动应用退出到后台或杀掉应用进程。
- 展示页面——当用户跳转移动应用新的页面时。
- 点击元素——当用户在应用页面点击按钮时。
登录linkflow连接云,在主页右侧时间轴查看是否收到这些事件。如正常收到,则SDK配置无问题;否则,可查看
用户信息
查找到该用户:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
查看用户画像:仔细核对页面左侧用户信息,确认是否与identify上传的数据一致。
自定义事件
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号,来查找到该用户。
查看时间轴:进入人物画像,点击时间轴,在时间轴中找到该事件,并仔细核对事件属性,确保事件属性与sendEvent发送的事件一致。