差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
上一修订版 两侧同时换到之后的修订记录
cs:300visitoraccess:iosagentsdk [2017/11/20 03:03]
fanxn
cs:300visitoraccess:iosagentsdk [2017/11/20 06:51]
fanxn
行 19: 行 19:
   * [[#​添加消息监听|消息监听]]   * [[#​添加消息监听|消息监听]]
  
-=== SDK介绍 ===+==== SDK介绍 ​====
 1、文件介绍:依赖库包括HyphenateLite.framework和AgentSDK.framework两个framework,二者缺一不可。 1、文件介绍:依赖库包括HyphenateLite.framework和AgentSDK.framework两个framework,二者缺一不可。
-=== 准备工作 ===+==== 准备工作 ​====
 1、工程中导入 HyphenateLite.framework和AgentSDK.framework 【勾选 Copy items if needed 和 Create groups】。\\ 1、工程中导入 HyphenateLite.framework和AgentSDK.framework 【勾选 Copy items if needed 和 Create groups】。\\
 2、选中当前的TARGET,​向General -> Embedded Binaries 中添加以上两个依赖库.Linked Frameworks and Libraries 中会自动增加。\\ 2、选中当前的TARGET,​向General -> Embedded Binaries 中添加以上两个依赖库.Linked Frameworks and Libraries 中会自动增加。\\
行 35: 行 35:
     #endif     #endif
  </​code>​  </​code>​
-=== 上传AppStore注意事项 === +==== 上传AppStore注意事项 ​==== 
-    为了方便广大开发者开发测试,Demo中提供的二进制文件支持x86_64 armv7 arm64等平台,上传AppStore需要剔除不需要的CPU架构支持,只剩余armv7、arm64+    为了方便广大开发者开发测试,framework中提供的二进制文件支持x86_64 armv7 arm64等平台,上传AppStore需要剔除不需要的CPU架构支持,只剩余armv7、arm64
 平台即可,命令如下: 平台即可,命令如下:
-    lipo .../AgentSDK -remove x86_64 -output ​.../AgentSDK ​  //​剔除x86_64 +<​code>​ 
-    ​剔除可用lipo -info .../AgentSDK ​查看是否剥离 +【首先进入AgentSDK.framework所在的目录】 
-=== 集成离线推送 ===+//​移除二进制文件的x86_64支持 
 +lipo AgentSDK.framework/AgentSDK -remove x86_64 -output AgentSDK ​  //​剔除x86_64 
 +//​替换framework内部二进制文件【记得备份】 
 +mv AgentSDK AgentSDK.framework/​AgentSDK 
 +//​查看剥离二进制文件支持的CPU架构,如果现实armv7 arm64 ,则完成剥离 
 +lipo -info AgentSDK.framework/​AgentSDK 
 +</​code>​ 
 +<​code>​ 
 +【首先进入HyphenateLite.framework所在目录】 
 +// 移除二进制文件的x86_64支持 
 +lipo HyphenateLite.framework/​HyphenateLite -remove x86_64 -output HyphenateLite 
 +//​替换framework内部二进制文件【记得备份】 
 +mv HyphenateLite HyphenateLite.framework/​HyphenateLite 
 +//查看剥离后的二进制文件支持的CPU架构,如果显示armv7 arm64,就完成剥离 
 +lipo -info HyphenateLite.framework/​HyphenateLite 
 +</​code>​ 
 +==== 集成离线推送 ​====
 <​code>​ <​code>​
  - (void)registerRemoteNotification { //​注册离线推送  - (void)registerRemoteNotification { //​注册离线推送
行 59: 行 75:
 } }
 </​code>​ </​code>​
-=== 初始化 ===+ ** APNs注册失败,一般是由于使用了通用证书或者是模拟器调试导致,请检查证书并用真机调试。此处是 iOS 系统报的错,如仍不能确定,请从网上查找相关资料。** 
 +==== 初始化 ​====
 在didFinishLaunchingWithOptions中调用初始化方法: 在didFinishLaunchingWithOptions中调用初始化方法:
 <​code>​ <​code>​
行 67: 行 84:
 [[HDClient sharedClient] initializeSDKWithOptions:​option];​ [[HDClient sharedClient] initializeSDKWithOptions:​option];​
 </​code>​ </​code>​
-=== 登录 ===+==== 登录 ​====
 <​code>​ <​code>​
 //​传入username、password以及是否隐身登录 //​传入username、password以及是否隐身登录
行 78: 行 95:
     }];     }];
 </​code>​ </​code>​
-=== 退出方法 ===+==== 退出方法 ​====
 <​code>​ <​code>​
 [[HDClient sharedClient] logoutCompletion:​^(HDError *error) { [[HDClient sharedClient] logoutCompletion:​^(HDError *error) {
行 88: 行 105:
     }];     }];
 </​code>​ </​code>​
-=== 判断是否已经登录 ===+==== 判断是否已经登录 ​====
 <​code>​ <​code>​
   [HDClient sharedClient].isLoggedInBefore //BOOL 类型,YES是,NO   [HDClient sharedClient].isLoggedInBefore //BOOL 类型,YES是,NO
 </​code>​ </​code>​
