GDTRewardVideoAd.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. //
  2. // GDTRewardVideoAd.h
  3. // GDTMobSDK
  4. //
  5. // Created by royqpwang on 2018/9/1.
  6. // Copyright © 2018年 Tencent. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #import "GDTSDKDefines.h"
  11. #import "GDTLoadAdParams.h"
  12. #import "GDTServerSideVerificationOptions.h"
  13. NS_ASSUME_NONNULL_BEGIN
  14. @protocol GDTRewardedVideoAdDelegate;
  15. @interface GDTRewardVideoAd : NSObject
  16. @property (nonatomic, getter=isAdValid, readonly) BOOL adValid;
  17. @property (nonatomic) BOOL videoMuted;
  18. @property (nonatomic, assign, readonly) NSInteger expiredTimestamp;
  19. @property (nonatomic, weak) id <GDTRewardedVideoAdDelegate> delegate;
  20. @property (nonatomic, readonly) NSString *placementId;
  21. @property (nonatomic, strong) GDTLoadAdParams *loadAdParams;
  22. @property (nonatomic, strong) GDTServerSideVerificationOptions *serverSideVerificationOptions;
  23. /**
  24. 构造方法
  25. @param placementId - 广告位 ID
  26. @return GDTRewardVideoAd 实例
  27. */
  28. - (instancetype)initWithPlacementId:(NSString *)placementId;
  29. /**
  30. 构造方法
  31. @param appId - 媒体 ID
  32. @param placementId - 广告位 ID
  33. @return GDTRewardVideoAd 实例
  34. */
  35. - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用 initWithPlacementId:");
  36. /**
  37. 加载广告方法 支持 iOS8.1 及以上系统
  38. */
  39. - (void)loadAd;
  40. /**
  41. 展示广告方法
  42. @param rootViewController 用于 present 激励视频 VC
  43. @return 是否展示成功
  44. */
  45. - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController;
  46. /**
  47. 返回广告的eCPM,单位:分
  48. @return 成功返回一个大于等于0的值,-1表示无权限或后台出现异常
  49. */
  50. - (NSInteger)eCPM;
  51. /**
  52. 返回广告的eCPM等级
  53. @return 成功返回一个包含数字的string,@""或nil表示无权限或后台异常
  54. */
  55. - (NSString *)eCPMLevel;
  56. /**
  57. 返回广告平台名称
  58. @return 当使用激励视频聚合功能时,用于区分广告平台
  59. */
  60. - (NSString *)adNetworkName;
  61. /**
  62. * 当广告类型为 GDTRewardAdTypeVideo时,返回视频时长,单位 ms,当广告类型为GDTRewardAdTypePage时,返回0
  63. */
  64. - (CGFloat)videoDuration;
  65. /**
  66. * 激励广告的类型,需在gdt_rewardVideoAdDidLoad回调后调用
  67. */
  68. - (GDTRewardAdType)rewardAdType;
  69. @end
  70. @protocol GDTRewardedVideoAdDelegate <NSObject>
  71. @optional
  72. /**
  73. 广告数据加载成功回调
  74. @param rewardedVideoAd GDTRewardVideoAd 实例
  75. */
  76. - (void)gdt_rewardVideoAdDidLoad:(GDTRewardVideoAd *)rewardedVideoAd;
  77. /**
  78. 视频数据下载成功回调,已经下载过的视频会直接回调
  79. @param rewardedVideoAd GDTRewardVideoAd 实例
  80. */
  81. - (void)gdt_rewardVideoAdVideoDidLoad:(GDTRewardVideoAd *)rewardedVideoAd;
  82. /**
  83. 视频播放页即将展示回调
  84. @param rewardedVideoAd GDTRewardVideoAd 实例
  85. */
  86. - (void)gdt_rewardVideoAdWillVisible:(GDTRewardVideoAd *)rewardedVideoAd;
  87. /**
  88. 视频广告曝光回调
  89. @param rewardedVideoAd GDTRewardVideoAd 实例
  90. */
  91. - (void)gdt_rewardVideoAdDidExposed:(GDTRewardVideoAd *)rewardedVideoAd;
  92. /**
  93. 视频播放页关闭回调
  94. @param rewardedVideoAd GDTRewardVideoAd 实例
  95. */
  96. - (void)gdt_rewardVideoAdDidClose:(GDTRewardVideoAd *)rewardedVideoAd;
  97. /**
  98. 视频广告信息点击回调
  99. @param rewardedVideoAd GDTRewardVideoAd 实例
  100. */
  101. - (void)gdt_rewardVideoAdDidClicked:(GDTRewardVideoAd *)rewardedVideoAd;
  102. /**
  103. 视频广告各种错误信息回调
  104. @param rewardedVideoAd GDTRewardVideoAd 实例
  105. @param error 具体错误信息
  106. */
  107. - (void)gdt_rewardVideoAd:(GDTRewardVideoAd *)rewardedVideoAd didFailWithError:(NSError *)error;
  108. /**
  109. 视频广告播放达到激励条件回调
  110. @param rewardedVideoAd GDTRewardVideoAd 实例
  111. */
  112. - (void)gdt_rewardVideoAdDidRewardEffective:(GDTRewardVideoAd *)rewardedVideoAd GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用 gdt_rewardVideoAdDidRewardEffective:info:");
  113. /**
  114. 视频广告播放达到激励条件回调
  115. @param rewardedVideoAd GDTRewardVideoAd 实例
  116. @param info 包含此次广告行为的一些信息,例如 @{@"GDT_TRANS_ID":@"930f1fc8ac59983bbdf4548ee40ac353"}, 通过@“GDT_TRANS_ID”可获取此次广告行为的交易id
  117. */
  118. - (void)gdt_rewardVideoAdDidRewardEffective:(GDTRewardVideoAd *)rewardedVideoAd info:(NSDictionary *)info;
  119. /**
  120. 视频广告视频播放完成
  121. @param rewardedVideoAd GDTRewardVideoAd 实例
  122. */
  123. - (void)gdt_rewardVideoAdDidPlayFinish:(GDTRewardVideoAd *)rewardedVideoAd;
  124. @end
  125. NS_ASSUME_NONNULL_END