自动采集
一、 介绍
引力引擎 Unity SDK 提供了自动采集功能,支持自动采集一些基础行为事件,根据不同平台支持不同的事件采集。
微信小游戏:
启动($MPLaunch)
:用户一次使用只会触发一次展示($MPShow)
:包括启动之后首次展示与后台调回前台进入后台($MPhide)
:并记录本次访问(展示至进入后台)的时间页面展示($MPViewScreen)
:自动记录页面的路径以及前向路径转发分享($MPShare)
:自动记录转发时的页面场景加载($SceneLoaded)
:记录游戏场景的加载场景卸载($SceneUnloaded)
:记录游戏场景的卸载
抖音小游戏:
启动($MPLaunch)
:用户一次使用只会触发一次展示($MPShow)
:包括启动之后首次展示与后台调回前台进入后台($MPhide)
:并记录本次访问(展示至进入后台)的时间场景加载($SceneLoaded)
:记录游戏场景的加载场景卸载($SceneUnloaded)
:记录游戏场景的卸载
Android:
安装事件($AppInstall)
:记录 APP 被安装的行为启动事件($AppStart)
:包括打开 APP 和从后台打开 APP关闭事件($AppEnd)
:包括关闭 APP 和 App 进入后台,同时收集启动的时长浏览事件($AppView)
:用户在 APP 中浏览页面(Activity)点击事件($AppClick)
:用户在 APP 中点击控件崩溃事件($AppCrash)
:APP 发生崩溃时记录崩溃信息
本文将会对微信小游戏和抖音小游戏支持的自采集事件做详细介绍,如您想了解 Android 平台的自采集事件,请参考这里。
二、 开启自动采集
您可以通过调用 EnableAutoTrack
传入 AUTO_TRACK_EVENTS
来开启指定事件的自动采集功能。
public enum AUTO_TRACK_EVENTS
{
NONE = 0,
APP_START = 1 << 0, // 当应用进入前台的时候触发上报,对应 $AppStart
APP_END = 1 << 1, // 当应用进入后台的时候触发上报,对应 $AppEnd
APP_CRASH = 1 << 4, // 当出现未捕获异常的时候触发上报,对应 $AppCrash
APP_INSTALL = 1 << 5, // 应用安装后首次打开的时候触发上报,对应 $AppInstall
APP_SCENE_LOAD = 1 << 6, // 当应用内加载场景的时候触发上报,对应 $SceneLoaded
APP_SCENE_UNLOAD = 1 << 7, // 当应用内卸载场景的时候触发上报,对应 $SceneUnloaded
APP_ALL = APP_START | APP_END | APP_INSTALL | APP_CRASH | APP_SCENE_LOAD | APP_SCENE_UNLOAD,
#if GRAVITY_WECHAT_GAME_MODE || GRAVITY_BYTEDANCE_GAME_MODE
// 微信小游戏、抖音小游戏
MP_SHOW = 1 << 8, // 当小游戏展示的时候触发上报,对应 $MPShow
MP_HIDE = 1 << 9, // 当小游戏进入后台的时候触发上报,对应 $MPHide
MP_SHARE = 1 << 10, // 当小游戏分享的时候触发上报,对应 $MPShare
MP_ADD_TO_FAVORITES = 1 << 11, // 当小游戏添加收藏的时候触发上报,对应 $MPAddFavorites
WECHAT_GAME_ALL = APP_SCENE_LOAD | APP_SCENE_UNLOAD | MP_SHOW | MP_HIDE | MP_SHARE | MP_ADD_TO_FAVORITES,
BYTEDANCE_GAME_ALL = APP_SCENE_LOAD | APP_SCENE_UNLOAD | MP_SHOW | MP_HIDE
#endif
}
您可以通过传入 AUTO_TRACK_EVENTS.WECHAT_GAME_ALL
来开启目前小游戏支持的所有自动采集事件,也可以根据您项目的需求开启部分自动采集事件。
// 开启全部自动采集事件
GravityEngineAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.WECHAT_GAME_ALL);
// 开启展示和进入后台事件的自动采集
GravityEngineAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.MP_SHOW | AUTO_TRACK_EVENTS.MP_HIDE);
提示
为了更好的在引力引擎平台做后向数据分析,建议您使用我们预置好的组合:APP_ALL
、WECHAT_GAME_ALL
和BYTEDANCE_GAME_ALL
。
三、 详细介绍
3.1 启动事件
- 英文事件名:
$MPLaunch
- 触发时机:首次打开或用户杀死进程再重新开启时触发,在进程的生命周期内只会触发一次。
- 自动采集属性:
$scene
,场景值,取自微信提供的场景值$url_query
,页面参数
通过启动事件,您可以计算每天的用户使用次数、人均使用次数,包括以场景值做分组,查看不同场景值的用户的使用情况。
3.2 展示事件
- 英文事件名:
$MPShow
- 触发时机:启动之后首次展示或后台调回前台时触发。
- 自动采集属性:
$scene
,场景值,取自微信提供的场景值$url_query
,页面参数
展示事件由于会受到调出前后台的影响(条数较多),因此不太适合直接进行分析,但是可以在行为路径中标识用户的一次使用,可以作为用户行为路径的初始行为。
3.3 进入后台事件
- 英文事件名:
$MPHide
- 触发时机:在进入后台时触发,并记录本次使用的时长。
- 自动采集属性:
$scene
,场景值,取自微信提供的场景值$event_duration
,数值型,表示本次启动($MPShow)到进入后台的持续时长,单位为秒
小程序隐藏事件会记录使用时长(单位为秒),因此可以直接计算用户使用总时长以及人均时长,也可以除以启动次数计算单次使用时长。
3.4 页面浏览事件
- 英文事件名:
$MPViewScreen
- 触发时机:在页面被打开时,或从后台调回前台的页面展示时触发,会记录页面的路径以及访问的前向路径。
- 自动采集属性:
$scene
,场景值,取自微信提供的场景值$url_query
,页面参数
通过页面浏览事件,您可以计算每个页面的 pv、uv,以及用户访问小程序的使用路径。
3.5 页面转发分享事件
- 英文事件名:
$MPShare
- 触发时机:在转发按钮被点击时触发(包括右上角导航栏的转发按钮,以及页面中的转发按钮)。
- 自动采集属性:
$scene
,场景值,取自微信提供的场景值$share_method
,分享途径$share_depth
,页面层级
页面转发分享事件,适合对页面的分享率进行分析,可以帮助您优化页面转发。
3.6 场景加载事件
- 英文事件名:
$SceneLoaded
- 触发时机:游戏场景的加载时
- 自动采集属性:
$scene_name
,场景名$scene_path
,页面路径,也就是转发时所在的页面路径
3.7 场景卸载事件
- 英文事件名:
$SceneUnloaded
- 触发时机:游戏场景的卸载时
- 自动采集属性:
$scene_name
,场景名$scene_path
,页面路径,也就是转发时所在的页面路径
四. 设置自动采集事件回调
支持设置自动采集事件回调,以实时设置自定义属性,或在对应事件触发时机执行自定义代码。
设置自动采集事件回调,需要先新建类并实现 IAutoTrackEventCallback
接口,复写AutoTrackEventCallback
方法,该方法的返回值即是需要设置的动采集事件属性。
再调用 EnableAutoTrack
方法传入自动采集事件回调对象,如下:
// 1.自动采集事件回调实现
public class AutoTrackECB : IAutoTrackEventCallback
{
public Dictionary<string, object> AutoTrackEventCallback(int type, Dictionary<string, object>properties)
{
return new Dictionary<string, object>()
{
{"AutoTrackEventProperty", DateTime.Today}
};
}
}
// 2.开启自动采集,并设置事件回调
GravityEngineAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL, new AutoTrackECB());