常见提供给外部的API
1.打开小程序
1 2
| NSString *appUrl = @"swandemo://swan/appKey"; [Pyramid.bba_smManager openAppUrl:appUrl];
|
2.扫码打开小程序
1 2 3 4
| // 长连地址:https://smartapp.baidu.com/mappconsole/api/packagescheme // 短连地址:https://mbd.baidu.com/ma/s NSString *codeUrl = @"https://mbd.baidu.com/ma/s"; [[Pyramid.bba_smManager sharedInstance] generateMNPLaunchDispatcherFromURL:codeUrl];
|
3.日志输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // info日志,写日志系统,同时写sconsolelog。(表示正常使用时的日志) BBASM_INFO_LOG()
// Warning日志,写日志系统,同时写sconsolelog。(表示可能有问题,还没发生错误) BBASM_WARNING_LOG()
// Error日志,写日志系统,同时写sconsolelog。(表示有问题并导致出错) BBASM_ERROR_LOG()
// verbose日志,打印到控制台,不写入日志系统、sconsolelog。(表示所有可能的日志,默认级别) BBASM_VERBOSE_LOG()
// debug日志,打印到控制台,不写入日志系统、sconsolelog。(表示所有合理的调试用日志 BBASM_DEBUG_LOG()
|
4.预下载小程序 (性能优化)
通过预下载小程序功能,能快速打开小程序,提升用户体验。
4.1 通过调起协议,预下载小程序
1 2 3 4 5 6 7 8
| /// 通过调起协议,预下载小程序 /// scheme,小程序调起协议 /// callBack,小程序预下成功回调 + (void)preDownloadAppPackageWithScheme:(NSString *)scheme callBack:(void(^)(BOOL succeed))callBack;
/// 以百度app上的小程序调起协议为例,调用预下载接口 [Pyramid.bba_bba_MNP preDownloadAppPackageWithScheme:@"baiduboxapp://swanAPI/4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c" callBack:^(BOOL succeed) {}];
|
4.2 通过appKey(appID),预下载小程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| /// 通过appKey,预下载小程序 /// appIDs,NSArray,要预下载小程序的appkey /// appTypeString,业务包类型,@"swan":小程序,@"swangame":小游戏 /// scene,小程序场景值(比百度APP作为参考),表示小程序从哪个入口下载,如果不知道场景值,默认:BBASMAppPreDownloadSceneDefault /// callBack,小程序预下成功回调 + (void)preDownloadAppPackageWithAppIDs:(NSArray *)appIDs appTypeString:(NSString *)appTypeString scene:(BBASMAppPreDownloadScene)scene callBack:(nullable void(^)(BOOL succeed))callBack; /// 调用预下载小程序接口 [Pyramid.bba_bba_MNP preDownloadAppPackageWithAppIDs:@"4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c" appTypeString:@"swan" scene:BBASMAppPreDownloadSceneFeed callBack:^(BOOL succeed) {}];
|
4.3 取消预下载小程序
1 2 3 4 5 6
| /// 取消预下载小程序 /// appID,小程序的appKey + (void)cancelPreDownloadAppPackageWithAppID:(NSString *)appID
/// 调用取消预下载小程序 [Pyramid.bba_bba_MNP cancelPreDownloadAppPackageWithAppID:@"4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c"];
|
4.4 判断是否已经下载小程序
1 2 3 4 5 6
| /// 判断是否已经下载小程序 /// appID,小程序的appKey + (void)appHasPrefetchedWithAppID:(NSString *)appID
/// 调用判断是否已经下载小程序接口 [Pyramid.bba_bba_MNP appHasPrefetchedWithAppID:@"4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c"];
|