常见问题
1.在聚合支付过程中,我们需要注意哪些问题?
答:注意微信支付时,需要app回流做些特殊处理,请参考支付协议
2.宿主方如何实现一个扩展私有能力?
答:当前宿主方需要扩展私有能力,需要开发前端的extension.js,Native端具体扩展流程,请参考扩展实现
3.宿主方在接入完成开源小程序SDK后,如何进行兼容性测试,保证线上质量?
答:当前需要宿主手动运行CTS小程序进行兼容性测试,具体CTS测试流程,请参考CTS测试
4.有哪些性能优化的方案,可供宿主方使用?
答:目前只提供了预下载小程序功能性能优化方案,具体调用调用方式,请参考API列表–预下载小程序。其他优化措施还在百度APP中进行AB实验,等在百度APP上实验固化后,随小程序SDK版本升级开放给宿主。
5.相同的小程序在百度APP、开源demo APP或其他宿主APP上运行正常,在自己的APP上偏偏有问题?
答:遇到这个问题,可能会是以下情况引起:
- 保证开放的一些Adapter接口有没有实现,可通过iOS接入指南–8.CTS测试进行功能验证。
- 检查一下宿主工程有没有做过HOOK系统方法的操作,改变了系统方法运行方式,这样可能会导致小程序内部运行环境异常,杜绝HOOK系统方法。比如:宿主hook了NSMutableDictionary的”setObject:<(nonnull id)> forKey:<(nonnull id
)>”方法,对object做了nil处理,导致”dic[key] = nil”这样语法失灵。 - 百度系的宿主需要注意小程序依赖的SMLibs库中:Pyramid.framework、BBASchemeDispatcher.framework、BDPAppearance.framework等,这些库在小程序内部已经进行初始化,会在宿主上存在多初始化问题,Pyramid和BBASchemeDispatcher宿主上可以不用,BDPAppearance库如果除了小程序在使用外,还有其他业务再使用,参考配置–三方库初始化。
- 当前小程序在不同宿主上运行,小程序开发者对特定的宿主上做了特殊处理,其他宿主上就无法正常运行;使用了扩展端能力或还未对外开放的公共端能力(AI、AR等),宿主上没有集成。比如:通过小程序UA进行业务判断处理或者在该小程序只能限定在百度APP上运行。
6.应苹果审核要求,小程序SDK及相关依赖百度的基础库中UIWebview使用,整体下线时间?
答:小程序SDK及相关依赖百度的基础库对UIWebview使用,已在SDK2.23.0整体下线。不可单独替换库,需整体依赖。
