BUGeckoPreloadManager.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // BUGeckoPreloadManager.h
  3. // BUAdSDK
  4. //
  5. // Created by wangyanlin on 2020/6/29.
  6. // Copyright © 2020 bytedance. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. extern NSString * const kBUGeckoInitDoneNotificationName;
  11. typedef void (^BUPreloadCompletion)(NSData * _Nullable data,NSDictionary * _Nullable respHeader);
  12. typedef void (^BUPreloadTrackBlock)(NSObject *model,NSString *label,NSDictionary *parameter);
  13. typedef void (^BUSyncDataCompletion)(BOOL success,NSDictionary *info);
  14. @interface BUGeckoPreloadManager : NSObject
  15. @property (nonatomic, strong) NSMapTable *mapTable;
  16. @property (nonatomic, strong) NSMutableDictionary *geckoDict;
  17. @property (nonatomic, copy) BUPreloadTrackBlock trackBlock;
  18. + (instancetype)sharedInstance;
  19. + (void)setupSDKWithTerritory:(NSString *)territory
  20. IESGeckoKitAppId:(NSString *)IESGeckoKitAppId
  21. IESGeckoKit_CACHE_DIRECTORY:(NSString *)IESGeckoKit_CACHE_DIRECTORY
  22. IESGeckoKitAccessKey:(NSString *)IESGeckoKitAccessKey
  23. IESGeckoKit_Domains:(NSArray *)IESGeckoKit_Domains
  24. ZipBlock:(id)zipBlock;
  25. //1.本地zip 包已经被删除了,自动去下载
  26. //2.如果zip需要更新,会自动更新
  27. //3.本地有zip, 并且不需要更新. 不做处理
  28. + (void)syncResourcesParamsWithChannel:(NSArray <id>*)materialArray hosts:(NSArray *)hosts;
  29. + (BOOL)geckoDidSetup;
  30. + (void)registAccessKey:(NSString *)ak;
  31. + (void)setGeckoDeviceID:(NSString *)deviceID;
  32. + (void)syncResourcesParamsWithAccessKey:(NSString *)ak
  33. channels:(NSArray<NSString *> *)channelIds
  34. hosts:(NSArray *)hosts
  35. completion:(BUSyncDataCompletion _Nullable)completion;
  36. + (void)asyncGetDataWithInfo:(NSDictionary *)info
  37. accessKey:(NSString *)ak
  38. channel:(NSString *)channel
  39. completion:(BUPreloadCompletion)completion;
  40. + (void)asyncGetDataWithInfo:(NSDictionary *)info completion:(BUPreloadCompletion)completion;
  41. /**
  42. * @brief 返回文件版本;如果文件未激活,则返回0
  43. */
  44. + (uint64_t)packageVersionForAccessKey:(NSString *)accessKey channel:(NSString *)channel;
  45. @end
  46. NS_ASSUME_NONNULL_END