更新日期:2022年 02月 18日iOS接入文档
<h3>
<span style="line-height:3;font-size:14px;"><strong>一. SDK结构</strong></span>
</h3>
<p>
<span style="line-height:3;font-size:14px;">支持平台:iPod Touch,iPhone,iPad</span>
</p>
<p>
<span style="line-height:3;font-size:14px;">系统要求:iOS8.0+</span>
</p>
<p>
<span style="line-height:3;font-size:14px;">支持框架: armv7,arm64 </span>
</p>
<p>
<span style="line-height:3;font-size:14px;">环境要求:xcode13.0+<br />
<br />
</span>
</p>
<h3>
<span style="line-height:3;font-size:14px;">二. 环境搭建</span>
</h3>
<p>
<span style="line-height:3;font-size:14px;"><strong>2.1. 添加SDK</strong></span>
</p>
<p>
<span style="line-height:3;"><span style="font-size:14px;">将 SDK 文件 CsSDK.frameworkt 和 CsRes.bundle 拖放导入工程</span>,</span><span style="font-size:14px;">选择正确的target</span>
</p>
<p>
<span style="line-height:3;font-size:14px;"><img src="http://data.tool.quicksdk.net/data/newFiles/image/20180223/20180223102742H3ei538.png" alt="" /></span>
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<span style="font-size:14px;">在Build Settings->Linking->Other Linking Flags 中配置 –ObjC</span>
</p>
<p>
<span style="line-height:3;font-size:14px;">如果在编译时报错找不到framework头文件,需要手动配置一下framework搜索路径,比如demo中的相对路径配置</span>
</p>
<p>
<span style="line-height:3;font-size:14px;"><img src="http://data.tool.quicksdk.net/data/newFiles/image/20180223/20180223102802nWx5176.png" alt="" /></span>
</p>
<p>
<br />
</p>
<p>
<span style="line-height:3;font-size:14px;"><span style="font-size:14px;">添加系统 </span><span style="font-size:14px;">framework:</span></span><span style="font-size:14px;">WebKit.framework 和 JavaScriptCore.framework</span>
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<span style="font-size:14px;"><strong>2.2. 权限申请</strong></span>
</p>
<p>
<br />
</p>
<p>
<span style="font-size:14px;"><span style="color:#E53333;">SDK 权限申请在Info.plist设置读取相册和使用相机权限描述</span> </span><br />
<span style="font-size:14px;">NSCameraUsageDescription 需要使用相机用于给客服发送图片信息 </span><br />
<span style="font-size:14px;">NSPhotoLibraryUsageDescription 需要使用相册用于给客服发送图片信息 </span><br />
<span style="font-size:14px;">NSPhotoLibraryAddUsageDescription 需要使用相册用于给客服发送图片信息 </span>
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<span style="font-size:14px;"><strong>2.3. 注意事项</strong></span>
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<span style="font-size:14px;"><span style="color:#E53333;font-size:14px;">客服系统只支持竖屏,因此需要允许应用的 window 支持竖屏,需要在 AppDelegate 中设置实现或者修改(针对工程已经添加了该方法)如下系统回调方法并返回全方向</span><br />
<br />
</span>
</p>
<pre class="brush:js;toolbar:false">UIInterfaceOrientationMaskAll
- (UIInterfaceOrientationMask)application:(UIApplication
*)application supportedInterfaceOrientationsForWindow:(nullable
UIWindow *)window
{
return UIInterfaceOrientationMaskAll;
}
</pre>
<br />
<span style="color:#E53333;font-size:14px;"></span><span style="color:#E53333;font-size:14px;">如果是 Unity 导出的工程需在 UnityAppController.mm 中进行如上相同的设置 </span><span style="color:#E53333;font-size:14px;"></span>
<p>
<br />
</p>
<p>
<span style="font-size:14px;"><span style="color:#e53333;"><br />
</span></span>
</p>
<p>
<span style="font-size:14px;"><span style="color:#e53333;"><br />
</span></span>
</p>
<p>
<br />
</p>
<h3>
<span style="font-size:14px;">三、接口说明 </span>
</h3>
<p>
<br />
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<span style="font-size:14px;">3.1. 设置客服对应语言和 AppId(必接) </span>
</p>
<p>
<br />
</p>
<pre class="brush:js;toolbar:false">/**
*初始化客服系统:指定appid和客服语言,该接口可多次调用设置多个appid用于支持不同的语言,一个appid对应一种语言,SDK会自动匹配设备当前语言来选择使用哪一个appid
*@param language appid对应的客服语言,(简体中文@"zh-cn", 中文繁体香港@"zh-hk", 中文繁体台湾@"zh-tw", 德语@"de", 英语@"en-us", 法语@"fr", 日语@"ja-jp", 韩语@"kor", 俄语@"ru", 泰语@"th")
*@param appid 客服appid参数,参数在客服SDK后台申请
*/
- (void)setLanguage:(NSString *)language appid:(NSString *)appid; </pre>
<br />
<span style="font-size:14px;"> </span><br />
<span style="font-size:14px;">3.2. 打开客服接口(必接) </span>
<p>
<br />
</p>
<pre class="brush:js;toolbar:false">//打开客服,上传参数请查看CSParamModel.h
- (void)enterServiesystem:(CSParamModel *)param; </pre>
<br />
<span style="font-size:14px;"> </span><br />
<span style="font-size:14px;">3.3. 本地通知接收客服新消息(必接) </span><br />
<br />
<pre class="brush:js;toolbar:false">/**
*有新客服消息时接收本地通知
*在- (void)application:(UIApplication *)application
didReceiveLocalNotification:(nonnull UILocalNotification *)notification;中调用以获取新消息
*@param application application参数
*@param notification notification本地通知
*/
- (void)application:(UIApplication *)application
didReceiveLocalNotification:(nonnull UILocalNotification *)notification; </pre>
<br />
<span style="white-space:pre;"> </span><br />
<span style="font-size:14px;">3.4. 注册苹果远程通知(选接) </span>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<pre class="brush:js;toolbar:false">/**
*注册苹果远程通知APNS,用于远程通知推送消息,如果没有远程推送可以不调用
*在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;中调用
*/
- (void)registerForRemoteNotifications; </pre>
<br />
<span style="font-size:14px;"> </span><br />
<span style="font-size:14px;">3.5. 获取苹果远程推送 DeviceToken(选接) </span><br />
<br />
<pre class="brush:js;toolbar:false">/**
*获取苹果返回的deviceToken用于接收远程推送通知,如果没有远程推送可以不调用
*在- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;中调用以获取推送的deviceToken
*@param deviceToken 苹果返回的deviceToken
*/
- (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData
*)deviceToken; </pre>
<br />
<span style="white-space:pre;"> </span><br />
<span style="white-space:pre;">3.6. </span><span style="font-size:14px;">打开或者隐藏悬浮窗(选接) </span>
<p>
<br />
</p>
<pre class="brush:js;toolbar:false">//显示客服浮动菜单
- (void)showMenu;
//隐藏客服浮动菜单
- (void)hideMenu; </pre>
<br />
<span style="font-size:14px;"><strong>具体可参考 demo 中的接入代码和 framework 头文件中接口说明接入 </strong></span><br />
<span style="font-size:14px;"></span>
<p>
<br />
</p>
<span style="font-size:14px;"></span>
<p>
<br />
</p>