1.行为的统计:自定义事件

自定义事件可以实现在应用程序中埋点来统计用户的点击行为。

1.1 使用自定义事件的依赖条件

使用自定义事件功能请先在网站应用管理后台(设置->事件)中添加相应的事件后,服务器才会对相应的事件请求进行处理。

1.2 计数事件

使用计数事件需要在后台添加事件时选择“计数事件”。

1.2.1 统计发生次数

在您希望跟踪的代码部分,调用如下方法:

staticvoid TrackEvent(string eventId)

eventId为当前统计的事件ID。

示例:统计微博应用中"转发"事件发生的次数,那么在转发的函数里调用

UmengSDK.UmengAnalytics.TrackEvent("Forward"); 

1.2.2 统计点击行为各属性被触发的次数

考虑事件在不同属性上的取值,可以调用如下方法:

static void TrackEvent(string eventId, Dictionary<string,string> kv)

kv 为当前事件的属性和取值(键值对,最多只能包含10个)。

示例:统计电商应用中“购买”事件发生的次数,以及购买的商品类型及数量,那么在购买的函数里调用:

Dictionary<String,String> purchase= new Dictionary<string,string>();purchase.Add("type", "book");purchase.Add("quantity", "3");UmengSDK.UmengAnalytics.TrackEvent("purchase", purchase);    

1.3 计算事件

使用计算事件需要在后台添加事件时选择“计算事件”。

1.3.1 统计数值型变量的值的分布

统计一个数值类型的连续变量,用户每次触发的数值的分布情况,如事件持续时间、每次付款金额等,可以调用如下方法:

可以使用UmengAnalytics.NumberKey常量作为Key,最多添加一个

Dictionary<String,String> purchase= new Dictionary<string,string>();purchase.Add("type", "book");purchase.Add("quantity", "3");purchase.Add(UmengAnalytics.NumberKey, "888");UmengSDK.UmengAnalytics.TrackEvent("purchase", purchase);   

1.3.2 统计点击次数及各属性触发次数

计算事件除能够统计数值型的参数外还具有计数事件的所有功能。详细说明

1.4 注意事项

  1. event_id 和 tag 不能使用特殊字符,且长度不能超过128个字节;map中的key和value 都不能使用特殊字符,key 不能超过128个字节,value 不能超过256个字节

  2. id, ts, du是保留字段,不能作为eventId及key的名称。

  3. 每个应用至多添加500个自定义事件,每个event 的 key不能超过10个,每个key的取值不能超过1000个(不允许通过key-value结构来统计类似搜索关键词,网页链接等随机生成的字符串信息)。 如有任何问题,请联系客服qq: 800083942。

2. 在线参数

在线参数使您可以在网站上动态配置自定义key-value型的键值对。

在线参数需要在网站编辑,在程序中使用这句代码从服务器获取参数,并缓存本地。

UmengAnalytics.UpdateOnlineParamAsync("Your_App_Key");

当在项目里需要获取某个具体参数时调用:

static string GetOnlineParam(string key)

参数key为友盟服务器上事先设置好的key。

同时,我们提供了在线参数回调接口,注意此接口只在在线参数有变化的时候才会回调,实现此接接口:

UmengAnalytics.UpdateOnlineParamCompleted += OnUpdateOnlineParamCompleted;            UmengAnalytics.UpdateOnlineParamAsync("Your_App_Key");void OnUpdateOnlineParamCompleted(int statusCode, OnlineParamEventArgs e){    //e.Result包含获取到的在线参数}
3. 错误统计

SDK通过Application.Current.UnhandledException捕获程序崩溃日志,并在程序下次 启动时发送到服务器。如果开发者自己捕获了错误,需要上传到友盟服务器可以调用下面方法:

publicstaticvoid TrackError(string error)//或publicstaticvoid TrackException(Exception ex)
4. 按渠道自动更新检测

在网站上分渠道提交app的版本号,更新日志及openURL后,您只需添加一行代码来完成自动更新检查。 请将下面代码添加到Application_Launching方法中,该方法会请求服务器检查最新版本。

publicvoid CheckUpdateAsync(string appkey);

手动处理更新回调:

public delegate void UpdateEventHandler(int statusCode, UpdateEventArgs e);publicstatic event UpdateEventHandler CheckUpdateCompleted;

statusCode返回状态,0 表示服务器请求成功
eUpdateEventArgs类型实例,携带有更新信息.

如果默认的行为不满足你的需求,您可以完全自定义自动更新检查行为。步骤如下:
添加事件委托

UmengAnalytics.CheckUpdateCompleted += new UmengAnalytics.UpdateEventHandler(OnCheckUpdateCompleted); UmengAnalytics.CheckUpdateAsync(“YOUR_APP_KEY”);    

处理回调函数

void OnCheckUpdateCompleted(int statusCode, UmengSDK.UpdateEventArgs e){    if (statusCode == 0 && e != null && e.update)    {        e.Handled = true;//如果开发者手动处理更新可以设置为true,这样SDK不会弹出更新对话框        string version = e.VersionName;//获取最新的版本号        string updateLog = e.UpdateLog;//获取更新日志        string productId = e.ProductID;//获取产品ID//To-do whatever you wanna do, since you've got everything    }}