早之前用的是UMeng的反馈系统,但是现在友盟用户反馈产品将在11月30号关闭页面,12月31号将彻底关停后端服务,请各位开发者及时将产品迁移至阿里百川反馈组件,阿里百川将负责后续的更新及维护,原有 反馈组件将在12月31号彻底关停,没办法,只能换个组件了,我用的是cocoapods版本
在podfile文件里面输入如下信息
platform :ios, '8.0'
source 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git'
source 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecsMirror.git'
target 'AliFeedBack' do
pod 'YWFeedbackFMWK','~> 1.1.1.1'
end
这里由于1.0SDK版本和2.0SDK版本是感觉完全两套不同的东西
左侧就是1.0SDK的进入页面,比较简单直观,直接发送信息就可以了,没有那么深的入口
右侧就是2.0进入的首先是一个意见反馈系统,反馈之后会出现一个反馈的列表,再点进去才是左侧那个IM页面,这样来讲入口非常的深,个人觉得反馈系统用1.0的也差不多了,而且1.0还有个CustomPlist自定义IM聊天页面的各种参数信息,例如头像啊,颜色啊,背景头部什么的,够用就差不多了
现在是测试的Demo,这些注意的点是根据上线之后需要更改的东西,可以先看看
设置ObjC选项,这里cocoapods做的就没有那么麻烦了,一次搞定
这里需要根据iOS 9 10 的ATS以及privacy私有访问设置权限适配,不然炸
开始写代码,先导入头文件,然后配置一个全局的变量
#import
@interface ViewController ()
@property (nonatomic,strong) YWFeedbackKit *feedbackKit; //!< 1.1.1.1版本
@property (nonatomic,copy) NSString *appKey; // 这个key是根据项目申请下来的
这个Key如何申请的很简单 点击加入百川,然后根据项目申请一下就好了,会出现如下东西,在应用管理,应用证书那里可以查看key的信息
后台管理的反馈控制台
这里的用户返回后台控制台就是我们等下看到的地方了
关键配置代码如下
- (IBAction)feedBack:(id)sender
{
self.appKey = @"23554168";
self.feedbackKit = [[YWFeedbackKit alloc] initWithAppKey:self.appKey];
warning 设置App自定义扩展反馈数据 这里的信息就是后台搜集到的用户信息
_feedbackKit.extInfo = @{@"loginTime":[[NSDate date] description],
@"visitPath":@"登陆->关于->反馈",
@"应用自定义扩展信息":@"开发者可以根据需要设置不同的自定义信息,方便在反馈系统中查看",
@"宓珂璟":@"test"};
warning 自定义反馈页面配置 可以根据需要自己配置
// _feedbackKit.customUIPlist = @{@"bgColor":@"#00bfff"};
_feedbackKit.customUIPlist = @{@"avatar": @"",//当前登录账号的头像,string,为http url
@"toAvatar": @"",//客服账号的头像,string,为http url
@"profilePlaceholder": @"顶部联系方式",
@"chatInputPlaceholder": @"输入框里面的内容",
@"profileUpdatePlaceholder": @"更新联系方式",
@"profileUpdateCancelBtnText": @"取消更新",
@"profileUpdateConfirmBtnText": @"确定更新",
@"sendBtnText": @"发消息",
@"sendBtnTextColor": @"white",
@"sendBtnBgColor": @"blue",
@"hideLoginSuccess": @(YES),
@"profileTitle":@"顶部联系方式左侧提示内容",
@"profileUpdateTitle":@"更新联系方式标题",
@"profileUpdateDesc":@"更新联系方式文字描述",
@"photoFromCamera":@"拍摄一张照片",
@"photoFromAlbum":@"从相册选取",
@"photoFromCancel":@"取消",
@"voiceContent":@"点击这里录制语音",
@"voiceCancelContent":@"滑到这里取消录音",
@"voiceReleaseContent":@"松开取消录音",
//是否开启录音功能,
//如果不设置,会依据是否包含`YWFeedbackAudioExtentionFMWK.framework`来判断是否开启录音功能
//如果设置为false,无论是否包含`YWFeedbackAudioExtentionFMWK.framework`,都会关闭录音功能
//如果设置为true,且包含`YWFeedbackAudioExtentionFMWK.framework`的情况下,会开启录音功能
@"enableAudio":@"true"
};
[self _openFeedbackViewController];
}
- (void)_openFeedbackViewController
{
__weak typeof(self) weakSelf = self;
// 最终调用IM控制的代码,可以在里面配置控制器的头部信息
[_feedbackKit makeFeedbackViewControllerWithCompletionBlock:^(YWFeedbackViewController *viewController, NSError *error) {
if ( viewController != nil ) {
warning 这里可以设置你需要显示的标题
viewController.title = @"反馈界面";
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
[weakSelf presentViewController:nav animated:YES completion:nil];
viewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"右侧关闭" style:UIBarButtonItemStylePlain target:weakSelf action:@selector(actionQuitFeedback)];
viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"左侧搞笑" style:UIBarButtonItemStylePlain
target:weakSelf action:@selector(actionCleanMemory:)];
__weak typeof(nav) weakNav = nav;
/// @brief 打开某个url的回调block
[viewController setOpenURLBlock:^(NSString *aURLString, UIViewController *aParentController) {
UIViewController *webVC = [[UIViewController alloc] initWithNibName:nil bundle:nil];
UIWebView *webView = [[UIWebView alloc] initWithFrame:webVC.view.bounds];
webView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[webVC.view addSubview:webView];
[weakNav pushViewController:webVC animated:YES];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:aURLString]]];
}];
} else {
NSString *title = [error.userInfo objectForKey:@"msg"]?:@"接口调用失败,请保持网络通畅!";
}
}];
}
注意代码里的key应该是你申请下来的key,你第一次申请完之后进入后台,会出现这个
问题不大,你只要把key放到你的Demo里面,然后跑起来就不会出现了,出现的就是反馈的实时信息
我刚才发了这条信息,然后我去后台查看
之前穿进去的用户配置信息,可以很方便地查看用户信息
这样,一套完整的问题反馈流程就搞定了,详细信息可以点击下面的链接,这个Demo而已,如果上线的时候注意看里面的红色提醒,有个yy_1112的图片需要替换(申请完会给你)
官方详细文档以及Demo下载地址