使用

初始化

激活离线包服务

接口定义

+ (void)activate;

调用说明

  • -application:didFinishLaunchingWithOptions: App 函数中调用
  • 强烈建议放置到前面初始化,在网关配置之后,其他代码初始化之前调用

调用示例

[TMFWebOfflineService activate];

日志选项

TMFWebOffline 使用 TMFBaseCore 中定义的日志输出接口和日志级别定义,下面是配置组件日志的示例:

// AppDelegate.m
#if DEBUG
[TMFWebOfflineService setLogLevels:TMFBaseCoreLogLevelAll];
#elif
[TMFWebOfflineService setLogLevels:TMFBaseCoreLogLevelNone];
#endif

下面是只输出警告+错误的日志配置示例:

[TMFWebOfflineService setLogLevels:(TMFBaseCoreLogLevelWarn | TMFBaseCoreLogLevelError)];

功能介绍

自定义离线包更新配置

生成离线包更新配置实例。

接口定义

/**
 @brief 离线包更新可选设置项
 */
@interface TMFWebOfflineServiceOptions : NSObject

/**
 @brief 离线包更新可选设置项实例
 */
+ (instancetype)options;

/**
 @brief Mask,默认0
 */
@property (nonatomic, assign) NSInteger mask;

/**
 @brief 更新来源,默认 `TMFWebOfflineServiceOptionsSourceRequest`
 */
@property (nonatomic, assign) TMFWebOfflineServiceOptionsSource source;

/**
 @brief 本地缓存更新策略,默认 `TMFWebOfflineServiceOptionsCachePolicyDownloadAndUpdate`
 */
@property (nonatomic, assign) TMFWebOfflineServiceOptionsCachePolicy cachePolicy;

/**
 @brief 是否忽略更新频率,默认NO
 */
@property (nonatomic, assign) BOOL ignoresFrequency;

/**
 @brief 是否忽略调用延迟,默认YES
 */
@property (nonatomic, assign) BOOL ignoresDelay;

@end

参数说明

参数 类型 描述 必选
mask NSInteger 已废弃 N
source TMFWebOfflineServiceOptionsSource 更新来源 N
cachePolicy TMFWebOfflineServiceOptionsCachePolicy 本地缓存更新策略 N
ignoresFrequency BOOL 是否忽略更新频率,默认 NO N
ignoresDelay BOOL 是否忽略调用延迟,默认 YES N

其中,TMFWebOfflineServiceOptionsSource 的定义如下:

/**
 @brief 离线包更新来源

 @note 枚举值对齐 `TMFWebOffline_Tars_EReqSource`
 */
typedef NS_ENUM(NSInteger, TMFWebOfflineServiceOptionsSource) {
    TMFWebOfflineServiceOptionsSourceRequest = 0,   ///< 主动拉取更新
    TMFWebOfflineServiceOptionsSourcePush = 1,      ///< 通过push进行更新
};

TMFWebOfflineServiceOptionsCachePolicy 的定义如下:

/**
 @brief 检查到离线包更新时本地缓存的更新策略
 */
typedef NS_ENUM(NSInteger, TMFWebOfflineServiceOptionsCachePolicy) {
    TMFWebOfflineServiceOptionsCachePolicyDownloadAndUpdate = 0,         ///< 检查到更新后,等下载最新离线包后覆盖本地缓存
    TMFWebOfflineServiceOptionsCachePolicyRemoveAndDownload = 1,         ///< 检查到更新后,先移除本地缓存,然后下载最新离线包后更新
};

返回值

类型 描述
TMFWebOfflineServiceOptions 离线包更新可选设置项实例

调用示例

TMFWebOfflineServiceOptions *options = [TMFWebOfflineServiceOptions options];
options.ignoresFrequency = YES;

公有云初始化离线包接口

调用示例

    //  PUSH处理策略:`不更新`,`仅WiFi下更新`,`WiFi和蜂窝都更新`
    TMFWebOfflineConfiguration *configuration = [TMFWebOfflineConfiguration configuration];
    configuration.pushHandlePolicy = TMFWebOfflinePushHandlePolicyWiFiAndCellular;
    // 推送协议
    configuration.pushPassagePolicy = TMFWebOfflinePushPassagePolicyPushGo;
    [TMFWebOfflineService activateWithConfiguration:configuration];

