差别
这里会显示出您选择的修订版和当前版本之间的差别。
上一修订版 两侧同时换到之后的修订记录 | |||
cs:300visitoraccess:iossdk-customui [2017/11/22 08:26] liulj 创建 |
cs:300visitoraccess:iossdk-customui [2017/11/22 08:41] liulj |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ======CEC iOS SDK集成文档(自定义UI) ====== | + | ====== CEC iOS SDK集成(自定义UI) ====== |
不使用环信提供的客服UI,可以参考下面的集成文档。 | 不使用环信提供的客服UI,可以参考下面的集成文档。 | ||
- | ====目录==== | + | ===== 下载SDK ===== |
- | + | ||
- | * [[#下载SDK|下载SDK]] | + | |
- | * [[#环境准备|环境准备]] | + | |
- | * [[#APNs推送|APNs推送]] | + | |
- | * [[#登录登出|登录登出]] | + | |
- | * [[#绑定服务号|绑定服务号]] | + | |
- | * [[#发送消息|发送消息]] | + | |
- | * [[#收消息监听|收消息监听]] | + | |
- | * [[#获取消息详情|获取消息详情]] | + | |
- | * [[#实时音视频|实时音视频]] | + | |
- | * [[#音视频API|音视频API]] | + | |
- | + | ||
- | ====下载SDK==== | + | |
从[[http://www.easemob.com/download|官网]]下载 **iOS客服访客端SDK** | 从[[http://www.easemob.com/download|官网]]下载 **iOS客服访客端SDK** | ||
行 24: | 行 11: | ||
* BaseFramework: 包含 HyphenateLite.framework,是项目依赖库。 | * BaseFramework: 包含 HyphenateLite.framework,是项目依赖库。 | ||
* HelpDeskFramework: HelpDesk.framework 和 HelpDeskLite.framework,HelpDesk.framework 包含实时视频功能,HelpDeskLite.framework不包含实时视频功能。 | * HelpDeskFramework: HelpDesk.framework 和 HelpDeskLite.framework,HelpDesk.framework 包含实时视频功能,HelpDeskLite.framework不包含实时视频功能。 | ||
- | * kefu-ios-demo:基于访客端SDK开发的演示商城Demo,可直接运行。 | + | * kefu-ios-demo: 基于访客端SDK开发的演示商城Demo,可直接运行。 |
- | ====环境准备==== | + | ===== 环境准备 ===== |
- | (以下以集成包含音视频的HelpDesk.framework为例,HelpDeskLite.framework 同理) | + | (以下以集成包含音视频的HelpDesk.framework为例,HelpDeskLite.framework 同理) |
- | 1、在工程中导入 HelpDesk.framework、HyphenateLite.framework和 HelpDeskUI 文件夹。两种方式: | + | 1、在工程中导入 HelpDesk.framework、HyphenateLite.framework和 HelpDeskUI 文件夹。两种方式: |
* 将上述文件夹拖入工程,在弹出对话框中勾选“Copy items if needed”和“Create groups”,并点击“Finish”; | * 将上述文件夹拖入工程,在弹出对话框中勾选“Copy items if needed”和“Create groups”,并点击“Finish”; | ||
* 或者,选择“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 -> Embedded Binaries 中添加以上两个依赖库。Linked Frameworks and Libraries 中会自动增加。 |
- | {{ :cs:300visitoraccess:frameworkimport.png?nolink&600 |}} | + | {{:cs:300visitoraccess:frameworkimport.png?nolink&600 |}} |
- | 3、向Build Settings -> Linking -> Other Linker Flags 中增加-ObjC(注意区分大小写)。 | + | 3、向Build Settings -> Linking -> Other Linker Flags 中增加-ObjC(注意区分大小写)。 |
- | 4、SDK 暂不支持bitcode,在Build Settings ->Enable Bitcode 改为NO。 | + | 4、SDK 暂不支持bitcode,在Build Settings ->Enable Bitcode 改为NO。 |
- | 5、在工程info.plist文件中,增加隐私权限: | + | 5、在工程info.plist文件中,增加隐私权限: |
* Privacy - Photo Library Usage Description 需要访问您的相册 | * Privacy - Photo Library Usage Description 需要访问您的相册 | ||
行 49: | 行 36: | ||
* Privacy - Camera Usage Description 需要访问您的摄像机 | * Privacy - Camera Usage Description 需要访问您的摄像机 | ||
| | ||
- | 6、在pch文件或全局.h文件中添加如下代码: | + | 6、在pch文件或全局.h文件中添加如下代码: |
<code> | <code> | ||
行 57: | 行 44: | ||
</code> | </code> | ||
- | === 初始化 === | + | ===== 初始化 ===== |
<code> | <code> | ||
行 71: | 行 58: | ||
</code> | </code> | ||
- | ==== APNs 推送 ==== | + | ===== APNs 推送 ===== |
<code> | <code> | ||
行 96: | 行 83: | ||
** APNs注册失败,一般是由于使用了通用证书或者是模拟器调试导致,请检查证书并用真机调试。此处是 iOS 系统报的错,如仍不能确定,请从网上查找相关资料。** | ** APNs注册失败,一般是由于使用了通用证书或者是模拟器调试导致,请检查证书并用真机调试。此处是 iOS 系统报的错,如仍不能确定,请从网上查找相关资料。** | ||
- | ==== 登录登出 ==== | + | |
+ | ===== 登录登出 ===== | ||
由于HChatClient有一个isLoggedInBefore(BOOL),判断是否已经登录,登录操作前可以先做个判断。 | 由于HChatClient有一个isLoggedInBefore(BOOL),判断是否已经登录,登录操作前可以先做个判断。 | ||
+ | |||
<code> | <code> | ||
HChatClient *client = [HChatClient sharedClient]; | HChatClient *client = [HChatClient sharedClient]; | ||
行 106: | 行 95: | ||
HError *error = [[HChatClient sharedClient] logout:YES]; //参数为是否解除device token的绑定 | HError *error = [[HChatClient sharedClient] logout:YES]; //参数为是否解除device token的绑定 | ||
</code> | </code> | ||
- | ====绑定服务号==== | + | |
+ | ===== 绑定服务号 ===== | ||
<code> | <code> | ||
//进入聊天界面需要绑定im服务号 | //进入聊天界面需要绑定im服务号 | ||
行 113: | 行 104: | ||
[[HChatClient sharedClient].chatManager unbind]; | [[HChatClient sharedClient].chatManager unbind]; | ||
</code> | </code> | ||
- | ==== 发送消息 ==== | + | |
+ | ===== 发送消息 ===== | ||
<code> | <code> | ||
- | HMessage *message = [HMessage createTxtSendMessageWithContent:<#(文本消息内容)#> to:<#(IM 服务号)#>]; //创建文本消息 | + | HMessage *message = [HMessage createTxtSendMessageWithContent:<#(文本消息内容)#> to:<#(IM 服务号)#>]; //创建文本消息 |
- | HMessage *message = [HMessage createImageSendMessageWithData:<#(图片数据)#> displayName:<#(图片名字)#> to:<#(IM 服务号)#>];//创建图片消息 | + | HMessage *message = [HMessage createImageSendMessageWithData:<#(图片数据)#> displayName:<#(图片名字)#> to:<#(IM 服务号)#>];//创建图片消息 |
- | HMessage *message = [HMessage createVoiceSendMessageWithLocalPath:<#(语音文件路径)#> duration:<#(语音长度,秒int)#> to:<#(IM 服务号)#>];//创建语音消息 | + | HMessage *message = [HMessage createVoiceSendMessageWithLocalPath:<#(语音文件路径)#> duration:<#(语音长度,秒int)#> to:<#(IM 服务号)#>];//创建语音消息 |
HMessage *message = [HMessage createVideoInviteSendMessageWithContent:<#(内容)#> to:<#(IM 服务号)#>];//发起音视频消息 | HMessage *message = [HMessage createVideoInviteSendMessageWithContent:<#(内容)#> to:<#(IM 服务号)#>];//发起音视频消息 | ||
HMessage *message = [HMessage createLocationSendMessageWithLatitude:<#(纬度)#> longitude:<#(经度)#> address:<#(地址)#> to:<#(IM 服务号)#>]; | HMessage *message = [HMessage createLocationSendMessageWithLatitude:<#(纬度)#> longitude:<#(经度)#> address:<#(地址)#> to:<#(IM 服务号)#>]; | ||
行 124: | 行 117: | ||
[[HChatClient sharedClient].chatManager sendMessage:<#(HMessage*)#> progress:nil completion:^(HMessage *message, HError *error) {}]; | [[HChatClient sharedClient].chatManager sendMessage:<#(HMessage*)#> progress:nil completion:^(HMessage *message, HError *error) {}]; | ||
</code> | </code> | ||
- | ==== 收消息监听 ==== | + | |
+ | ===== 收消息监听 ===== | ||
<code> | <code> | ||
//添加消息听 | //添加消息听 | ||
行 136: | 行 131: | ||
//消息状态改变 | //消息状态改变 | ||
- (void)messageStatusDidChange:(HMessage *)aMessage error:(HError *)aError; | - (void)messageStatusDidChange:(HMessage *)aMessage error:(HError *)aError; | ||
- | |||
</code> | </code> | ||
- | ==== 获取消息详情 ==== | + | ===== 获取消息详情 ===== |
<code> | <code> | ||
HMessage *message; | HMessage *message; | ||
行 174: | 行 169: | ||
} | } | ||
</code> | </code> | ||
- | ==== 实时音视频 ==== | + | |
+ | ===== 实时音视频 ===== | ||
<code> | <code> | ||
//初始化音视频 | //初始化音视频 | ||
行 188: | 行 185: | ||
</code> | </code> | ||
- | ==== 音视频 API ==== | + | ===== 音视频 API ===== |
<code> | <code> | ||
//接收坐席发来视频邀请 | //接收坐席发来视频邀请 |