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);
接入方法
首先设置监测IP
LTGameSDK::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 当前window
void 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;
}
上海中清龙图软件有限公司