RSS

您现在的位置是:独木成林 » 苹果专区» 游戏评测 » iOS无埋点数据SDK实践之路

iOS无埋点数据SDK实践之路

时间:2017-03-02 来源: 复制分享

里的除外),并进行统一解答。

Q1: SDK 都使用KVC配置获取业务数据,是否会增加维护KVC配置的工作?

A1: 肯定会有对 KVC配置 的维护与管理工作

一般来说,上传的所有的 KVC配置 需要与 App 的版本相对应,因为 App 版本不同会直接导致keyPath可能不一样。所以与 KVC配置 相关的工作有如下2个:

针对当前 App 版本上传相应的 KVC配置,以获取想要的业务数据

当 App 新版本发布时,需要对之前版本上的 KVC配置 逐一验证,是否仍然适用于新版本。如果仍然适用,则直接在管理后台上把新的版本号添加到此 KVC配置;如果不再适用,则对新版本再上传一个新的KVC配置。

从上面可以看出,在 App 版本不断迭代的过程中,KVC配置 会越来越多,相应的维护与管理工作也相当繁琐。

为了解决这个痛点,SDK 中增加了一种方案来避免这种重复且繁琐的工作。具体的方案是:

在上传 KVC 配置时,指定某个区间的版本,或者不指定具体的版本(即应用到当前所有版本上);

SDK 在使用KVC配置获取业务数据失败时,添加相关的错误日志,并上报上去。其中错误日志里包含了appKey、appVersion、keyPath等信息,这样就能在后台清晰的看到哪些 KVC配置 在哪个 App 版本上存在问题;

使用脚本监控与KVC相关的错误日志。如果监控到有错误日志上报,则发送邮件通知给相关人员;

因此,SDK 采用此方案优化之后,KVC配置 的管理工作就只有1个了:

根据Log信息快速找到对应的 KVC配置,并上传一个针对新版本的 KVC配置

Q2: 对于 “内容与位置” 可能会随时间而变动时,如何实现数据收集与统计?

A2: 使用圈选SDK与数据SDK共同完成动态数据的收集与统计

这个问题在实际产品中也比较常见,比如 App 首页的内容大多是通过后台配置的。

这个问题其实可以转化或分解成如下的2个情况:

同一位置会显示不同的内容

同一内容会显示在不同的位置

注意,这2个并非同一个,它们分别对应于不同的场景,同时数据收集的方案也有所不同。

另外,“位置” 可以是在列表中,也可以是非列表中的,不过这个对整体的方案没有太大影响,仅仅是在不关心位置时viewPath中的通配符位置不同。

A2.1 同一位置显示不同的内容

例子:在 App 首页有一个展示最近活动的位置,先展示活动1的图片,过一段时间运营人员又配成活动2的图片。如何统计活动1、活动2各自的点击量?

针对这种场景,SDK 的解决方案是:“关心位置” + “关心内容”。

“关心位置” 的意思是只使用当前的位置,具体表现是viewPath中不包含任何通配符;“关心内容” 的意思是指定一个想要统计的内容。

整个过程可以分解为如下3个环节:

圈选SDK上传“关心位置”的KVC配置。KVC配置中指定获取活动的url的keyPath。

数据SDK在活动发生点击时,收集当前活动对应的url,并跟随点击事件一起上报。

圈选SDK上传“关心位置” + “关心内容”的圈选配置,关心的内容指定为想要统计的活动的url值。

A2.2 同一内容显示在不同的位置

例子:App 首页有4个固定的入口,假设其中一个叫“热门推荐”,那么根据后台配置的顺序不同,“热门推荐”可能被显示在4个位置中的任何1个,即一段时间显示在第1个,过一段时间可能显示在第2个位置。这时如何统计出“热门推荐”的点击量?

针对这种场景,SDK 的解决方案是:“不关心位置” + “关心内容”。

“不关心位置” 是指viewPath中含有通配符,用于表示viewTree中的多个位置。例如想要匹配列表所有行时,则将viewPath中的indexPath替换为通配符。

这个问题的解决过程也分为如下3步:

圈选SDK上传“不关心位置”的KVC配置。KVC配置中指定获取入口的 title 的keyPath。

数据SDK在4个中任何一个入口被点击时,都去收集入口的 title,并跟随点击事件一起上报。

圈选SDK上传“不关心位置” + “关心内容”的圈选配置,关心的内容指定为“热门推荐”。

到这里,数据收集与圈选配置的工作都已经做完了,接下来就是后台的数据统计了。

上述2种情况对后台进行统计没有区别,都使用一个统计方案,这里也介绍一下后台大概的统计思路:

拿到第3步中上传的圈选配置,根据viewPath 与 “关心的内容” 生成一个正则表达式,然后从数据 SDK 上报的原始数据中进行正则匹配,进而统计出相应数据。

上一篇:2017款12.9英寸iPad Pro保护套曝光:带双摄像头

下一篇:返回列表

  • 打印
推荐内容
热点内容
推荐安卓应用