GDTNativeExpressAd.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // GDTNativeExpressAd.h
  3. // GDTMobApp
  4. //
  5. // Created by michaelxing on 2017/4/17.
  6. // Copyright © 2017年 Tencent. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #import "GDTSDKDefines.h"
  11. #import "GDTAdProtocol.h"
  12. @class GDTNativeExpressAdView;
  13. @class GDTNativeExpressAd;
  14. @protocol GDTNativeExpressAdDelegete <GDTAdDelegate>
  15. @optional
  16. /**
  17. * 拉取原生模板广告成功
  18. */
  19. - (void)nativeExpressAdSuccessToLoad:(GDTNativeExpressAd *)nativeExpressAd views:(NSArray<__kindof GDTNativeExpressAdView *> *)views;
  20. /**
  21. * 拉取原生模板广告失败
  22. */
  23. - (void)nativeExpressAdFailToLoad:(GDTNativeExpressAd *)nativeExpressAd error:(NSError *)error;
  24. /**
  25. * 原生模板广告渲染成功, 此时的 nativeExpressAdView.size.height 根据 size.width 完成了动态更新。
  26. */
  27. - (void)nativeExpressAdViewRenderSuccess:(GDTNativeExpressAdView *)nativeExpressAdView;
  28. /**
  29. * 原生模板广告渲染失败
  30. */
  31. - (void)nativeExpressAdViewRenderFail:(GDTNativeExpressAdView *)nativeExpressAdView;
  32. /**
  33. * 原生模板广告曝光回调
  34. */
  35. - (void)nativeExpressAdViewExposure:(GDTNativeExpressAdView *)nativeExpressAdView;
  36. /**
  37. * 原生模板广告点击回调
  38. */
  39. - (void)nativeExpressAdViewClicked:(GDTNativeExpressAdView *)nativeExpressAdView;
  40. /**
  41. * 原生模板广告被关闭
  42. */
  43. - (void)nativeExpressAdViewClosed:(GDTNativeExpressAdView *)nativeExpressAdView;
  44. /**
  45. * 点击原生模板广告以后即将弹出全屏广告页
  46. */
  47. - (void)nativeExpressAdViewWillPresentScreen:(GDTNativeExpressAdView *)nativeExpressAdView;
  48. /**
  49. * 点击原生模板广告以后弹出全屏广告页
  50. */
  51. - (void)nativeExpressAdViewDidPresentScreen:(GDTNativeExpressAdView *)nativeExpressAdView;
  52. /**
  53. * 全屏广告页将要关闭
  54. */
  55. - (void)nativeExpressAdViewWillDismissScreen:(GDTNativeExpressAdView *)nativeExpressAdView;
  56. /**
  57. * 全屏广告页将要关闭
  58. */
  59. - (void)nativeExpressAdViewDidDismissScreen:(GDTNativeExpressAdView *)nativeExpressAdView;
  60. /**
  61. * 详解:当点击应用下载或者广告调用系统程序打开时调用
  62. */
  63. - (void)nativeExpressAdViewApplicationWillEnterBackground:(GDTNativeExpressAdView *)nativeExpressAdView;
  64. /**
  65. * 原生模板视频广告 player 播放状态更新回调
  66. */
  67. - (void)nativeExpressAdView:(GDTNativeExpressAdView *)nativeExpressAdView playerStatusChanged:(GDTMediaPlayerStatus)status;
  68. /**
  69. * 原生视频模板详情页 WillPresent 回调
  70. */
  71. - (void)nativeExpressAdViewWillPresentVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView;
  72. /**
  73. * 原生视频模板详情页 DidPresent 回调
  74. */
  75. - (void)nativeExpressAdViewDidPresentVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView;
  76. /**
  77. * 原生视频模板详情页 WillDismiss 回调
  78. */
  79. - (void)nativeExpressAdViewWillDismissVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView;
  80. /**
  81. * 原生视频模板详情页 DidDismiss 回调
  82. */
  83. - (void)nativeExpressAdViewDidDismissVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView;
  84. @end
  85. @interface GDTNativeExpressAd : NSObject
  86. /**
  87. * 委托对象
  88. */
  89. @property (nonatomic, weak) id<GDTNativeExpressAdDelegete> delegate;
  90. /**
  91. * 非 WiFi 网络,是否自动播放。默认 NO。loadAd 前设置。
  92. */
  93. @property (nonatomic, assign) BOOL videoAutoPlayOnWWAN;
  94. /**
  95. * 自动播放时,是否静音。默认 YES。loadAd 前设置。
  96. */
  97. @property (nonatomic, assign) BOOL videoMuted;
  98. /**
  99. * 视频详情页播放时是否静音。默认NO。loadAd 前设置。
  100. */
  101. @property (nonatomic, assign) BOOL detailPageVideoMuted;
  102. /**
  103. 请求视频的时长下限。
  104. 以下两种情况会使用 0,1:不设置 2:minVideoDuration大于maxVideoDuration
  105. */
  106. @property (nonatomic) NSInteger minVideoDuration;
  107. /**
  108. 请求视频的时长上限,视频时长有效值范围为[5,180]。
  109. */
  110. @property (nonatomic) NSInteger maxVideoDuration;
  111. @property (nonatomic, readonly) NSString *placementId;
  112. /**
  113. * 构造方法
  114. * 详解:placementId - 广告位 ID
  115. * adSize - 广告展示的宽高
  116. */
  117. - (instancetype)initWithPlacementId:(NSString *)placementId adSize:(CGSize)size;
  118. /**
  119. * 构造方法, S2S bidding 后获取到 token 再调用此方法
  120. * @param placementId 广告位 ID
  121. * @param token 通过 Server Bidding 请求回来的 token
  122. */
  123. - (instancetype)initWithPlacementId:(NSString *)placementId token:(NSString *)token adSize:(CGSize)size;
  124. /**
  125. * S2S bidding 竞胜之后调用, 需要在调用广告 show 之前调用
  126. * @param eCPM - 曝光扣费, 单位分,若优量汇竞胜,在广告曝光时回传,必传
  127. * 针对本次曝光的媒体期望扣费,常用扣费逻辑包括一价扣费与二价扣费,当采用一价扣费时,胜者出价即为本次扣费价格;当采用二价扣费时,第二名出价为本次扣费价格.
  128. */
  129. - (void)setBidECPM:(NSInteger)eCPM GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用GDTNativeExpressAdView类中对应的方法");
  130. /**
  131. * 拉取广告
  132. * @param count 请求广告数量
  133. */
  134. - (void)loadAd:(NSInteger)count;
  135. /**
  136. * 竞胜之后调用, 需要在调用广告 show 之前调用
  137. *
  138. * @param winInfo,竞胜信息 字典类型,支持的key为以下,注:key是个宏,在GDTAdProtocol.h中有定义,可以参考demo中的使用方法
  139. * GDT_M_W_E_COST_PRICE:竞胜价格 (单位: 分),值类型为NSNumber *
  140. * GDT_M_W_H_LOSS_PRICE:最高失败出价,值类型为NSNumber *
  141. *
  142. */
  143. - (void)sendWinNotificationWithInfo:(NSDictionary *)winInfo GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用GDTNativeExpressAdView类中对应的方法");
  144. /**
  145. * 竞败之后调用
  146. *
  147. * @pararm lossInfo 竞败信息,字典类型,注:key是个宏,在GDTAdProtocol.h中有定义,可以参考demo中的使用方法
  148. * GDT_M_L_WIN_PRICE :竞胜价格 (单位: 分),值类型为NSNumber *
  149. * GDT_M_L_LOSS_REASON :优量汇广告竞败原因,竞败原因参考枚举GDTAdBiddingLossReason中的定义,值类型为NSNumber *
  150. * GDT_M_ADNID :竞胜方渠道ID,值类型为NSString *
  151. */
  152. - (void)sendLossNotificationWithInfo:(NSDictionary *)lossInfo GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用GDTNativeExpressAdView类中对应的方法");
  153. /**
  154. 返回广告平台名称
  155. @return 当使用流量分配功能时,用于区分广告平台;未使用时为空字符串
  156. */
  157. - (NSString *)adNetworkName;
  158. @end