V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bxml
V2EX  ›  推广

Bugtags 教你轻松在 App 中实现用户反馈功能

  •  
  •   bxml · 2016-07-21 09:48:52 +08:00 · 2535 次点击
    这是一个创建于 2857 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有用户问题我,像知乎 iOS 客户端那样面向普通用户的摇一摇反馈功能是怎么实现的, 其实在集成 Bugtags SDK 后,通过 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 也支持同样的功能哦!

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1278 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:42 · PVG 07:42 · LAX 16:42 · JFK 19:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.