如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
bxml
V2EX  ›  推广

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

  •  
  •   bxml · Jul 21, 2016 · 3437 views
    This topic created in 3600 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   ·   2819 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:17 · PVG 17:17 · LAX 02:17 · JFK 05:17
    ♥ Do have faith in what you're doing.