移动用户反馈 iOS SDK 的API说明文档
SDK 初始化(使用appKey和appSecret)
/// @brief 初始化方法
/// @params anAppKey AppKey
/// @params anAppSecret AppSecret
/// @return YWFeedbackKit实例
- (instancetype)initWithAppKey:(NSString *)anAppKey appSecret:(NSString *)anAppSecret;
用法:
// SDK初始化,手动配置appKey/appSecret
self.feedbackKit = [[YWFeedbackKit alloc] initWithAppKey:kAppKey appSecret:kAppSecret];
获取未读消息数
用于在移动应用中,主动拉取获得未读消息数
/// @brief 反馈未读消息数回调Block
/// @params unreadCount 未读消息数
/// @return error 调用失败返回错误
typedef void (^YWGetUnreadCountCompletionBlock) (NSInteger unreadCount, NSError *error);
/// @brief 请求反馈未读消息数
- (void)getUnreadCountWithCompletionBlock:(YWGetUnreadCountCompletionBlock)completionBlock;
用法:
/** 查询未读消息数 */
- (void)fetchUnreadCount {
__weak typeof(self) weakSelf = self;
// feedbackKit为持有的iOS SDK Kit
[self.feedbackKit getUnreadCountWithCompletionBlock:^(NSInteger unreadCount, NSError *error) {
// 返回的block中,会包含未读消息数量和错误
// 在这里进行后续的业务逻辑
}];
}
打开/关闭移动用户反馈页面
用于在移动应用中,打开移动用户反馈页面,进行后续的反馈相关操作。
/// @brief 创建反馈页面回调Block
/// @params viewController 反馈页面
/// @return error 调用失败返回错误
typedef void (^YWMakeFeedbackViewControllerCompletionBlock) (YWFeedbackViewController * viewController, NSError *error);
/// @brief 创建反馈页面,默认为不显示弹出错误信息
- (void)makeFeedbackViewControllerWithCompletionBlock:(YWMakeFeedbackViewControllerCompletionBlock)completionBlock;
用于接收移动用户反馈页面关闭的回调,以便用户关闭反馈页面。
/// @brief 关闭YWFeedbackView的block
@property (nonatomic, copy) YWCloseBlock closeBlock;
用法:
/** 打开用户反馈页面 */
- (void)openFeedbackViewController {
__weak typeof(self) weakSelf = self;
[self.feedbackKit makeFeedbackViewControllerWithCompletionBlock:^(YWFeedbackViewController *viewController, NSError *error) {
// 返回获取到的viewController或错误
// 如果没有出错的话,业务方可以拿到反馈页面viewController,并根据需要进行后续页面展示操作
if (viewController != nil) {
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
[weakSelf presentViewController:nav animated:YES completion:nil];
// 设置反馈页面关闭回调
[viewController setCloseBlock:^(UIViewController *aParentController){
[aParentController dismissViewControllerAnimated:YES completion:nil];
}];
} else {
/** 使用自定义的方式抛出error时,此部分可以注释掉 */
NSString *title = [error.userInfo objectForKey:@"msg"]?:@"接口调用失败,请保持网络通畅!";
[[TWMessageBarManager sharedInstance] showMessageWithTitle:title
description:nil
type:TWMessageBarMessageTypeError];
}
}];
}
设置用户名
用来设置用户名,设置后,可以在移动反馈控制台会话中查看,用于标识用户
/**
设置反馈用户名,请于SDK初始化完成后调用
(该用户名,可以在移动反馈控制台反馈会话中查看,用于标识用户)
@param nickName 反馈用户名
*/
- (void)setUserNick:(NSString *)nickName;
用法:
[self.feedbackKit setUserNick:@"***"];
设置自定义扩展信息
用来设置自定义的扩展信息,可以方便在移动反馈控制台查看。
/// @brief 业务方扩展反馈数据,在创建反馈页面前设置
@property (nonatomic, strong, readwrite) NSDictionary *extInfo;
用法:
/** 设置App自定义扩展反馈数据 */
// 在进入反馈页面之前设置
self.feedbackKit.extInfo = @{@"loginTime":[[NSDate date] description],
@"visitPath":@"登陆->关于->反馈",
@"userid":@"yourid",
@"应用自定义扩展信息":@"开发者可以根据需要设置不同的自定义信息,方便在反馈系统中查看"};
设置自定义错误展示视图
可以通过设置该属性,来自定义错误展示视图
/// @brief 反馈页面对外抛出Error的回调block。不设置此属性时,将使用默认Alert方式进行错误提示
/// @params viewController 反馈页面
/// @return error 失败error
@property (nonatomic, copy) void (^YWFeedbackViewControllerErrorBlock) (YWFeedbackViewController *viewController, NSError *error);
用法:
/** 使用自定义的方式抛出error */
[self.feedbackKit setYWFeedbackViewControllerErrorBlock:^(YWFeedbackViewController *viewController, NSError *error) {
NSString *title = [error.userInfo objectForKey:@"msg"]?:@"接口调用失败,请保持网络通畅!";
[[TWMessageBarManager sharedInstance] showMessageWithTitle:title
description:[NSString stringWithFormat:@"%ld", error.code]
type:TWMessageBarMessageTypeError];
}];
设置用户反馈页面导航栏按钮字体
/// @brief 如果不设置,默认为:`[UIFont boldSystemFontOfSize:13]`
@property (nonatomic, strong) UIFont *defaultCloseButtonTitleFont;
/// @brief 如果不设置,默认为:`[UIFont boldSystemFontOfSize:13]`
@property (nonatomic, strong) UIFont *defaultRightBarButtonItemTitleFont;
用法:
self.feedbackKit.defaultCloseButtonTitleFont = [UIFont systemFontOfSize:18];
self.feedbackKit.defaultRightBarButtonItemTitleFont= [UIFont systemFontOfSize:20];
文档内容是否对您有帮助?