早期版本离线包任务推拉是依赖数据同步组件来完成的,从公有云版本起,离线包支持直接使用移动网关来实现任务推拉,可以解除任务推拉对数据同步组件的依赖。不过本次协议调整对新版服务有依赖,考虑到私有化客户不同的服务版本,SDK侧做了兼容,同时保留了两套协议实现,客户在初始化时根据自身服务情况指定协议版本即可。其中使用公有云的初始化协议参数说明如下:

/**
 @brief 离线包推送协议
 */
typedef NS_ENUM(NSInteger, TMFWebOfflinePushPassagePolicy) {
    TMFWebOfflinePushPassagePolicyInstruction   = 0,    // default
    TMFWebOfflinePushPassagePolicyPushGo        = 1,
};

单业务ID检查更新并预加载离线包

默认配置预加载-单业务ID

根据单个离线包业务ID以及默认更新配置,检查更新并预加载离线包,回调更新结果。

接口定义

+ (void)checkAndUpdateWithBID:(NSString *)BID completionHandler:(void(^)(BOOL isUpdated, NSError * _Nullable error))completionHandler;

参数说明

参数 类型 描述 必选
BID NSString 离线包业务 ID Y

completionHandler 回调

参数 类型 描述 必选
isUpdated BOOL 更新结果,成功 YES,失败 NO Y
error NSError 更新失败时的错误信息 N

调用示例

[TMFWebOfflineService checkAndUpdateWithBID:@"BID" completionHandler:^(BOOL isUpdated, NSError * _Nullable error) {
    // callback
}];

自定义配置预加载-单业务ID

根据单个离线包业务 ID 以及自定义更新配置,检查更新并预加载离线包,回调更新结果。

接口定义

+ (void)checkAndUpdateWithBID:(NSString *)BID options:(TMFWebOfflineServiceOptions *)options completionHandler:(void(^)(BOOL isUpdated, NSError * _Nullable error))completionHandler;

参数说明

参数 类型 描述 必选
BID NSString 离线包业务 ID Y
options TMFWebOfflineServiceOptions 可选配置 Y

其中,TMFWebOfflineServiceOptions 的定义和实例化,请参见 自定义离线包更新配置

completionHandler 回调

参数 类型 描述 必选
isUpdated BOOL 更新结果,成功 YES,失败 NO Y
error NSError 更新失败时的错误信息 N

调用示例

TMFWebOfflineServiceOptions *options = [TMFWebOfflineServiceOptions options];
options.ignoresFrequency = YES; 
[TMFWebOfflineService checkAndUpdateWithBID:@"BID" options:options completionHandler:^(BOOL isUpdated, NSError * _Nullable error) {
    // callback
}];

多业务ID检查更新并预加载离线包

默认配置预加载-多业务ID

根据一组离线包业务 ID 以及默认更新配置,检查更新并预加载离线包,回调更新结果。

接口定义

+ (void)checkAndUpdateWithBIDs:(NSArray<NSString *> *)BIDs completionHandler:(void(^)(NSArray<NSString *> *updatedBIDs))completionHandler;

参数说明

参数 类型 描述 必选
BIDs NSArray 离线包业务 ID 列表 Y

completionHandler 回调

参数 类型 描述 必选
updatedBIDs NSArray 可更新的离线包业务 ID 列表 Y

调用示例

[TMFWebOfflineService checkAndUpdateWithBIDs:@[@"BID1",@"BID2"] completionHandler:^(NSArray<NSString *> * _Nonnull updatedBIDs) {
  // callback
}];

自定义配置预加载-多业务ID

根据一组离线包业务 ID 以及自定义更新配置,检查更新并预加载离线包,回调更新结果。

接口定义

+ (void)checkAndUpdateWithBIDs:(NSArray<NSString *> *)BIDs options:(TMFWebOfflineServiceOptions *)options completionHandler:(void(^)(NSArray<NSString *> *updatedBIDs))completionHandler;

