开发者社区> 问答> 正文

SDK集成常见问题都有哪些?



Q1: SDK log数据包的发送策略?


切后台,启动(第一个页面)时发送数据包,或者缓冲区满(大小动态调整,最小1k)发送数据包。

Q2: SDK log数据包有多大?


SDK数据包发送:

  • 最大:6k
  • 最小:550字节


Q3:集成SDK后为什么没看到日志?

  1. 请确认,SDK的初始化方法是否有正常设置,如appkey,init方法调用(见问题2)等
  2. 确认,日志是否已经被埋点,通过sdk的turnOnDebug功能看本地端log


Q4:SDK相关接口调用的顺序是否影响埋点?


查看对SDK进行初始化的时候, setKey接口是否在init接口之前,如下
  1. iOS:
  2.     [UT setKey:@"21771303"appSecret:@“xxxx"];
  3.     [UTinit];
  4. Android:      
  5.     TBS.setKey("21771304", “xxx");
  6.     TBS.init();


Q5:日志中有哪些关键字会被过滤呢?


不允许使用\n,\t,|,||,\r字符作为埋点的内容或分隔符

Q6:2001/2101/19999有何规定的业务含义?


  1. 2001代表页面事件,埋点触发时机为当前页面离开时候。
    • Page字段:代表当前页面名称
    • Arg1:代表当前页面从哪个页面跳转过来
    • Arg2:代表当前页面从哪个页面的哪个控件点击过来
    • Arg3:代表当前页面的展示时长(页面消失时间点-页面刚开始显示时间点),单位毫秒
    • Args:更多页面事件相关的参数kv对

  • 19999:代表自定义事件
    • Arg1:代表自定义事件名称
    • Arg3:代表自定义事件从触发到结束经历的时长,单位毫秒
    • Args:更多自定义事件相关的参数kv对


  • Q7:ios里面要怎么给view埋页面事件的点?

    1. 调用接口:
    2. view进入时调用:+(void) et_viewEnter:(UIView *) view     properties:(NSDictionary *) pProperties;
    3. view离开时调用:+(void) et_viewLeave:(UIView *) view     properties:(NSDictionary *) pProperties;
    4. 如果需要给view的页面事件添加一些业务属性,调用:
    5. +(void) et_updateViewProperties:(UIView *) view     properties:(NSDictionary *) pProperties;


    Q8:19999事件的args字段被encode了,在云梯上要如何解读?


    数据开发需要对19999事件的args进行decode,odps上面的udf是 url_decode(args,’utf-8')

    Q9:可以在crash发生时让用户填入相关的反馈信息吗?


    可以的,CrashHandler提供了一组回调函式,应用方可以去实现 OnCrashCaught()接口去做定制的处理。例如在 OnCrashCaught()中跳到一个activity,让用户去填反馈信息。

    Q10:如何关掉”程序开个小差“的toast?


    调用 TBS.CrashHandler.disableEffect()

    Q11:OnCrashCaughtListener中的onCrashCaught和IUTCrashCaughtListner中的有什么不同?


    强烈建议使用IUTCrashCaughtListner,如果该版本SDK中有此接口的话。原因是OnCrashCaughtListener回传的Arg会覆盖掉默认的Arg,而IUTCrashCaughtListner中的不会传入默认的Arg,只会让用户回传想要新增的Map而附加到Arg中的args中。
    1. public interface OnCrashCaughtListener {
    2. /**
    3.   * 错误捕捉回调
    4.   *
    5.   * @param thread
    6.   * 发生异常的Thread
    7.   * @param exception
    8.   * 发生异常的Throwable对象
    9.   * @param arg
    10.   * Usertrack SDK解析以后形成的Arg对象(其中对应上传到服务端的数据)
    11.   * @return null:SDK用旧的Arg对象上传到服务端 存在有效值:SDK把新的Arg对象上传到服务端
    12.   */
    13.     Arg OnCrashCaught(Thread thread, Throwable exception, Arg arg);
    14. }
    15. public interface IUTCrashCaughtListner {
    16.     Map<String, Object> onCrashCaught(Thread pThread,     Throwable pException);
    17. }


    Q12: sdk采集是否有开关?


    1)关闭SDK默认自动采集的事件
    自动采集的内容有:页面事件,crash事件,可以通过Mobile Analytics SDK接口关闭【具体参看文档】。
    iOS自动采集的内容有:crash事件,可以通过Mobile Analytics SDK接口关闭【具体参看文档】。
    2)动态关闭自己埋的事件
    对于APP发布之后,可以通过我们的产品动态的调整事件采集的比例,目前产品正在开发计划中。

    展开
    收起
    猫饭先生 2017-10-20 15:42:11 1561 0
    0 条回答
    写回答
    取消 提交回答
    问答排行榜
    最热
    最新

    相关电子书

    更多
    集成智能接入网关APP:优化企业级移动办公网络 立即下载
    一个跨平台的云服务SDK需要什么 立即下载
    云效助力企业集成安全到DevOps中 立即下载