差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
cs:300visitoraccess:iossdkapi [2020/01/20 06:56] candywang [发送带访客属性的消息] |
cs:300visitoraccess:iossdkapi [2020/05/07 04:06] dujiepeng [给一个留言添加评论] |
||
---|---|---|---|
行 111: | 行 111: | ||
visitor.phone = @"13636362637"; | visitor.phone = @"13636362637"; | ||
visitor.companyName = @"环信"; | visitor.companyName = @"环信"; | ||
- | visitor.nickName = @"风口上的猪"; //必填 | + | visitor.nickName = @"风口上的猪";//必填 |
visitor.email = @"abv@126.com"; | visitor.email = @"abv@126.com"; | ||
visitor.desc = @"环信客服云"; | visitor.desc = @"环信客服云"; | ||
行 297: | 行 297: | ||
**详见**:SatisfactionViewController.m类 | **详见**:SatisfactionViewController.m类 | ||
+ | ==== 主动发起满意度评价邀请 ==== | ||
+ | <code> | ||
+ | // conversation 是HDConversationManager类型对象 | ||
+ | [conversation sendSatisfactionEvaluationCompletion:^(BOOL send, HDError *error) {}]; | ||
+ | </code> | ||
===== 留言 ===== | ===== 留言 ===== | ||
行 303: | 行 308: | ||
<code> | <code> | ||
- | /* | + | /** |
- | @param tenantId 租户Id | + | @brief 获取留言列表 |
- | @param cname IM 服务号 | + | @discussion 失败返回NSError,成功返回responseObject |
- | @param projectId 留言的Project ID | + | |
- | @param page 第几页,从0开始,默认为第0页 | + | @param projectId 留言ProjectId 进入“管理员模式 → 留言”,可以看到这个Project ID |
- | @param pageSize 每一页的大小,默认为10,最大不能超过100 | + | @param targetUser IM 服务号 |
- | */ | + | @param page 第几页从0开始 |
- | [[[HDClient sharedClient] leaveMsgManager] getLeaveMsgsWithProjectId:<#projectId#> cname:<#NSString *#> page:<#page#> pageSize:<#pageSize#> completion:^(id responseObject, NSError *error) { | + | @param pageSize 每页显示个数 |
- | if(!error) { //请求成功 | + | @param completion 返回结果 |
- | } else { //请求失败 | + | */ |
- | } | + | - (void)getLeaveMsgsWithProjectId:(NSString *)projectId |
- | }]; | + | targetUser:(NSString *)imCustomerService |
+ | page:(NSInteger)page | ||
+ | pageSize:(NSInteger)pageSize | ||
+ | completion:(void(^)(id responseObject,NSError *error))completion; | ||
</code> | </code> | ||
行 320: | 行 328: | ||
<code> | <code> | ||
- | //留言包括:创建者信息、附件[数组]以及其他属性 | + | /** |
- | Creator *creator = [Creator new]; | + | @brief 给一个留言添加评论 |
- | creator.name = <#创建者名称#>; | + | @discussion 失败返回NSError,成功返回responseObject |
- | creator.avatar = <#头像地址#>; | + | @param targetUser im服务号 |
- | creator.email = <#邮箱#>; | + | @param projectId 留言ProjectId 进入“管理员模式 → 留言”,可以看到这个Project ID |
- | creator.phone = <#电话号码#>; | + | @param ticketId 留言ID |
- | creator.qq = <#qq号码#>; | + | @param requestBody 请求体 |
- | creator.companyName = <#公司#>; | + | @param completion 返回结果block |
- | creator.desc = <#备注#>; | + | */ |
- | //附件(附件可以没有,也可以是多个) | + | - (void)createLeaveMsgCommentWithProjectId:(NSString*)projectId |
- | LeaveMsgAttachment *attachment = [LeaveMsgAttachment new]; | + | targetUser:(NSString *)imCustomerService |
- | attachment.name = <#文件名#>; | + | ticketId:(NSString *)ticketId |
- | attachment.type = <#类型 AttachmentType#>; | + | requestBody:(LeaveMsgRequestBody*)requestBody |
- | attachment.url = <#url#>; | + | completion:(void(^)(id responseObject,NSError *error))completion; |
- | LeaveMsgRequestBody *body = [[LeaveMsgRequestBody alloc] init]; | + | |
- | body.subject = <#主题#>; | + | |
- | body.content = <#内容#>; | + | |
- | body.status = <#默认处理状态#>; | + | |
- | body.creator = creator; | + | |
- | NSArray *attachments = @[attachment]; | + | |
- | body.attachments = attachments; | + | |
- | /* | + | |
- | @param tenantId 租户Id | + | |
- | @param projectId 留言的Project ID | + | |
- | @param cname IM服务号 | + | |
- | @param requestBody 留言参数 | + | |
- | */ | + | |
- | [[[HDClient sharedClient] leaveMsgManager] createLeaveMsgWithProjectId:<#NSString *#> cname:<#NSString *#> requestBody:<#LeaveMsgRequestBody *#> completion:^(id responseObject, NSError *error) { | + | |
- | if(error == nil){ //发送留言成功 | + | |
- | } else {//发送留言失败 | + | |
- | } | + | |
- | }]; | + | |
</code> | </code> | ||
行 357: | 行 347: | ||
<code> | <code> | ||
- | /* | + | /** |
- | @param tenantId 租户Id | + | @brief 获取留言详情 |
- | @param projectId 留言的Project ID | + | @discussion 失败返回NSError,成功返回responseObject |
- | @param cname IM服务号 | + | |
- | @param tickedId 留言Id | + | @param projectId 留言的Project ID |
- | */ | + | @param targetUser im服务号 |
- | [[[HDClient sharedClient] leaveMsgManager] getLeaveMsgDetailWithProjectId:projectId:<#NSString *#> cname:<#NSString *#> ticketId:<#NSString *#> completion:^(id responseObject, NSError *error) { | + | @param ticketId 留言ID |
- | if(error == nil){ //获取成功 | + | @param completion 返回结果 通过error判断成败 |
- | } else {//获取失败 | + | */ |
- | } | + | - (void)getLeaveMsgDetailWithProjectId:(NSString *)projectId |
- | }]; | + | targetUser:(NSString *)imCustomerService |
+ | ticketId:(NSString*)ticketId | ||
+ | completion:(void(^)(id responseObject,NSError *error))completion; | ||
</code> | </code> | ||
行 373: | 行 365: | ||
<code> | <code> | ||
- | /* | + | /** |
- | @param tenantId 租户Id | + | @brief 获取留言下所有评论 |
- | @param projectId 留言的Project ID | + | @discussion 失败返回NSError,成功返回responseObject |
- | @param cname IM服务号 | + | @param targetUser im服务号 |
- | @param tickedId 留言Id | + | @param projectId 留言ProjectId 进入“管理员模式 → 留言”,可以看到这个Project ID |
- | @param page 第几页,从0开始,默认为第0页 | + | @param ticketId 留言ID |
- | @param pageSize 每页数据数目,每一页的大小,默认为10,最大不能超过100 | + | @param page 第一页从0开始 |
- | */ | + | @param pageSize 每页显示的个数 |
- | [[[HDClient sharedClient] leaveMsgManager] getLeaveMsgCommentsWithProjectId:<#(NSString *)#> cname:<#NSString *#> ticketId:<#(NSString *)#> page:<#(NSUInteger)#> pageSize:<#(NSUInteger)#> completion:^(id responseObject, NSError *error) { | + | @param completion 返回结果 通过error判断成败 |
- | if(error == nil){ //获取成功 | + | */ |
- | } else {//获取失败 | + | |
- | } | + | - (void)getLeaveMsgCommentsWithProjectId:(NSString*)projectId |
- | }]; | + | targetUser:(NSString *)imCustomerService |
+ | ticketId:(NSString *)ticketId | ||
+ | page:(NSUInteger)page | ||
+ | pageSize:(NSUInteger)pageSize | ||
+ | completion:(void(^)(id responseObject,NSError *error))completion; | ||
</code> | </code> | ||
行 391: | 行 387: | ||
<code> | <code> | ||
- | //回复包括:创建者信息、附件[数组]以及其他属性 | + | /** |
- | Creator *creator = [Creator new]; | + | @brief 给一个留言添加评论 |
- | creator.identity = <#可选,创建这个评论人的id#>; | + | @discussion 失败返回NSError,成功返回responseObject |
- | creator.name = <#创建者名称#>; | + | @param targetUser im服务号 |
- | creator.avatar = <#头像地址#>; | + | @param projectId 留言ProjectId 进入“管理员模式 → 留言”,可以看到这个Project ID |
- | creator.email = <#邮箱#>; | + | @param ticketId 留言ID |
- | creator.phone = <#电话号码#>; | + | @param requestBody 请求体 |
- | creator.qq = <#qq号码#>; | + | @param completion 返回结果block |
- | creator.companyName = <#公司#>; | + | */ |
- | //附件(附件可以没有,也可以是多个) | + | - (void)createLeaveMsgCommentWithProjectId:(NSString*)projectId |
- | LeaveMsgAttachment *attachment = [LeaveMsgAttachment new]; | + | targetUser:(NSString *)imCustomerService |
- | attachment.name = <#文件名#>; | + | ticketId:(NSString *)ticketId |
- | attachment.type = <#类型 AttachmentType#>; | + | requestBody:(LeaveMsgRequestBody*)requestBody |
- | attachment.url = <#url#>; | + | completion:(void(^)(id responseObject,NSError *error))completion; |
- | LeaveMsgRequestBody *body = [[LeaveMsgRequestBody alloc] init]; | + | |
- | body.subject = <#主题#>; | + | |
- | body.content = <#内容#>; | + | |
- | body.replyId = <#回复评论的Id#> | + | |
- | body.status = <#默认处理状态#>; | + | |
- | body.creator = creator; | + | |
- | NSArray *attachments = @[attachment]; | + | |
- | body.attachments = attachments; | + | |
- | + | ||
- | /* | + | |
- | @param tenantId 租户Id | + | |
- | @param projectId 留言的Project ID | + | |
- | @param cname IM服务号 | + | |
- | @param tickedId 留言Id | + | |
- | @param requestBody 请求体 | + | |
- | */ | + | |
- | [[[HDClient sharedClient] leaveMsgManager] createLeaveMsgCommentWithProjectId:<#projectId#> cname:<#NSString *#> ticketId:<#留言id#> requestBody:<#LeaveMsgRequestBody*#> completion:^(id responseObject, NSError *error) { | + | |
- | if(error == nil){ //回复成功 | + | |
- | } else {//回复失败 | + | |
- | } | + | |
- | }]; | + | |
</code> | </code> | ||
行 431: | 行 406: | ||
<code> | <code> | ||
- | @param toUser IM服务号 | + | /** |
- | [[[HDClient sharedClient] leaveMsgManager] getWorkStatusWithToUser:<#(NSString *)#> completion:^(BOOL isWork, NSError *error) { | + | @brief 获取客服工作状态 |
- | if (error == nil) { //成功 | + | |
- | if (isWork) { //工作状态 | + | @param imServiceNumber im服务号 |
- | } else { //下班 | + | @param completion 返回结果 true or false |
- | } | + | */ |
- | } else { //请求失败 | + | - (void)getWorkStatusWithToUser:(NSString *)imServiceNumber completion:(void (^)(BOOL,NSError *))completion; |
- | } | + | |
- | }]; | + | |
</code> | </code> | ||
行 546: | 行 519: | ||
}]; | }]; | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | ==== 共享桌面 ==== | ||
+ | <code objc> | ||
+ | // view 为需要共享的view | ||
+ | [[HDClient sharedClient].callManager publishWindow:view completion:^(id obj, HDError * error) {}]; | ||
+ | </code> | ||
+ | |||
+ | ⚠️注:因为ios系统比较特殊,系统级别的共享方案在ios10推出,ios11才完善,您也可以公告自定义数据流的方式通过系统api获取桌面流,然后传入sdk中,具体参考如下: | ||
+ | <code> | ||
+ | [[HDClient sharedClient].callManager publishWindow:nil completion:^(id obj, HDError * error) { | ||
+ | [[RPScreenRecorder sharedRecorder] startCaptureWithHandler:^(CMSampleBufferRef _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error) | ||
+ | { | ||
+ | if (CMSampleBufferDataIsReady(sampleBuffer) && bufferType == RPSampleBufferTypeVideo) | ||
+ | { | ||
+ | [[HDClient sharedClient].callManager inputCustomVideoSampleBuffer:sampleBuffer rotation:UIDeviceOrientationPortrait publishId:obj completion:^(HDError *error) {}]; | ||
+ | } | ||
+ | } | ||
+ | completionHandler:nil]; | ||
+ | }]; | ||
+ | </code> | ||
+ | |||
===== 高级功能 ===== | ===== 高级功能 ===== | ||