Lotuseed WinPhone SDK 集成指南

三、添加方法

参考“SDK初始化”一节,除setXXX方法外,其他方法请在startWithAppKey方法后进行调用,防止产生无效数据。

1、跟踪记录PageView

接口说明:

1) onPageViewBeginonPageViewEnd接口用于跟踪记录PageView访问时长、页面转化等;
2) 这两个API需配对使用,参数pageName用于标识页面名称;另外下一个onPageViewBegin需在前一个onPageViewEnd后调用;

接口定义

    //页面起始
    public void onPageViewBegin(string pageName);
    //页面结束
    public void onPageViewEnd(string pageName);

参数说明

参数 类型 描述
pageName string PageView标识串

示例代码

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
    {        
        base.OnNavigatedFrom(e);  
        Lotuseed.Analytics.onPageViewEnd("PAGE NAME")  
    }

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {  
        base.OnNavigatedTo(e);  
        Lotuseed.Analytics.onPageViewBegin("PAGE NAME");
    }

2、使用错误报告

接口说明
1) 用于捕捉应用程序内未导致crash的错误日志,辅助开发者进行错误定位;

接口定义

   //自动提交错误
   public void setCrashReportEnabled(bool isReport);

   //手动提交错误
   public void onCustomLog:(string logmsg);

参数说明

参数 类型 描述
isReport bool 是否收集异常错误信息(默认不收集)
logmsg string 提交的调试日志信息

如何使用

Lotuseed SDK提供两种提交错误报告的方法:
1)自动提交Crash Log :

    Lotuseed.Analytics.setCrashReportEnabled(true);

2)手动提交Custom Log:
代码中调用

    Lotuseed.Analytics.onCustomLog("this a custom log text.");

参数为开发者提交的调试日志信息;

3、发送自定义事件

接口说明
除了基本统计分析功能外,我们还支持您自定义的事件分析,例如您可以统计游戏中通过不同关卡的人数,广告的点击次数或者视频被播放的次数等等。

#事件数量统计:

接口定义

    public void onEvent(string event_id);
    public void onEvent(string event_id);
    public void onEvent(string event_id, long count);
    public void onEvent(string event_id, string label);
    public void onEvent(string event_id, string label, long count);
    public void onEvent(string event_id, Dictionary<string, string> dic);
    public void onEvent(string event_id, Dictionary<string, string> dic, long count);

参数说明:

参数 类型 描述
event_id string 为当前统计的事件ID。
count long 事件本地累计数。当大量重复事件发生时,为减少网络流量,建议程序中先本地计算累计数count值。
label string 事件的一个属性描述。
dic Dictionary 为当前事件的属性和取值集合(key-value)。
#事件时长统计:

接口定义

    public void onEventDuration(string event_id, long duration);
    public void onEventDuration(string event_id, string label, long duration);
    public void onEventDuration(string event_id, Dictionary<string, string> dic, long duration);

参数说明:

参数 类型 描述
event_id string 为当前统计的事件ID。
duration long 时长,单位:毫秒。
label string 事件的一个属性描述。
dic Dictionary 为当前事件的属性和取值集合(key-value)。

4、添加辅助功能

#添加app更新提醒功能:

接口说明
支持app更新提醒功能,更新提示语和URL在Lotuseed Web上进行配置。

接口定义

    //默认方式进行版本更新检查
    public void checkUpdate();

    //自定义Delegate模式进行版本更新检查
    public void checkUpdateWithDelegate(UpdateAppEventHandler handler);

参数说明

参数 类型 描述
handler UpdateAppEventHandler app更新事件回调

示例代码

  • 使用默认更新方式:

      private void Application_Launching(object sender, LaunchingEventArgs e) {
          Lotuseed.Analytics.startWithAppKey(appkey); //必须添加的接口调用
          Lotuseed.Analytics.checkUpdate(); //须放置在startWithAppKey后
      }
    
  • 使用自定义更新回调: 如果程序想自己处理更新可以按如下步骤处理更新事件:

      Lotuseed.Analytics.checkUpdateWithDelegate(new Lotuseed.Analytics.UpdateAppEventHandler((bool done, Dictionary<string, object> dic) =>
      {
          if (done) //done: 表示是否成功响应
          {
              if (dic != null) //dic: K-V串,包括标题,更新日志,下载url等;
              {
                  //TODO...
              }
          }
      }));
    
#在线参数配置功能

接口说明

  1. 在线参数配置功能主要用于解决在不更新升级app的情况下通过云端下发参数值而改变app的逻辑,如彩蛋功能;
  2. 通过Lotuseed Web云端配置key-value键值对。 value可以是一个字符串,也可以是一个文件下载URL;key,value支持中文字符编码;如果参数是一个文件,SDK负责自动文件下载实现;
  3. updateOnlineConfig()更新在线参数,getConfigParams()获取在线参数。

接口定义

    //使用默认方式更新在线参数
    public void updateOnlineConfig();

    //使用自定义更新回调方式更新在线参数
    public void updateOnlineConfigWithDelegate(UpdateConfigEventHandler handler);

    //通过key获取在线参数
    public string getConfigParams(string key, string defval);

参数说明

参数 类型 描述
handler UpdateConfigEventHandler 参数更新回调对象
key string 获取参数的key
defval string 未获取到时的默认值

如何使用

  1. 在程序入口添加以下语句:
    • 使用默认更新方式:
      Lotuseed.Analytics.updateOnlineConfig();
      
    • 使用自定义更新回调:
      Lotuseed.Analytics.updateOnlineConfigWithDelegate(new Lotuseed.Analytics.UpdateConfigEventHandler((bool done, Dictionary<string, string> dic) =>
      {
      if (done) //done: 表示是否成功响应;
      {
          if (dic != null) //dic: 参数K-V串
          {
              //TODO...
          }
      }
      }));
      
  2. 程序内获取参数方法如下:
    string value = Lotuseed.Analytics.getConfigParams("key", "default value");