-
Notifications
You must be signed in to change notification settings - Fork 16
接入指南7.x
Vajra Sheng edited this page Dec 7, 2020
·
4 revisions
接入方式没有变动,与之前6.x相同,详见接入指南6.x
从7.0.0开始,SDK添加安全码校验功能,未通过校验的App将无法正常打开WebView进行页面渲染,且控制台会有如下报错日志打印:
❌❌❌ App开店SDK ======> clientID 未通过校验,请更新后重试!!!
开发者需要前往有赞云开发者控制台新增App安全码配置,然后在初始化YZConfig
配置类初始化时传入clientId
及appKey
,初始化方法调整如下:
/**
初始化并返回一个配置。
@param clientId 从有赞云申请的 client_id
@param appKey 从有赞云申请的 appKey
@return 一个配置。
*/
- (instancetype)initWithClientId:(NSString *)clientId andAppKey:(NSString *)appKey NS_DESIGNATED_INITIALIZER;
示例代码如下:
// 初始化SDK
YZConfig *config = [[YZConfig alloc] initWithClientId:CLIENT_ID andAppKey:APPKEY];
[YZSDK.shared initializeSDKWithConfig:config];
出现弱网或者其他网络原因导致安全码校验失败时,在初始化YZWebView的时候会返回nil,开发者可以针对这种情况做一些兜底处理,例如采用系统的WKWebView进行H5的渲染,避免出现不可控的情况。
此外,针对安全码校验成功或失败,7.0.6版本提供了成功或失败的回调抛出,且增加了发起重试校验的逻辑。
在YZSDKDelegate
中可以针对成功或失败进行处理:
@protocol YZSDKDelegate <NSObject>
@optional
/// SDK安全校验成功或失败通知
- (void)yzsdkSecurityCheckSucceed:(YZSDK *)sdk;
- (void)yzsdkSecurityCheckFaild:(YZSDK *)sdk;
@end
在YZSDK
中可以重新发起校验:
/// 重试安全校验
- (void)securityCheck;
7.0.0以后给WebView添加了native的默认加载动画,从开始请求持续到最终渲染完成。支持开发者关闭及设置自定义属性,可自行在YZConfig
对象中进行配置。
/**
SDK 配置类,包含对 SDK 的所有配置。
*/
@interface YZConfig : NSObject
@property (nonatomic, assign) BOOL disableDefaultLoading; /** 是否关闭默认加载动画,默认为NO */
@property (nonatomic, strong) NSArray *customerLoadingImages; /** 默认加载动画替换,传入动图所有帧图片数组,建议 100*100 */
@property (nonatomic, assign) NSTimeInterval customerLoadingImagesInteval; /** 加载动画时间间隔调整,默认0.35s每帧 */
@end
示例代码如下:
YZConfig *config = [[YZConfig alloc] initWithClientId:CLIENT_ID andAppKey:APPKEY];
config.disableDefaultLoading = YES;
config.customerLoadingImages = @[[UIImage imageNamed:@"test1"], [UIImage imageNamed:@"test2"]];
config.customerLoadingImagesInteval = 0.35;
[YZSDK.shared initializeSDKWithConfig:config];