Android神策全埋点中页面浏览增加自定义属性

阅读: 评论:0

Android神策全埋点中页面浏览增加自定义属性

Android神策全埋点中页面浏览增加自定义属性

页面浏览是产品在APP埋点中经常添加的需求,并且每个页面会新增很多特有属性。神策提供了所有页面全局埋点的方法,并且可以添加特有属性。

一、页面增加特有属性

1.初始化神策埋点

SAConfigOptions saConfigOptions = new SAConfigOptions(SA_SERVER_URL);
//开启全埋点浏览事件
saConfigOptions.setAutoTrackEventType(SensorsAnalyticsAutoTrackEventType.APP_VIEW_SCREEN);
SensorsDataAPI.startWithConfigOptions(context, saConfigOptions);   

2.指定页面增加特有属性

public class MainActivity extends AppCompatActivity implements ScreenAutoTracker {@Overridepublic String getScreenUrl() {//看产品有没有单独规定url,没有就用默认getClass().getCanonicalName()return getClass().getCanonicalName();}@Overridepublic JSONObject getTrackProperties() throws JSONException {JSONObject jsonObject = new JSONObject();jsonObject.put("key", "value");//返回 $title,会覆盖默认 $title 的值,$符号基本是神策预留字段jsonObject.put("$title", "Main");return jsonObject;}
}

二、每个页面都需增加字段怎么处理?

可以给每个Activity都增加代码可以完成每个页面都增加字段,但是这样做肯定不是很优雅。特别是当项目页面特别多的时候,很显然这样做不合理。我们可以把这些功能提到BaseActivity中。

1.在基类中实现ScreenAutoTracker

public abstract class BaseActivity extends AppCompatActivity implements ScreenAutoTracker {protected String SCPageType = null;protected JSONObject SCJsonObject = null;/*** 返回自定义属性集合** @params: null* @return: JSONObject*/@Overridepublic JSONObject getTrackProperties() throws JSONException {if (SCJsonObject == null) SCJsonObject = new JSONObject();SCJsonObject.put("page_type", getScreenUrl());//上一层urlSCJsonObject.put("referrer_page_type", SensorsDataAPI.sharedInstance().getLastScreenUrl());return SCJsonObject;}/*** 返回当前页面的Url,用作下个页面的referrer** @params: null* @return: String*/@Overridepublic String getScreenUrl() {//当子类未设置SCPageType时,采用子类默认类名字段if (SCPageType == null) SCPageType = getClass().getCanonicalName();return SCPageType;}
}

2.子类可修改参数

public class MainActivity extends BaseActivity implements ScreenAutoTracker {@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);setContentView(R.layout.activity_main);//设置每个页面特有字段SCPageType = "services_list";try {if (SCJsonObject == null) SCJsonObject = new JSONObject();SCJsonObject.put("key", "value");} catch (JSONException e) {e.printStackTrace();}}}

有问题和建议欢迎大家指出~

本文发布于:2024-02-04 17:14:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170712491457697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23