全埋点(AutoTrack)
10. 注解 @SensorsDataIgnoreTrackAppViewScreen
11. 注解 @SensorsDataTrackViewOnClick
配置
1. 自定义页面信息($AppViewScreen)
$AppViewScreen)对于 App 中的核心页面(Activity),我们提供了一个 接口 ScreenAutoTracker:
当用户实现该接口时,SDK 会将 getTrackProperties 返回的属性(JSONObject类型)加入 $AppViewScreen 事件的属性中,作为用户访问该页面时的事件属性;SDK 会将 getScreenUrl 返回的字符串作为页面的 Url Scheme,记录在 $AppViewScreen 事件的 $url 属性中,并且当用户切换页面时,将前一个页面中的 Url Schema 作为当前页面的 $AppViewScreen 事件的 $referrer 属性。
例如:
2. 开启 Fragment 页面浏览事件的自动采集($AppViewScreen)
$AppViewScreen)从 1.7.10 可以使用 trackFragmentAppViewScreen 方法开启 Fragment 页面浏览事件的自动采集:
开启了 Fragment 浏览页面的自动采集 ,可以通过注解 @SensorsDataIgnoreTrackAppViewScreen 忽略 Fragment 所在 Activity 的页面浏览事件;如果某些 Fragment 的页面浏览事件也不想采集,也可以通过此注解来忽略掉。
如果不想使用自动采集的 Fragment 浏览页面,可以通过代码埋点在 tab 切换 Fragment 时触发页面浏览事件:
3. 通过代码 track 浏览页面事件($AppViewScreen)
$AppViewScreen)此方法用于 Activity 内 切换页面的时候调用,用于记录 $AppViewScreen 事件.
url :页面的 url, 记录到 $url 字段中(如果不需要此属性,可以传 null )。
properties :页面的属性。
注意:为保证记录到的 $AppViewScreen 事件和 Auto Track 采集的一致,页面的属性中 需要传入 $title(页面的title) 、$screen_name (页面的名称,即 包名.类名)字段。
从 v1.7.9 开始也可以使用下面方法来触发浏览页面事件:
4. AlertDialog
对于 AlertDialog( android.app.AlertDialog、android.support.v7.app.AlertDialog),需要给 Dialog 设置 OwnerActivity,才能采集到 AlertDialog 所属页面 (Activity) 的信息(属性:$screen_name、$title)。
如果是调用dialog.show()显示dialog:
如果是调用builder.show()显示dialog
5. 忽略某个页面或某些页面的事件
如果想忽略某个或某些页面的事件($AppClick、$AppViewScreen),可以使用如下方法:
6. 忽略某个类型控件的点击事件
如果想忽略某个控件类型及其子类控件的点击事件($AppClick),可以使用如下方法:
viewType 可以是 Android 常见的控件类型及自定义类型,如:CheckBox、RadioButton、Button、SwitchCompat、Spinner、TextView、ImageView、ImageButton、SeekBar、RatingBar、RadioGroup、ExpandableListView、Dialog、ListView、GridView、TabHost 等。
7. 忽略某个View的点击事件
如果要忽略某个 view 的点击事件($AppClick),比如某个 view 的点击事件对整个业务分析完全没有任何作用,或者自定义的密码输入键盘等,可以使用如下的方法忽略点击事件:
8. 设置元素ID
为了有效的区分页面元素 (view),SDK 默认使用 android:id 的值作为点击事件的 $element_id 属性,如果元素没有设置 android:id 属性,或者设置的不符合要求,可以使用如下方法设置元素 ID:
对于 Dialog,可以使用如下方法:
或
注意 setViewID 的优先级高于 android:id。
9. 自定义元素属性
点击 view 时,如果在发送 $AppClick 事件时还需要添加其它属性,可以通过如下方法进行扩展:
当点击 view 后,发送 $AppClick 事件时,会把 properties 的内容带上。
注意:不要在 view 设置的点击函数内调用,ignoreView 、setViewID、setViewProperties 方法
对于
ExpandableListView,可以通过setViewProperties方法对 item 所在的 view 设置扩展属性,也可以通过 Adapter 实现SensorsExpandableListViewItemTrackProperties接口来扩展属性。
对于
ListView、GridView,可以通过setViewProperties方法对 item 所在的 view 设置扩展属性,也可以通过 Adapter 实现SensorsAdapterViewItemTrackProperties接口来扩展属性。
10. 注解 @SensorsDataIgnoreTrackAppViewScreen
忽略某个 Activity 或 Fragment 的页面浏览事件($AppViewScreen)
例如:忽略 DemoActivity 的页面浏览事件
11. 注解 @SensorsDataTrackViewOnClick
如果你是使用 android:onclick 属性给 View 添加点击处理函数,此时你可以在处理函数上使用 @SensorsDataTrackViewOnClick 注解,在该函数执行时,SDK 会发 $AppClick 事件。
例如:
XML:
处理函数:
12. 注解 @SensorsDataTrackEvent
对于一些简单的场景,比如当某一个方法执行时就 track 一个事件,可以在该方法上使用 @SensorsDataTrackEvent 注解。当该方法执行时,SDK 会 track 一个指定的事件。
例如:
这样,每当函数 someMethod() 执行时,SDK 就会 track 一个事件,其中事件名称为 someEventName,属性有:
13. 开启 React Native 页面控件的自动采集($AppClick)
$AppClick)1.7.14 及以后的版本, 支持在初始化 SDK 之后,通过 enableReactNativeAutoTrack() 方法开启 RN 页面控件点击事件的自动采集。
14. TODO
EditText
Banner
Last updated
Was this helpful?