-=== 添加SDK监听 ===+==== 添加SDK监听 ​====
 <​code>​ <​code>​
 //​添加SDK监控,第二个参数是执行代理方法的队列,暂为主队列 //​添加SDK监控,第二个参数是执行代理方法的队列,暂为主队列
行 98: 行 115:
 //​移除SDK监控 //​移除SDK监控
 [[HChatClient sharedClient] removeDelegate:​self];​ [[HChatClient sharedClient] removeDelegate:​self];​
 +
 /* /*
- ​*  ​当前账号被迫线,需要重新登录+ ​*  ​SDK连接服务器的状态变化时会接收到该回调 
 + * 
 + ​* ​ 以情况会调用该方法:​ 
 + ​* ​ 1. 登录成功后, 手机无法上网时,​ 会调用该回调 
 + ​* ​ 2. 登录成功后,​ 网络状态变化时,​ 会调用该回调
  */  */
-- (void)userAccountNeedRelogin;​+- (void)connectionStateDidChange:​(HDConnectionState)aConnectionState;​ 
 + 
 +/** 
 + ​管理员是否允许客服自定义最大接待人数 
 + 
 + ​@param allow YES NO 分别表示允许、不允许 
 + */ 
 +- (void)allowAgentChangeMaxSessions:​(BOOL)allow;​ 
 + 
 +/** 
 +  当前账号被迫下线,​需要重新登录 
 + 
 + ​@param reason 下线原因 
 + */ 
 +- (void)userAccountNeedRelogin:​(HDAutoLogoutReason)reason; 
 /* /*
  ​* ​ 会话被管理员转接  ​* ​ 会话被管理员转接
- ​* ​ @param ​ ​serviceSessionId ​被转接的会话ID+ ​* ​ @param ​sessionId ​被转接的会话ID
  */  */
-- (void)conversationTransferedByAdminWithServiceSessionId:​(NSString *)serviceSessionId;+ 
 +- (void)conversationTransferedByAdminWithServiceSessionId:​(NSString *)sessionId; 
 /* /*
  * 会话被管理员关闭  * 会话被管理员关闭
- * @param  ​serviceSessionId ​被关闭的会话ID+ * @param  ​sessionId ​被关闭的会话ID
  */  */
-- (void)conversationClosedByAdminWithServiceSessionId:​(NSString *)serviceSessionId;+ 
 +- (void)conversationClosedByAdminWithServiceSessionId:​(NSString *)sessionId; 
 /* /*
  * 会话自动关闭 ​  * 会话自动关闭 ​
- * @param  ​serviceSessionId ​关闭的会话ID+ * @param  ​sessionId ​关闭的会话ID
  */  */
-- (void)conversationAutoClosedWithServiceSessionId:​(NSString *)serviceSessionId;+- (void)conversationAutoClosedWithServiceSessionId:​(NSString *)sessionId; 
 /* /*
  * 会话最后一条消息变化  * 会话最后一条消息变化
行 122: 行 164:
  */  */
 - (void)conversationLastMessageChanged:​(MessageModel *)message; - (void)conversationLastMessageChanged:​(MessageModel *)message;
 +
 /* /*
  * 新会话  * 新会话
行 127: 行 170:
  */  */
 - (void)newConversationWithSessionId:​(NSString *)sessionId;​ - (void)newConversationWithSessionId:​(NSString *)sessionId;​
 +
 +/**
 + ​有新转接会话请求接收
 +
 + ​@param parameters sessionId,​用于接受调度
 + */
 +- (void)transferScheduleRequest:​(NSString *)sessionId;​
 +
 +/**
 + ​会话被确认转接【需要管理员开启“转接会话需要对方确认”】
 + */
 +- (void)transferScheduleAccept:​(NSString *)sessionId;​
 +
 +/**
 + ​会话被拒绝转接
 +
 + ​@param sessionId sessionId
 + */
 +- (void)transferScheduleRefuse:​(NSString *)sessionId;​
 +
 /* /*
  * 客服身份发生变化  * 客服身份发生变化
  */  */
 - (void)roleChange:​(RolesChangeType)type;​ - (void)roleChange:​(RolesChangeType)type;​
 +
 +/*
 + * 待接入列表变化
 + */
 +- (void)waitListChange;​
 +
 +/*
 + * 客服列表发生变化
 + */
 +- (void)agentUsersListChange;​
 +
 +/*
 + * 通知中心有有变化
 + */
 +- (void)notificationChange;​
 </​code>​ </​code>​
 === 添加消息监听 ===  === 添加消息监听 === 
行 138: 行 216:
 //​移除消息监听 //​移除消息监听
 [[HDClient sharedClient].chatManager removeDelegate:​self];​ [[HDClient sharedClient].chatManager removeDelegate:​self];​
 +
 /* /*
  ​* ​ 收到新消息  ​* ​ 收到新消息
  *  *
- ​* ​ @param aMessages ​ 消息列表<​MessageModel>+ ​* ​ @param aMessages ​ 消息列表<​HDMessage *>
  */  */
-- (void)messagesDidReceive:​(NSArray <MessageModel ​*> *)aMessages;​+- (void)messagesDidReceive:​(NSArray <HDMessage ​*> *)aMessages;​
  
 </​code>​ </​code>​