差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
cs:300visitoraccess:iossdk [2020/01/20 07:04]
candywang [传访客属性]
cs:300visitoraccess:iossdk [2022/03/10 08:12] (当前版本)
xiaowei [第2步:环境准备]
行 7: 行 7:
 **iOS SDK 支持以下功能:** **iOS SDK 支持以下功能:**
  
-  * 发送文本消息、语音消息、图片消息、位置消息。 +  * 发送文本消息、语音消息、图片消息、位置消息、视频消息。 
-  * 接收文本消息、语音消息、图片消息、文件消息、机器人菜单等。+  * 接收文本消息、语音消息、图片消息、位置消息、视频消息、文件消息、机器人菜单等。
   * 显示客服头像和昵称、显示机器人转人工按钮。   * 显示客服头像和昵称、显示机器人转人工按钮。
   * 发送消息附带访客信息,指定客服、指定技能组(参考[[#​第4步_集成更多业务功能|第4步:集成更多业务功能]])。   * 发送消息附带访客信息,指定客服、指定技能组(参考[[#​第4步_集成更多业务功能|第4步:集成更多业务功能]])。
行 25: 行 25:
 CEC iOS SDK已集成双通道功能,确保不丢消息;并提供会话相关内置UI,集成客服云通用功能,只需5分钟。如果您使用内置UI,请参考本文档集成;如果您不使用环信提供的内置UI,请参考:[[cs:​300visitoraccess:​iossdk-customui|CEC iOS SDK集成(自定义UI)]] CEC iOS SDK已集成双通道功能,确保不丢消息;并提供会话相关内置UI,集成客服云通用功能,只需5分钟。如果您使用内置UI,请参考本文档集成;如果您不使用环信提供的内置UI,请参考:[[cs:​300visitoraccess:​iossdk-customui|CEC iOS SDK集成(自定义UI)]]
  
-关于如何同时集成IM和客服云功能,请参考:[[http://​www.imgeek.org/​article/​825308790|IM-SDK和客服SDK并存开发指南—iOS篇]]+关于如何同时集成IM和客服云功能,请参考:[[http://​www.imgeek.org/​article/​825350132|IM-SDK和客服SDK并存开发指南—iOS篇]]
  
 ===== 第1步:创建APP关联 ===== ===== 第1步:创建APP关联 =====
行 53: 行 53:
   * **Hyphenate** 访客sdk的依赖库,包含两个文件,一个是Hyphenate.framework(包含实时音视频)、一个是HyphenateLite.framework(不包含实时音视频),使用时要与HelpSDK目录中的sdk配对使用。   * **Hyphenate** 访客sdk的依赖库,包含两个文件,一个是Hyphenate.framework(包含实时音视频)、一个是HyphenateLite.framework(不包含实时音视频),使用时要与HelpSDK目录中的sdk配对使用。
   * **kefu-ios-demo** 访客端demo,下载后可直接双击CustomerSystem-ios.xcodeproj运行。   * **kefu-ios-demo** 访客端demo,下载后可直接双击CustomerSystem-ios.xcodeproj运行。
 +  * **HelpDeskLite** 访客端SDK,V1.3.5.lite一个是HelpDeskLite.framework(不包含实时音视频),一个是HyphenateChat.framework(不包含实时音视频 imsdk 3.8.9.1)使用时可以根据实际需求自行选择,使用时要与HelpSDK目录中的sdk配对使用。
  
-=== 注意事项 === 
- 
-  * 客服SDK基于IM SDK 3.x,如同时使用环信IM功能,需使用此文档中的初始化、登录、登出操作,不需要添加IM的SDK,其IM SDK API正常使用。 
  
 ===== 第3步:集成基础功能 ===== ===== 第3步:集成基础功能 =====
行 69: 行 67:
   * 或者,选择“File > Add Files to”,从本地选择上述文件夹,点击“Options”,勾选“Copy items if needed”和“Create groups”,并点击“Add”。   * 或者,选择“File > Add Files to”,从本地选择上述文件夹,点击“Options”,勾选“Copy items if needed”和“Create groups”,并点击“Add”。
  
- ​2、选中当前的TARGET,向 General ​-> Embedded Binaries 中添加以上两个依赖库。Linked Frameworks and Libraries 中会自动增加。 + ​2、选中当前的TARGET,向 General ​→ Frameworks,​Libraries,​and ​Embedded Binaries 中添加依赖库。要将'​Do Not Embed'​改成'​Embed & Sign' 
-{{:​cs:​300visitoraccess:​7f8bd427254c6fc718b84eaa4856ac66.jpg?​nolink|}}+ 
 +{{:​cs:​300visitoraccess:​99735ff1-9e24-480c-802c-de43e0aa1c67.jpg?​nolink|}}
  ​3、在工程info.plist文件中,增加隐私权限:  ​3、在工程info.plist文件中,增加隐私权限:
  
行 76: 行 75:
   * Privacy - Microphone Usage Description 需要访问您的麦克风   * Privacy - Microphone Usage Description 需要访问您的麦克风
   * Privacy - Camera Usage Description 需要访问您的摄像机   * Privacy - Camera Usage Description 需要访问您的摄像机
-    ​ +  
- ​4、在pch文件或全局.h文件中添加如下代码:+ 4、将HelpDeskUI目录拖入到您的工程中; 
 +    
 + 5、在pch文件或全局.h文件中添加如下代码:
  
 <​code>​ <​code>​
行 101: 行 102:
 HDOptions *option = [[HDOptions alloc] init]; HDOptions *option = [[HDOptions alloc] init];
 option.appkey = @"Your appkey";​ // 必填项,appkey获取地址:kefu.easemob.com,“管理员模式 > 渠道管理 > 手机APP”页面的关联的“AppKey” option.appkey = @"Your appkey";​ // 必填项,appkey获取地址:kefu.easemob.com,“管理员模式 > 渠道管理 > 手机APP”页面的关联的“AppKey”
-option.tenantId = @"Your tenantId";//​ 必填项,tenantId获取地址:kefu.easemob.com,“管理员模式 > 设置 ​企业信息”页面的“租户ID”+option.tenantId = @"Your tenantId";//​ 必填项,tenantId获取地址:kefu.easemob.com,“管理员模式 > 账户 ​账户信息 ​租户ID一栏的数据
 //​推送证书名字 //​推送证书名字
 option.apnsCertName = @"your apnsCerName";//​(集成离线推送必填) option.apnsCertName = @"your apnsCerName";//​(集成离线推送必填)
行 112: 行 113:
 注:私有部署场景下,需要在初始化方法中额外配置服务器IP地址和端口,请参考:[[cs:​300visitoraccess:​private-server|访客端SDK私有部署集成]] 注:私有部署场景下,需要在初始化方法中额外配置服务器IP地址和端口,请参考:[[cs:​300visitoraccess:​private-server|访客端SDK私有部署集成]]
 ==== APNs离线推送 ==== ==== APNs离线推送 ====
 +
 +推送证书制作和上传,请参考[http://​docs-im.easemob.com/​im/​ios/​apns/​deploy]
 +
 +{{:​cs:​300visitoraccess:​easemobapp.jpg?​600|}}
 +
 +您可以直接从渠道管理中对应的app直接进入对应的im关联后台。
  
 <code objc> <code objc>
行 311: 行 318:
  
 传访客属性到客服云,访客属性将显示在“会话”页面的“资料”页签。 传访客属性到客服云,访客属性将显示在“会话”页面的“资料”页签。
 +
 +管理员模式 >设置 > 功能设置 >​允许访客端修改客户信息 要打开,nickName不能为空。
  
 <​code>​ <​code>​