参数说明

参数 类型 描述 必选
BIDs NSArray 离线包业务 ID 列表 Y
options TMFWebOfflineServiceOptions 可选配置 Y

其中,TMFWebOfflineServiceOptions 的定义和实例化见 自定义离线包更新配置

completionHandler 回调

参数 类型 描述 必选
updatedBIDs NSArray 可更新的离线包业务 ID 列表 Y

调用示例

TMFWebOfflineServiceOptions *options = [TMFWebOfflineServiceOptions options];
options.ignoresFrequency = YES; 
[TMFWebOfflineService checkAndUpdateWithBIDs:@[@"BID1",@"BID2"] options:options completionHandler:^(NSArray<NSString *> * _Nonnull updatedBIDs) {
  // callback
}];

全量更新并预加载离线包

默认配置预加载-全量

使用默认配置检查全量可更新的离线包并预加载离线包,回调可更新的业务 ID 列表。

接口定义

+ (void)checkAndUpdateAllAvailablePackagesWithCompletionHandler:(void(^)(NSArray<NSString *> *updatedBIDs))completionHandler;

completionHandler 回调

参数 类型 描述 必选
updatedBIDs NSArray 可更新的离线包业务 ID 列表 Y

调用示例

[TMFWebOfflineService checkAndUpdateAllAvailablePackagesWithCompletionHandler:^(NSArray<NSString *> * _Nonnull updatedBIDs) {
  // callback
}];

自定义配置预加载-全量

使用自定义配置检查全量可更新的离线包并预加载离线包,回调可更新的业务 ID 列表。

接口定义

+ (void)checkAndUpdateAllAvailablePackagesWithOptions:(TMFWebOfflineServiceOptions *)options completionHandler:(void(^)(NSArray<NSString *> *updatedBIDs))completionHandler;

参数说明

参数 类型 描述 必选
options TMFWebOfflineServiceOptions 可选配置 Y

其中,TMFWebOfflineServiceOptions 的定义和实例化,请参见 自定义离线包更新配置

completionHandler 回调

参数 类型 描述 必选
updatedBIDs NSArray 可更新的离线包业务 ID 列表 Y

调用示例

TMFWebOfflineServiceOptions *options = [TMFWebOfflineServiceOptions options];
options.ignoresFrequency = YES; 
[TMFWebOfflineService checkAndUpdateAllAvailablePackagesWithOptions:options completionHandler:^(NSArray<NSString *> * _Nonnull updatedBIDs) {
  // callback
}];

生效离线包

生效已经下载更新的离线包。

接口定义

+ (void)uncompressPackagesIfNeeded;

调用示例

[TMFWebOfflineService uncompressPackagesIfNeeded];

获取本地离线包的版本号

根据离线包业务ID获取本地离线包的版本号,未安装的话版本号为0。

接口定义

+ (int)localVersionForBID:(NSString *)BID;

参数说明

参数 类型 描述 必选
BID NSString 离线包业务 ID Y

返回值

类型 描述
int 本地离线包的版本号

调用示例

[TMFWebOfflineService localVersionForBID:@"BID"];

移除本地离线包

单业务ID移除本地离线包

根据离线包业务 ID 移除本地离线包。

接口定义

+ (void)removeLocalPackageWithBID:(NSString *)BID;

参数说明

参数 类型 描述 必选
BID NSString 离线包业务 ID Y

调用示例

[TMFWebOfflineService removeLocalPackageWithBID:@"BID"];

多业务ID移除本地离线包

根据一组离线包业务 ID 移除本地离线包。

接口定义

+ (void)removeLocalPackageWithBIDs:(NSArray<NSString *> *)BIDs;

参数说明

参数 类型 描述 必选
BIDs NSArray 离线包业务 ID 列表 Y

调用示例

[TMFWebOfflineService removeLocalPackageWithBIDs:@[@"BID1",@"BID2"]];

移除全部本地离线包

移除全部本地离线包。

接口定义

+ (void)removeAllLocalPackage;

调用示例

[TMFWebOfflineService removeAllLocalPackage];
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""