用友盟或阿里百川接入问题意见反馈模块

早之前用的是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张图片 用友盟或阿里百川接入问题意见反馈模块_第2张图片





左侧就是1.0SDK的进入页面,比较简单直观,直接发送信息就可以了,没有那么深的入口
右侧就是2.0进入的首先是一个意见反馈系统,反馈之后会出现一个反馈的列表,再点进去才是左侧那个IM页面,这样来讲入口非常的深,个人觉得反馈系统用1.0的也差不多了,而且1.0还有个CustomPlist自定义IM聊天页面的各种参数信息,例如头像啊,颜色啊,背景头部什么的,够用就差不多了

开始集成1.0SDK

现在是测试的Demo,这些注意的点是根据上线之后需要更改的东西,可以先看看
用友盟或阿里百川接入问题意见反馈模块_第3张图片



导入相关库
用友盟或阿里百川接入问题意见反馈模块_第4张图片



设置ObjC选项,这里cocoapods做的就没有那么麻烦了,一次搞定
用友盟或阿里百川接入问题意见反馈模块_第5张图片



这里需要根据iOS 9 10 的ATS以及privacy私有访问设置权限适配,不然炸
用友盟或阿里百川接入问题意见反馈模块_第6张图片



开始写代码,先导入头文件,然后配置一个全局的变量

#import 
@interface ViewController ()
@property (nonatomic,strong) YWFeedbackKit *feedbackKit; //!< 1.1.1.1版本
@property (nonatomic,copy) NSString *appKey; // 这个key是根据项目申请下来的



这个Key如何申请的很简单 点击加入百川,然后根据项目申请一下就好了,会出现如下东西,在应用管理,应用证书那里可以查看key的信息
用友盟或阿里百川接入问题意见反馈模块_第7张图片



后台管理的反馈控制台
用友盟或阿里百川接入问题意见反馈模块_第8张图片
这里的用户返回后台控制台就是我们等下看到的地方了



关键配置代码如下

- (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,你第一次申请完之后进入后台,会出现这个
用友盟或阿里百川接入问题意见反馈模块_第9张图片
问题不大,你只要把key放到你的Demo里面,然后跑起来就不会出现了,出现的就是反馈的实时信息

用友盟或阿里百川接入问题意见反馈模块_第10张图片


我刚才发了这条信息,然后我去后台查看


用友盟或阿里百川接入问题意见反馈模块_第11张图片


之前穿进去的用户配置信息,可以很方便地查看用户信息
用友盟或阿里百川接入问题意见反馈模块_第12张图片



我回复一张图片给他,然后App上就能实时接收到数据
用友盟或阿里百川接入问题意见反馈模块_第13张图片


这样,一套完整的问题反馈流程就搞定了,详细信息可以点击下面的链接,这个Demo而已,如果上线的时候注意看里面的红色提醒,有个yy_1112的图片需要替换(申请完会给你)



官方详细文档以及Demo下载地址

你可能感兴趣的:(基础知识,Bug收录)