iOS接入常见问题
Q1. 已安装招商银行APP,为何仍在应用内打开H5?
A1:请检查工程配置info.list中是否正确配置LSApplicationQueriesSchemes,具体参看iOS接入要点说明章节中的工程配置。
Q2. 通过APP完成交易后点击返回商户未能打开商户APP?
A2:打开safari浏览器,如商户分配的scheme为simplesdk,则浏览器中访问simplesdk://xx,检查能否打开商户APP,如不能打开,请检查工程中是否有配置URL Schemes, 具体参看iOS接入要点说明章节中的工程配置;如能正常打开,请检查工程配置中的URL Schemes与招行商户管理平台中维护的是否一致。如果配置一致,需支付/签约团队排查商户schemes是否正确。
Q3. 招行APP跳回商户后无法获取回调信息?
A3:请检查appdelegate中是否实现了openURL方法,具体参看iOS接入要点说明章节中的请求结果URL传递。
Q4. 通过scheme打开商户应用,如何识别是招行应用跳回?
A4:招行分配给商户的scheme不提供给其他应用唤起,通过scheme名称识别调用方。
Q5. SDK是否支持商户自定义导航栏?
A5:商户如需自定义导航栏,请按如下步骤操作:
处理业务前需调用isCMBAppInstalled接口判断是否已安装招行APP。
如已安安装则调用[CMBApi sendRequest:reqObj appid:appid viewController:self delegate:[CMBApiManager sharedManager]]发起请求。
未安装场景下,则打开商户开发的ViewController,ViewController开发时请注意如下几点:
——通过 [CMBApi initCMBWebview:self.request appid:self.appid delegate:self]获取浏览器控件,并添加至ViewController视图内,控件会根据传入参数自动加载请求;
——需实现CMBWebviewDelegate代理方法:-(void)titleChanged:(NSString *)title方法中需变更导航栏标题内容,-(void)onClosed:(CMBResponse*)resp 方法中需关闭当前ViewController;
——如用户通过手势/导航栏左侧按钮返回,可通过CMBWebview的response属性获取最新的处理结果,默认为8: 用户主动取消。
Q6. 收到回调信息为参数异常?
A6:请依次检查如下项:
appid是否为空或包含空格
method是否为空或包含空格
requestdata是否为空或包含空格,requestdata中是否包含URL非法字符,如存在则需UrlEncode
cmbjumpurl与h5url是否均为空或包含空格