V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about
bxml
V2EX  ›  推广

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

  •  
  •   bxml · Jul 21, 2016 · 3366 views
    This topic created in 3571 days ago, the information mentioned may be changed or developed.

    有用户问题我,像知乎 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 也支持同样的功能哦!

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2689 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
    ♥ Do have faith in what you're doing.