有用户问题我,什么时候推出像知乎 iOS 客户端那样面向普通用户的摇一摇反馈功能,其实通过 Bugtags 的提供的接口完全可以自主实现这个功能,而且非常简单。
下图是知乎 iOS 客户端摇一摇后弹出的反馈提示
点击遇到问题,就会自动截屏,然后用户就可以提交问题啦。
那么怎么通过 Bugtags 来实现这样的用户反馈呢?这里就需要用到 Bugtags 的手动调用接口:
/**
* 手动调用截屏界面
* @return none
*/
+ (void)invoke;
我们只需获取应用的摇一摇事件,在事件回调中调用 [Bugtags invoke]
即可,可参考以下代码:
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake) {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
BOOL enable = [prefs boolForKey:@"bugtags_shake_feedback_enabled"];
if (!enable) return;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"请问需要反馈什么问题?"
message:@"你也可以在个人页的反馈帮助中心里找到这个功能"
delegate:self
cancelButtonTitle:@"没啥事"
otherButtonTitles:@"遇到问题", @"意见建议", @"关闭摇一摇反馈", nil];
[alertView show];
}
}
#pragma mark - UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1) {
[Bugtags invoke];
return;
}
if (buttonIndex == 2) {
[Bugtags sendFeedback:@"也可以用 sendFeedback 接口实现一个用户反馈"];
return;
}
if (buttonIndex == 3) {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setBool:NO forKey:@"bugtags_shake_feedback_enabled"];
[prefs synchronize];
}
}
要在所有的 ViewController
里实现摇一摇,可将上述代码放到您应用 ViewController
的基类里
然后在应用的某个地方,比如在应用的设置里,加一个开关设置 NSUserDefaults
里的 bugtags_shake_feedback_enabled
来控制是否开启摇一摇反馈
功能。
以下是我做的一个 Demo,下载 Demo
很简单吧?Bugtags Android SDK 也支持同样的功能哦!
相关推荐
在Android应用开发中,友盟用户反馈SDK是一个重要的工具,它允许开发者集成用户反馈功能,以便更好地了解用户的需求和遇到的问题。这篇博客“友盟用户反馈自定义UI-Android”详细介绍了如何使用友盟SDK来定制用户...
"Android 用户反馈SDK v1.0.1"是一个专为Android平台设计的SDK,旨在帮助开发者更好地管理和处理用户反馈,提高用户体验。这次更新的版本v1.0.1主要集中在功能优化和用户体验提升上。 首先,新增的“判断下载进度的...
JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,用于控制浏览器的行为。在用户交互中,表单提交是常见...如果你解压并查看了"jiaoben8382"文件,应该能更详细地了解这个特定的实现方式。
本文将详细探讨一个名为“Maoni”的开源库,它为开发者提供了一个轻量级的解决方案,帮助我们更高效地从Android应用程序中收集用户反馈。 Maoni,源自印度尼西亚语中的“意见”一词,正如其名,它的核心功能就是为...
微信小程序源码,前端源码,简单展示源码,原生小程序源码 非uniapp,仅供参考,如有涉及版权问题请联系作者。微信小程序源码,前端源码,简单展示源码,原生小程序源码 非uniapp,仅供参考,如有涉及版权问题请联系...
在这个源码中,HTML将用于创建用户界面,包括输入框、按钮等元素,让用户可以方便地填写他们的反馈信息。这些元素通常包括姓名、邮箱、联系方式和留言内容等字段。 邮件通知功能是通过PHP(Hypertext Preprocessor...
借助现在很多产品都有的“用户反馈”功能,其实就可以进行简单的用户数据分析。“用户反馈”作为用户研究的手段,具有独特的优势。首先,“用户反馈”反映了用户在真实使用环境中正在发生的问题。焦点小组、用户访谈...
这不仅有助于提升你的编程技能,也能让你更好地掌握易语言的事件驱动编程思想。 总的来说,易语言标签反馈事件的应用是一个很好的起点,适合易语言初学者进行练习和探索。通过学习这个主题,你不仅可以掌握标签控件...
django-tellme, 支持用户反馈的Django 应用( 反馈按钮) tellmetellme是一个简单的Django 应用程序,提供一个简单简单的反馈按钮,表单和管理视图。特性获取当前页面的屏幕截图。然后,用户可以 Highlight 或者 black...
通过使用Haptica,开发者可以轻松提升应用的交互体验,使用户在操作时获得更丰富的感官反馈。无论是简单的成功或失败提示,还是自定义的复杂触感,Haptica都能轻松应对,是iOS开发者的得力助手。
基于用户反馈的个性化检索技术研究 在当前的搜索引擎中,存在着一些问题,如用户的检索目的难以组织成简单的查询词表示,搜索引擎返回的结果不区分用户的背景和兴趣等。为了解决这些问题,基于用户反馈的个性化检索...
【标题】"js用户反馈表格步骤向导代码.zip"是一个包含JavaScript和CSS特效的压缩包,主要用于创建一个用户友好的反馈表格向导。这个向导可能通过分步引导用户填写反馈,提高用户体验并确保信息的完整性和准确性。...
《Firefox缺陷跟踪系统中的用户反馈》这篇论文主要探讨了Firefox浏览器的缺陷跟踪系统中用户反馈的问题及其影响。缺陷跟踪系统是软件项目管理的重要组成部分,对于保障大规模开源软件的开发质量和顺利进行起着至关...
在数字化不断推进的今天,游戏设备及周边产品不断升级...通过简单地运行"Joyapp.exe",用户就能开始一场力反馈的飞行之旅,享受到前所未有的操控体验,体验到由微软FFB飞行摇杆力反馈测试软件带来的逼真飞行模拟体验。
首先,用户可以通过两种快捷方式进入“用户反馈”界面。一种方法是直接在PPTV的首屏界面上找到一个小叹号的图标,点击它即可进入反馈页面。这种方法简单直观,适合快速提交问题。另一种方式则是通过设置菜单进入,...
这个组件的目的是简化iOS和macOS应用中收集用户反馈的流程,让开发者能够更方便地获取用户对应用的意见和建议。 DFeedback组件的核心特点包括以下几个方面: 1. **一体化设计**:DFeedback将用户反馈和问题报告...
传统的触觉反馈可能在整个屏幕上均匀分布,但局部触觉反馈只在用户实际接触的位置产生,使得用户能更准确地感知他们与屏幕的交互。例如,在电子政务应用中,当用户在屏幕上选择一个特定的服务或填写表单时,局部触觉...
为了克服这些不足,研究者提出了一种结合分布式学习自动机和用户反馈的网页排序算法,旨在通过算法调整来提高信息检索的精准度和用户满意度。 ### 知识点二:分布式学习自动机的应用 #### 2.1 分布式学习自动机...
总的来说,LeanCloud的开源用户反馈组件为iOS开发者提供了一个简单易用、功能完善的工具,能够有效收集和管理用户反馈,从而更好地优化产品。通过合理的集成和定制,你可以根据自己的应用需求打造个性化的用户反馈...