2.34.0
一、功能描述
- 新增精简版 BBAMNPLiteLib(无小游戏模块)
- 废弃联盟账号 SDK (BBAMNPUnionLib),统一使用 BBAMNPLib
- 小程序菜单中新增我的小程序,展示关注、历史列表
- 开源Demo新增 CTS 自动化测试小程序
- 小程序描述表脚本优化
- 小程序增加内嵌支付组件
- 小程序日志系统优化,增加分级策略
- fix bugs
二、Changelist
1:【重要】新增精简版 BBAMNPLiteLib(无小游戏模块);宿主如需精简版 SDK,则需要进行如下配置
1 2
| // 精简版SDK(精简版,不包含小游戏) pod 'BBAMNPLiteLib', '2.34.0'
|
2:【重要】清理开源 Demo 工程中无用的类及依赖库,包含
- 去除 BBASMPlugin+PrivateFavor、BBASMPlugin+PrivateImageRecognition、 BBASMImplementModule、BBASMPlugin+PrivateFaceVerify 类
去除无用的 APSSDK.framework 库
如果宿主之前有手动集成过此部分类,直接去除即可
3:【重要】百度外部宿主需要关注此更新,内部宿主无需关注
3.1 废弃开源联盟账号 SDK (BBAMNPUnionLib);接入联盟账号修改为如下方式
1 2 3 4 5
| // 小程序SDK pod 'BBAMNPLib', '2.34.0'
# 风控库(联盟账号必须依赖, 自有账号不用依赖) pod 'SSDKLightLib', '1.1.0'
|
如果使用的是自有账号,则无需引入 SSDKLightLib 库
3.2 废弃原有需要宿主实现的 isUseUnionAccountLogin 接口,框架根据宿主是否集成了 SSDKLightLib 库来判断宿主是否使用的是联盟账号
3.3 新增 [Pyramid.bba_MNPUtilities isUseUnionAccountLogin] 接口,宿主可用来判断当前是否使用开源联盟账号,可参考 Demo
4:【可选】百度系宿主需要关注此更新,外部宿主无需关注
BBASMBDAccountImplement 可选实现如下接口,具体实现参考 Demo。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| /// @brief 百度私有方法:有实名信息时直接调用人脸校验接口 /// @param appID 小程序appID, srcVC 来源VC + (void)faceVerifyHasRealName:(NSString *)appID sourceVC:(UIViewController *)srcVC success:(void(^)(NSDictionary *info))successBlock failure:(void (^)(NSError *error))failureBlock;
/// @brief 账号实名认证 /// @param appID appID /// @param extraParams 额外参数,在pass调起实名认证的h5时会将字典中的内容拼入query,如果传nil则是默认的高级实名认证,传realname_level: @(YES)则是默认的初级实名认证,请视业务需要传入 /// @param callback key - 完成高级实名后的刷脸凭证 haveJunior - 是否完成了初级实名 haveSenior - 是否完成了高级实名 + (void)faceVerifyNoRealName:(NSString *_Nonnull)appID extraParams:(NSDictionary *_Nullable)extraParams verifyCallback:(void(^_Nonnull)(NSString * _Nullable key, BOOL haveJunior, BOOL haveSenior))callback;
|
5:【可选】描述表脚本更新
- 保留原有手动执行描述表方式,执行时增加输入输出路径提示
- 增加自动执行描述表文件方式(可选),具体集成方式如下,可参考 Demo
Easybox 集成:Boxfile 中新增如下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| # 描述表收集脚本,如果期望每次box install都自动收集描述表,则添加如下代码 post_install :all do |context| # 要扫描的当前工程目录 root_path = context.workspace_root # 其中'/Resources/SwanResource'为描述表要输出的目录,宿主需要指定自己的目录 scheme_desc_path = "#{root_path}/Resources/SwanResource" input_file_path = context.host_generator.output + "scheme_descs_search_header.xcfilelist" File.open(input_file_path , "w+") do |aFile| # 扫描 workspace_root 下的 plugin 头文件 require 'find' Find.find(context.workspace_root) do |project_file| if project_file.end_with?(".h") if project_file.include? "Plugin" or project_file.end_with?("Bridge.h") aFile.puts(project_file) end end end end unless File::exist?(scheme_desc_path) then puts "⚠️ 描述表保存路径scheme_desc_path不正确,请在Boxfile中修正⚠️" else # 在末尾加 --diff 参数, 可以在更新描述表并时输出diff文件 output = `python Script/scheme_desc_collector.py #{input_file_path} #{scheme_desc_path}` if $?.to_i != 0 raise Error.new "收集端能力描述表!\n#{output}" else UI.ok "收集端能力描述表" puts "描述表保存在目录:#{scheme_desc_path}" end end end
|
CocoaPods 集成:Podfile 中增加如下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| # 描述表收集脚本,如果期望每次pod install都自动收集描述表,则添加如下代码 post_install do |installer| root_path = File.dirname(__FILE__) # 其中'/Resources/SwanResource'为描述表要输出的目录,宿主可以指定自己的目录 scheme_desc_path = "#{root_path}/Resources/SwanResource" unless File::exist?(scheme_desc_path) then puts "⚠️ 描述表保存路径 scheme_desc_path 不正确,请在Podfile中修正 ⚠️" else # 在末尾加 --diff 参数, 可以在更新描述表并时输出 diff 文件 output = `python Script/scheme_desc_collector.py #{root_path} #{scheme_desc_path}` if $?.to_i != 0 puts "⚠️ 收集端能力描述表失败:⚠️\n#{output}" else puts "-------收集端能力描述表成功!-------" puts "保存在目录:#{scheme_desc_path}" end end end
|
6:【可选】小程序日志系统优化,增加分级策略
宏定义 BBASM_ERROR_LOG 改成 BBASM_INFO_LOG,第一个参数修改为 BBASMLogLevelError ( Error 级别的日志),其它参数不变
eg:
原有宏定义 BBASM_ERROR_LOG(@”error log”, kBBASMFavorModuleName, appID);
替换成 BBASM_INFO_LOG(BBASMLogLevelError, @”error log”, kBBASMFavorModuleName, appID);
7:【可选】BBASMUtilAdapterProtocol.h
1 2 3 4 5
| /** * @brief 宿主是否允许小程序通过 openApp 端能力跳转到手百,默认允许 * @return 是否允许跳转到手百 */ + (BOOL)isAllowedOpenBaiduApp;
|