差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
cs:300visitoraccess:iossdkapi [2020/01/20 06:56]
candywang [发送带访客属性的消息]
cs:300visitoraccess:iossdkapi [2020/07/10 09:10]
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 projectId 留言ProjectId ​ 进入“管理员模式 → 留言”,可以看到这个Project ID 
-creator.email = <#​邮箱#>;​ + ​@param ​imCustomerService im服务号
-creator.phone = <#​电话号码#>;​ +
-creator.qq = <#​qq号码#>;​ +
-creator.companyName = <#​公司#>;​ +
-creator.desc = <#​备注#>;​ +
-//​附件(附件可以没有,也可以是多) +
-LeaveMsgAttachment *attachment = [LeaveMsgAttachment new]; +
-attachment.name = <#​文件名#>;​ +
-attachment.type = <#类型 AttachmentType#>;​ +
-attachment.url = <#​url#>;​ +
-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 留言参数  ​@param requestBody 留言参数
-*/ + ​@param completion 返回结果 
-[[[HDClient sharedClient] leaveMsgManager] ​createLeaveMsgWithProjectId:​<#NSString *#> cname:<#NSString *#> requestBody:​<#LeaveMsgRequestBody *#> completion:​^(id responseObject,​ NSError *error) ​+ */ 
-        if(error == nil){ //​发送留言成功 +- (void)createLeaveMsgWithProjectId:​(NSString *)projectId 
-        } else {//​发送留言失败 +                         ​targetUser:(NSString *)imCustomerService 
-        } +                        ​requestBody:​(LeaveMsgRequestBody *)requestBody 
-    }];+                         completion:(void(^)(id responseObject,​NSError *error))completion; 
 </​code>​ </​code>​
  
行 357: 行 346:
  
 <​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: 行 364:
  
 <​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: 行 386:
  
 <​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: 行 405:
    
 <​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: 行 518:
     }];     }];
 </​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>​
 +
 ===== 高级功能 ===== ===== 高级功能 =====