CSJRewardedVideoPreloaderManager.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // BURewardedVideoPreNativeAd.h
  3. // CSJAdSDK
  4. //
  5. // Created by 崔亚楠 on 2018/9/14.
  6. // Copyright © 2018年 bytedance. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @class CSJAdSlot;
  10. @class CSJMaterialMeta;
  11. @class BUPersistence;
  12. typedef void(^successGetMateria)(CSJMaterialMeta *materialMeta);
  13. typedef void(^successGetMateriaMetas)(NSArray<CSJMaterialMeta *> *materialMetas);
  14. typedef void(^failureGetMateria)(NSError *error);
  15. typedef void(^successLoadVideo)(CSJMaterialMeta *materialMeta,BOOL isPreLoad);
  16. typedef void(^failureLoadVideo) (NSError *error,BOOL isPreLoad);
  17. /**
  18. 缓存复用的结果
  19. @param isReuse 是否命中了缓存复用, 参看: https://bytedance.feishu.cn/wiki/wikcncIhOV0szdGiwKmAq4uPOGp
  20. @param preloadType 请求复用预加载时,复用的结果枚举
  21. @param materialMeta 物料资源, 当preloadType = BUAdPreloadResultNone时, 该值为nil
  22. */
  23. typedef void(^materiaReuseBlock)(BOOL isReuse, BUAdPreloadResultType preloadType,CSJMaterialMeta * materialMeta);
  24. @interface CSJRewardedVideoPreloaderManager : NSObject
  25. BU_SINGLETION(CSJRewardedVideoPreloaderManager);
  26. /// 请求获取激励video物料
  27. /// @param slot slot实例
  28. /// @param reuse 物料复用结果回调
  29. /// @param success 物料下载成功回调
  30. /// @param failure 物料下载失败回调
  31. /// @param videoSucess 物料中视频资源下载成功回调(多个物料,仅下载第一个视频文件)
  32. - (void)materialMetaForRewardedVideoSlot:(CSJAdSlot *)slot materiaReuse:(materiaReuseBlock)reuse sucess:(successGetMateriaMetas)success failure:(failureGetMateria)failure successLoadVideo:(successLoadVideo)videoSucess;
  33. - (void)materialMetaForRewardedVideoSlot:(CSJAdSlot *)slot sucess:(successGetMateriaMetas)success failure:(failureGetMateria)failure successLoadVideo:(successLoadVideo)videoSucess;
  34. - (void)loadPreMaterialMetaWithSlot:(CSJAdSlot *)slot;
  35. - (void)callSuccessBlock:(successGetMateria)success withMaterial:(CSJMaterialMeta *)materialMeta;
  36. - (void)callSuccessBlock:(successGetMateriaMetas)success withMaterialMetas:(NSArray<CSJMaterialMeta *> *)materialMetas;
  37. //激励视频再看一个: 如果展示了一请之后, 直接退出没有展示二请, 此时要清掉内存中的二请
  38. - (void)cleanRewardAgianSecondAdWithSlotId:(NSString *)slotId;
  39. /**
  40. * Mopub AdMarkUp
  41. */
  42. - (void)preloadWithMaterialMeta:(CSJMaterialMeta *)materialMeta adSlot:(CSJAdSlot *)adSlot successLoadVideo:(successLoadVideo)videoSucess;
  43. /// 清除全屏激励缓存物料,番茄畅听定制
  44. + (void)clearCacheRewardedMaterial;
  45. @property (nonatomic, assign) BOOL isAdMarkUp;
  46. @end