快捷搜索: 王者荣耀 脱发

SDK数据采集具备的条件是什么?

为了更好为自己的用户提供更优质、更人性化的服务,企业或公司往往都会采集用户的一些信息,以便以后简化用户操作或方便营销等。比如记录登录用户经常购买某个品牌的化妆品,购买价格通常在300-500元区间,那么企业可能会将该品牌在这个区间的化妆品放到App最明显的位置;还比如公司做活动,但由于活动页面比较深,导致用户很难发现,因此触发次数特别少,没有起到营销效果,那么企业可能就会根据采集回的数据信息进行实时调整,将该模块放到明显位置、或减少操作路径等等。

SDK数据采集的作用就在于此,既能方便用户操作,又能起到帮助企业自我调整的作用。

1.稳定性

作为App重要的组成部分,稳定性是SDK的重中之重,因为一款SDK可能会被多个App使用,而每个App又有N个用户在使用,如果某行代码出现crash,后果将可想而知。

对于可能出现crash的代码适当添加trycatch进行异常捕获,对于常用的NSMutable Dictionary、NSMutable Array等控件在插入或访问时经常出现数组越界、nil数据插入等,可使用Category添加自定义安全方法,也可以在Category中使用方法交换,先调用自定义方法进行数据校验,校验无误再执行系统方法。

2.安全性

安全性目前主要使用代码混淆方式,为防止他人通过class-dump(相关链接,请详见文末!下载后将文件复制到usrlocalbin目录下)反编译后,根据源代码中的方法名就可以推断出其功能。

特定标识方法混淆对工程中所有方法使用特定标识开头,将所有带有标识的方法都使用随机生成字符串方式替换。

3.扩展性

对于程序来讲扩展性无疑非常重要,不能因某个小小需求的改变而导致代码重构,不仅浪费人力、物力,更重要的浪费了时间,而时间可能导致商机的流失。

为了方便用户对自定义信息的扩展,部分接口也预留了自定义信息,如购买商品时后期可能需要分析品牌、价格、购买时间段等,那么开发者可通过track properties方法将数据放到properties字典中。

经验分享 程序员 微信小程序 职场和发展