1.接入龙图iOSSDK的游戏及应用的iOS客户端开发者。
2.使用此文档内接口,需要先接入龙图iOSSDK(详情查看龙图iOSSDK文档,当前支持龙图官网最新版本)。
3.接入龙图iOSSDK后,需要配置AIHELPSDK需要的依赖库。
注:AIHELP iOS终端SDK接入教程,只涉及SDK的使用方法。
apiKey:必传参数,无需配置,联系运营支持获取参数的配置文件放入工程即可。
domain:必传参数,无需配置,联系运营支持获取参数的配置文件放入工程即可。
appId: 必传参数,无需配置,联系运营支持获取参数的配置文件放入工程即可。
下载对应demo
1、需要引入的三方库
2、必须在 Xcode Build Settings 里面 Other Linker Flags 设置值 -ObjC。
该项如果设置错误,运行时就会出现异常:unrecognized selector sent to instance exception
3、添加依赖库,在项目设置target -> General ->Linked Frameworks and Libraries添加如下依赖库:
libsqlite3.tbd
libresolv.tbd
WebKit.framework
4、设置SDK所需权限, 在项目工程的 info.plist 中增加1个权限:
Privacy - Photo Library Usage Description 需要访问您的相册权限,才能将图片上传反馈给客服
接入龙图BaseSDK初始化即可
接口说明
展示客服默认页面
/*** 展示客服默认页面*/void LTAIHelpShowConversation();
接入方法
LTGameSDK::GetInstance().LTAIHelpShowConversation();
接口说明
展示客服自定义页面
/*** 展示客服* @param conversationConfig 参数* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/void LTAIHelpShowConversation(id conversationConfig);
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临2222";(可选后台配置欢迎语)helpConfig.storyNode = @"故事线";LTGameSDK::GetInstance().LTAIHelpShowConversation(helpConfig);
接口说明
默认FAQ页面
void LTAIHelpShowAllFAQSections();
接入方法
LTGameSDK::GetInstance().LTAIHelpShowAllFAQSections();
接口说明
自定义FAQ页面
/*** 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息* [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/void LTAIHelpShowAllFAQSections(int momet,id conversationConfig);
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临7777";LTGameSDK::GetInstance().LTAIHelpShowAllFAQSections(2, helpConfig);
接口说明
FAQ分类页面
/*** 不同于展示全部分类列表,AIHelp 支持在某些特殊场景下单独展示某个 FAQ 分类* @param sectionId 必传参数。 此参数为要展示的 FAQ 分类的分类 ID,*/void LTAIHelpShowFAQSection(const char* sectionId);
接入方法
LTGameSDK::GetInstance().LTAIHelpShowFAQSection("37891");
接口说明
自定义FAQ分类页面
/*** 不同于展示全部分类列表,AIHelp 支持在某些特殊场景下单独展示某个 FAQ 分类* @param sectionId 必传参数。 此参数为要展示的 FAQ 分类的分类 ID,* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息* @ showConversationMoment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显/不显/点踩后显示)* [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/void LTAIHelpShowFAQSection(const char* sectionId, int moment, id conversationConfig);
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临6666";LTGameSDK::GetInstance().LTAIHelpShowFAQSection("37891", 1, helpConfig);
接口说明
FAQ特定页面
/*** 展示某个特定的 FAQ 问题。* @param faqId 展示的特定 FAQ 的 ID*/void LTAIHelpShowSingleFAQ(const char* faqid);
接入方法
LTGameSDK::GetInstance().LTAIHelpShowSingleFAQ("276");
接口说明
自定义FAQ特定页面
/*** 展示某个特定的 FAQ 问题。* @param faqId 展示的特定 FAQ 的 ID* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息** [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/void LTAIHelpShowSingleFAQ(const char* faqid,int moment,id conversationConfig);
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临7777";LTGameSDK::GetInstance().LTAIHelpShowSingleFAQ("276", 1, helpConfig);
接口说明
默认运营模块
/*** 通过调用此方法调起 AIHelp 运营模块。*/void LTAIHelpShowOperation();
接入方法
LTGameSDK::GetInstance().LTAIHelpShowOperation();
接口说明
自定义运营模块
/*** 通过调用此方法调起 AIHelp 运营模块。* @param selectIndex 运营模块默认选中页签 int(>=0)* @param conversationTitle 运营模块机器人客服页签的标题* @param config 运营模块的定制化配置。*** @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/void LTAIHelpShowOperation(int selectIndex, const char* conversationTitle, id conversationConfig);
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentHumanSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = false;LTGameSDK::GetInstance().LTAIHelpShowOperation(INT_MAX, "专门的标题", helpConfig);
接口说明
用户退出
/*** 用户退出登录时调用此方法告知 AIHelp,保证游客/用户信息的准确性。*/void LTAIHelpResetUserInfo();
接入方法
LTGameSDK::GetInstance().LTAIHelpResetUserInfo();
接口说明
更新用户信息
/*** 更新用户信息* @param roleID 角色ID* @param roleName 角色名称* @param roleServerId 角色服务器ID* @param userTages 用户标签 支持多个标签 默认为空 多个标签之间以「,」分隔,默认为空* @param customData 自定义数据 格式:{“key”:“value”, “key”:“value”} ,默认为空* @param isSyncCrmInfo 是否将当前用户同步到 CRM* 设置推送参数* AIHelpTokenPlatformAPNS = 1, // Apple APNS* AIHelpTokenPlatformFirebase = 2, // firebase-FCM* AIHelpTokenPlatformJpush = 3, // Jpush* AIHelpTokenPlatformGeTui = 4, // GeTui* @param pushToken 用户的推送标识,需要在游戏集成的推送平台获取* @param pushPlatform AIHelp 支持四个推送平台,分别是 APNs、FireBase、极光以及个推。*/void LTAIHelpUpdateUserInfo(const char* roleID, const char* roleName, const char* roleServerId,const char* pushToken, int pushPlatform, const char* userTages, const char* customData ,bool isSyncCrmInfo);
接入方法
LTGameSDK::GetInstance(). LTAIHelpUpdateUserInfo("roleID", "roleName", " roleServerId","pushToken",pushPlatform, "userTages", "customData" , isSyncCrmInfo);
接口说明
屏幕设置
/*** 你可以根据应用的具体的场景来控制 SDK 的屏幕方向、是否全屏展示等* @param interfaceOrientationMask 屏幕方向类型*/void LTAIHelpSDKInterfaceOrientationMask(int interfaceOrientationMask);
接入方法
LTGameSDK::GetInstance().LTAIHelpSDKInterfaceOrientationMask(UIInterfaceOrientationMaskPortrait);
接口说明
屏幕设置
/*** 设置推送参数* AIHelpTokenPlatformAPNS = 1, // Apple APNS* AIHelpTokenPlatformFirebase = 2, // firebase-FCM* AIHelpTokenPlatformJpush = 3, // Jpush* AIHelpTokenPlatformGeTui = 4, // GeTui* @param pushToken 用户的推送标识,需要在游戏集成的推送平台获取* @param pushPlatform AIHelp 支持四个推送平台,分别是 APNs、FireBase、极光以及个推。*/void LTAIHelpSetPushTokenAndPlatform(const char* pushToken, int pushPlatform);
接入方法
LTGameSDK::GetInstance().LTAIHelpSetPushTokenAndPlatform("pushToken", 1);
接口说明
上传需要查看的日志
/*** 上传需要查看的日志* 上传日志信息, 日志需要研发自己生成。* @param path 日志日志*/void LTAIHelpSetUploadLogPath(const char* path);
接入方法
LTGameSDK::GetInstance().LTAIHelpSetUploadLogPath("path");
接口说明
当前展示的是否为 AIHelp 页面
/*** 当前展示的是否为 AIHelp 页面*/bool LTAIHelpISAIHelpShowing();
接入方法
bool isShow = LTGameSDK::GetInstance().LTAIHelpISAIHelpShowing();
接口说明
设置SDK显示模式
/*** 设置SDK显示模式 ( iOS only )* @param mode* 0: 跟随系统* 1: 日间模式* 2: 黑暗模式*/void LTAIHelpSetSDKAppearanceMode(int mode);
接入方法
LTGameSDK::GetInstance().LTAIHelpSetSDKAppearanceMode(1);
接口说明
设置未读消息回调监听
/*** 设置未读消息回调监听* @param count 未读消息数量*/void setFeedBackHelpCallBackLinstener(void (* pfunc)(int count));
接入方法
//设置监听LTGameSDK::GetInstance().setFeedBackHelpCallBackLinstener(FeedBackHelpLinstener);//监听回调void FeedBackHelpLinstener(int count){NSLog(@"FeedBackHelpLinstener 未读消息数量:%d",count);[mLTAIHelpController showMessage:[NSString stringWithFormat:@"未读消息数量:%d",count]];}
接口说明
注意:网络信息收集功能在 AIHelp 后台有开关及标签配置,在具体接入之前,请确定后台的相关配置已就绪。
/// 网络信息收集功能/// @param address 指定网络检测的域名,最好是用户服务器所在的域名或 IP,从而有针对性地检测用户对应用的网络连接质量;///如果不想对外暴露 IP,就可以考虑设定一个可信的公共服务地址,比如国外的 Google/AWS,国内的百度、搜狐等。void LTAIHelpSetNetworkCheckHostAddress(const char* address);
接入方法
首先设置监测IPLTGameSDK::GetInstance().LTAIHelpSetNetworkCheckHostAddress("IP或域名");之后再在客服页面内触发监测设置监听(如有需求可设置)可选参数。网络检测结果的回调,AIHelp 会将检测结果通过接口返回给调用者,如果有需要,可以自行取用。LongTuBaseSdk::LTGameSDK::GetInstance().setFeedBackHelpNetworkCheckCallBackLinstener(AIHelp_onNetworkCheckResult);实现回调void AIHelp_onNetworkCheckResult(const char* netLog){NSLog(@"AIHelp_onNetworkCheckResult 网络监测结果:%@",[NSString stringWithUTF8String:netLog]);}
接口说明
设置当前keywindow
/// 设置keywindow/// @param keyWindow 当前windowvoid LTAIHelpSetKeyWindow(void* keyWindow);
接入方法
LTGameSDK::GetInstance().LTAIHelpSetKeyWindow([[UIApplication sharedApplication] keyWindow]);//示例为获取默认keywindow方法,如果有修改当前window则需要传入游戏当前使用的window。}
接口说明
展示客服默认页面
/*** 展示客服默认页面*/- (void)LTAIHelpShowConversation;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpShowConversation];
接口说明
展示客服自定义页面
/*** 展示客服* @param conversationConfig 参数* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/- (void)LTAIHelpShowConversation:(LTFeedBackHelpConfig *_Nonnull)conversationConfig;
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临2222";(可选后台配置欢迎语)helpConfig.storyNode = @"故事线";[[LTGameOCSDK shareInstance] LTAIHelpShowConversation:helpConfig];
接口说明
默认FAQ页面
- (void) LTAIHelpShowAllFAQSections;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpShowAllFAQSections];
接口说明
自定义FAQ页面
/*** 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息* [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/- (void) LTAIHelpShowAllFAQSections:(int)moment config:(LTFeedBackHelpConfig *_Nonnull)config;
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临7777";[[LTGameOCSDK shareInstance] LTAIHelpShowAllFAQSections:2 config:helpConfig];
接口说明
FAQ分类页面
/*** 不同于展示全部分类列表,AIHelp 支持在某些特殊场景下单独展示某个 FAQ 分类* @param sectionId 必传参数。 此参数为要展示的 FAQ 分类的分类 ID,*/- (void) LTAIHelpShowFAQSection:(NSString *_Nonnull)sectionId;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpShowFAQSection:@"37891"];
接口说明
自定义FAQ分类页面
/*** 不同于展示全部分类列表,AIHelp 支持在某些特殊场景下单独展示某个 FAQ 分类* @param sectionId 必传参数。 此参数为要展示的 FAQ 分类的分类 ID,* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息* @ showConversationMoment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显/不显/点踩后显示)* [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/- (void) LTAIHelpShowAllFAQSections:(int)moment config:(LTFeedBackHelpConfig *_Nonnull)config;
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临6666";[[LTGameOCSDK shareInstance] LTAIHelpShowFAQSection:@"37891" moment:1 config:helpConfig];
接口说明
FAQ特定页面
/*** 展示某个特定的 FAQ 问题。* @param faqId 展示的特定 FAQ 的 ID*/-(void) LTAIHelpShowSingleFAQ:(NSString*_Nonnull)faqId;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpShowSingleFAQ:@"276" ];
接口说明
自定义FAQ特定页面
/*** 展示某个特定的 FAQ 问题。* @param faqId 展示的特定 FAQ 的 ID* @param moment FAQ 页面展示联系客服按钮的时机 ShowConversationMoment(常显2/不显1/点踩后显示3)* @param config FAQ 模块相关的配置信息** [dir]* @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/-(void) LTAIHelpShowSingleFAQ:(NSString*_Nonnull)faqId moment:(int)moment config:(LTFeedBackHelpConfig *_Nonnull)config;
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentBotSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = true;// helpConfig.welcomeMessage = @"欢迎观临7777";[[LTGameOCSDK shareInstance] LTAIHelpShowSingleFAQ:@"276" moment:1 config:helpConfig];
接口说明
默认运营模块
/*** 通过调用此方法调起 AIHelp 运营模块。*/-(void) LTAIHelpShowOperation;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpShowOperation];
接口说明
自定义运营模块
/*** 通过调用此方法调起 AIHelp 运营模块。* @param selectIndex 运营模块默认选中页签 int(>=0)* @param conversationTitle 运营模块机器人客服页签的标题* @param config 运营模块的定制化配置。*** @ conversation 客服系统的跳转意图 (机器人 ConversationIntentBotSupport / 人工 ConversationIntentHumanSupport)* @ humanSupport 机器人常显人工入口 (true / false)* @ message 人工客服自定义欢迎语 (自定义字符串)* @ storyNode 特定故事线的入口节点 (故事线配置内容)*/-(void) LTAIHelpShowOperation:(int)selectIndex title:(NSString*_Nullable)conversationTitle config:(LTFeedBackHelpConfig *_Nonnull)config;
接入方法
LTFeedBackHelpConfig *helpConfig = [[LTFeedBackHelpConfig alloc]init];helpConfig.conversationIntent = ConversationIntentHumanSupport;helpConfig.alwaysShowHumanSupportButtonInBotPage = false;[[LTGameOCSDK shareInstance]LTAIHelpShowOperation:INT_MAX title:@"专门的标题" config:helpConfig];
接口说明
用户退出
/*** 用户退出登录时调用此方法告知 AIHelp,保证游客/用户信息的准确性。*/- (void)LTAIHelpResetUserInfo;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpResetUserInfo];
接口说明
更新用户信息
/*** 更新用户信息* @param roleID 角色ID* @param roleName 角色名称* @param roleServerId 角色服务器ID* @param userTages 用户标签 支持多个标签 默认为空* @param customData 自定义数据 格式:{“key”:“value”, “key”:“value”} ,默认为空* @param isSyncCrmInfo 是否将当前用户同步到 CRM* 设置推送参数* AIHelpTokenPlatformAPNS = 1, // Apple APNS* AIHelpTokenPlatformFirebase = 2, // firebase-FCM* AIHelpTokenPlatformJpush = 3, // Jpush* AIHelpTokenPlatformGeTui = 4, // GeTui* @param userTages 用户标签 支持多个标签 默认为空* @param customData 自定义数据 格式:{“key”:“value”, “key”:“value”} ,默认为空* @param isSyncCrmInfo 是否将当前用户同步到 CRM*/- (void)LTAIHelpUpdateUserInfo:(NSString*_Nullable)roleID name:(NSString*_Nullable)roleName serverID:(NSString*_Nullable) roleServerId pushToken:(NSString*_Nullable)pushToken pushPlatform:(NSInteger) pushPlatform tages:(NSArray*_Nullable)userTages customData:(NSDictionary*_Nullable) customData isSyncCrmInfo:(BOOL)isSyncCrmInfo;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpUpdateUserInfo:roleID name:roleName serverID: roleServerId pushToken:@"pushToken" pushPlatform:pushPlatform tages:userTages customData:customData isSyncCrmInfo:isSyncCrmInfo];
接口说明
屏幕设置
/*** 你可以根据应用的具体的场景来控制 SDK 的屏幕方向、是否全屏展示等* @param interfaceOrientationMask 屏幕方向类型*/- (void) LTAIHelpSDKInterfaceOrientationMask:(UIInterfaceOrientationMask)interfaceOrientationMask;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpSDKInterfaceOrientationMask:UIInterfaceOrientationMaskPortrait];
接口说明
屏幕设置
/*** 设置推送参数* AIHelpTokenPlatformAPNS = 1, // Apple APNS* AIHelpTokenPlatformFirebase = 2, // firebase-FCM* AIHelpTokenPlatformJpush = 3, // Jpush* AIHelpTokenPlatformGeTui = 4, // GeTui* @param pushToken 用户的推送标识,需要在游戏集成的推送平台获取* @param pushPlatform AIHelp 支持四个推送平台,分别是 APNs、FireBase、极光以及个推。*/-(void) LTAIHelpSetPushTokenAndPlatform:(NSString* _Nullable )pushToken pushPlatform:(int) pushPlatform;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpSetPushTokenAndPlatform:pushToken pushPlatform:1];
接口说明
上传需要查看的日志
/*** 上传需要查看的日志* 上传日志信息, 日志需要研发自己生成。* @param path 日志日志*/-(void) LTAIHelpSetUploadLogPath:(NSString* _Nullable )path;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpSetUploadLogPath:path];
接口说明
当前展示的是否为 AIHelp 页面
/*** 当前展示的是否为 AIHelp 页面*/-(BOOL) LTAIHelpISAIHelpShowing;
接入方法
BOOL isShow = [[LTGameOCSDK shareInstance] LTAIHelpISAIHelpShowing];
接口说明
设置SDK显示模式
/*** 设置SDK显示模式 ( iOS only )* @param mode* 0: 跟随系统* 1: 日间模式* 2: 黑暗模式*/-(void) LTAIHelpSetSDKAppearanceMode:(int)mode;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpSetSDKAppearanceMode:1];
接口说明
设置未读消息回调监听
//设置语音监听回调- (void) LTAIHelpSetHelpCallBackLinstener;/// aihelp未读消息回调/// @param count 未读消息数量- (void)ltAIHelpCallBack:(int)count;
接入方法
//实现代理并设置监听@interface LTAIHelpController ()<LTGameOCSDKDelegate>@end[LTGameOCSDK shareInstance].delegate = self;[[LTGameOCSDK shareInstance] LTAIHelpSetHelpCallBackLinstener];//回调- (void)ltAIHelpCallBack:(int)count{NSLog(@"ltAIHelpCallBack = %d",count);[self showMessage:[NSString stringWithFormat:@"未读消息数量:%d",count]];}
接口说明
注意:网络信息收集功能在 AIHelp 后台有开关及标签配置,在具体接入之前,请确定后台的相关配置已就绪。
/// 网络信息收集功能/// @param address 指定网络检测的域名,最好是用户服务器所在的域名或 IP,从而有针对性地检测用户对应用的网络连接质量;///如果不想对外暴露 IP,就可以考虑设定一个可信的公共服务地址,比如国外的 Google/AWS,国内的百度、搜狐等。- (void)LTAIHelpSetNetworkCheckHostAddress:(NSString *_Nonnull)address;
接入方法
首先设置监测IP[[LTGameOCSDK shareInstance] LTAIHelpSetNetworkCheckHostAddress:@"IP或域名"];之后再在客服页面内触发监测设置监听(如有需求可设置)可选参数。网络检测结果的回调,AIHelp 会将检测结果通过接口返回给调用者,如果有需要,可以自行取用。[[LTGameOCSDK shareInstance] LTAIHelpSetNetworkCheckCallBackLinstener];实现回调- (void)ltAIHelpNetworkCheckCallBack:(NSString *)netLog{NSLog(@"ltAIHelpNetworkCheckCallBack = %@",netLog);}
接口说明
设置当前keywindow
/// 设置keyWindow/// @param keyWindow 当前window-(void)LTAIHelpSetKeyWindow:(UIWindow *)keyWindow;
接入方法
[[LTGameOCSDK shareInstance] LTAIHelpSetKeyWindow:[UIApplication sharedApplication].keyWindow];
这里汇总了一些 iOS 接入过程中有可能遇到的常见问题,方便接入过程中排查问题。
1、unrecognized selector sent to instance exception
报这个错误时, 需要 Xcode Build Settings 里的 Other Linker Flags 设置值 -ObjC.
2、Undefined symbols for architecture armv7: “_res_9_nquery”, referenced form: _query_ip in …… clang: error: linker command faild with exit code 1 (use -v to see invocation) .
这个错误是因为缺少了 libresolv.tbd 这个库, 需要在Xcode中添加, 同时检查是否缺少其他需要的依赖库.
3、表单中打开相机崩溃
这个错误是因为没有添加相机和麦克风的权限造成, 在 info.plist 中添加相应的权限即可. 如果已经添加过权限, 请参考下一条.
4、设置 SDK 横屏显示后, 打开相机相册崩溃
要解决这个错误, 需要在 Xcode 配置中或 AppDelegate 中的代理方法中支持横竖屏, 然后可以在RootViewController.m文件中添加supportedInterfaceOrientations方法,并返回游戏的支持方向, 具体实现请参考接入文档.
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {return UIInterfaceOrientationMaskLandscape;}

上海中清龙图软件有限公司