现在几乎所有的 App 都会有一个功能叫做「意见反馈」,这是我们听取用户声音的一个手段,以下是某新闻客户端和某电商客户端的「意见反馈」界面:
看功能界面挺简单的,但是开发起来事儿一点也不少,一般来说以下几个基本步骤是少不了的:
客户端工程师实现界面功能; 后端工程师建数据表、写相应的前端调用接口; Web 前端工程师实现意见反馈查看列表。 如果要做到好的用户体验,可能还需要将意见反馈接邮件系统,这样当用户提交了反馈,我们可以通过邮件及时看到并处理,要做好不简单吧?如果有好几个客户端,可能还需要重复发明轮子。
现在,Bugtags 为以上问题提供了很好了解决方案。
Bugtags 认为,用户的「意见反馈」应属于应用 Bug 的一种类型,应该与手动提交的 Bug、自动收集的闪退一起管理,那么我们应该怎么做呢?
Bugtags 所提供的是一种轻量级的解决方案:只提供数据接口,不提供 App 内的提交界面。这样每个 App 都可以按照需求实现不一样的「意见反馈」界面,比如上面所说的某新闻客户端和某电商客户端「意见反馈」的需求和设计就不一样。但是,他们都可以通过 Bugtags 意见反馈接口来实现数据收集。
Bugtags 这个魔法接口就是 sendFeedback: 1 /** * 发送用户反馈 * @param content - 反馈内容 */ + (void)sendFeedback:(NSString *)content; 就一个接口,非常简单,看定义应该就知道怎么用啦!那么问题来了,像上面说的某新闻客户端和某电商客户端「意见反馈」的邮箱信息或手机号这些数据放哪呢?其实在这里 setUserData 接口依然是可以用的,关于 setUserData 大家可以看看 「Bugtags 使用技巧之 setUserData」,也就是说可以将我们关注的其它信息通过 setUserData 添加进去,注意 setUserData 必须要在 sendFeedback 之前调用,如我们添加了以下数据:
1 [Bugtags setUserData:@"Bugtags" forKey:@"name"]; [Bugtags setUserData:@"102516533" forKey:@"qq"]; 添加完后,调用 sendFeedback 以上自定义数据就会与用户反馈的内容一并提交到 Bugtags 管理云端。比如我用以下代码提交:
1 [Bugtags setUserData:@"Bugtags" forKey:@"name"]; [Bugtags setUserData:@"102516533" forKey:@"qq"]; [Bugtags sendFeedback:@"现在是在显示用户反馈"]; 提交成功后,Bugtags 管理云端就可以实时看到这条反馈。