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

    xiaoxiao2021-12-14  20

    早之前用的是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聊天页面的各种参数信息,例如头像啊,颜色啊,背景头部什么的,够用就差不多了

    开始集成1.0SDK

    现在是测试的Demo,这些注意的点是根据上线之后需要更改的东西,可以先看看

    导入相关库

    设置ObjC选项,这里cocoapods做的就没有那么麻烦了,一次搞定

    这里需要根据iOS 9 10 的ATS以及privacy私有访问设置权限适配,不然炸

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

    #import <YWFeedbackFMWK/YWFeedbackKit.h> @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里面,然后跑起来就不会出现了,出现的就是反馈的实时信息

    我刚才发了这条信息,然后我去后台查看 之前穿进去的用户配置信息,可以很方便地查看用户信息

    我回复一张图片给他,然后App上就能实时接收到数据

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

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

    转载请注明原文地址: https://ju.6miu.com/read-969176.html

    最新回复(0)