RQADModule.m 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. //
  2. // RQADModule.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/11/28.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQADModule.h"
  9. @interface RQADModule () <ADSuyiSDKRewardvodAdDelegate>
  10. @property (nonatomic, readwrite, strong) ADSuyiSDKRewardvodAd *rewardvodAd;
  11. @property (nonatomic, readwrite, assign) BOOL isReadyToplay;
  12. @end
  13. @implementation RQADModule
  14. static id rq_adModule = nil;
  15. #pragma mark - init
  16. + (instancetype)sharedInstance {
  17. static dispatch_once_t onceToken;
  18. dispatch_once(&onceToken, ^{
  19. rq_adModule = [[self alloc] init];
  20. });
  21. return rq_adModule;
  22. }
  23. - (instancetype)init {
  24. if (self = [super init]) {
  25. }
  26. return self;
  27. }
  28. #pragma mark - PublicMethod
  29. - (void)loadRewardvodAd {
  30. [MBProgressHUD rq_showProgressHUD:@"加载中..."];
  31. [self.rewardvodAd loadRewardvodAd];
  32. }
  33. #pragma mark - ADSuyiSDKRewardvodAdDelegate
  34. /**
  35. 广告数据加载成功回调
  36. @param rewardvodAd 广告实例
  37. */
  38. - (void)adsy_rewardvodAdLoadSuccess:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  39. }
  40. /**
  41. 激励视频广告准备好被播放
  42. @param rewardvodAd 广告实例
  43. */
  44. - (void)adsy_rewardvodAdReadyToPlay:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  45. if ([self.rewardvodAd rewardvodAdIsReady]) {
  46. self.isReadyToplay = YES;
  47. }
  48. }
  49. /**
  50. 视频数据下载成功回调,已经下载过的视频会直接回调
  51. @param rewardvodAd 广告实例
  52. */
  53. - (void)adsy_rewardvodAdVideoLoadSuccess:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  54. [MBProgressHUD rq_hideHUD];
  55. [self.rewardvodAd showRewardvodAd];
  56. }
  57. /**
  58. 视频播放页即将展示回调
  59. @param rewardvodAd 广告实例
  60. */
  61. - (void)adsy_rewardvodAdWillVisible:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  62. }
  63. /**
  64. 视频广告曝光回调
  65. @param rewardvodAd 广告实例
  66. */
  67. - (void)adsy_rewardvodAdDidVisible:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  68. }
  69. /**
  70. 视频播放页关闭回调
  71. @param rewardvodAd 广告实例
  72. */
  73. - (void)adsy_rewardvodAdDidClose:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  74. // 4、广告内存回收
  75. self.rewardvodAd = nil;
  76. [MBProgressHUD rq_hideHUD];
  77. }
  78. /**
  79. 视频广告信息点击回调
  80. @param rewardvodAd 广告实例
  81. */
  82. - (void)adsy_rewardvodAdDidClick:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  83. }
  84. /**
  85. 视频广告视频播放完成
  86. @param rewardvodAd 广告实例
  87. */
  88. - (void)adsy_rewardvodAdDidPlayFinish:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  89. }
  90. /**
  91. 视频广告视频达到奖励条件
  92. @param rewardvodAd 广告实例
  93. */
  94. - (void)adsy_rewardvodAdDidRewardEffective:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  95. RQ_VIP_Module.freeLookSimExamNum = 1;
  96. [RQ_ALERTVIEW_MANAGER showAlertWithTitle:@"温馨提示" message:@"获得一次免费真实模拟考试" confirmTitle:@"确定" confirmAction:nil];
  97. }
  98. /**
  99. 视频广告请求失败回调
  100. @param rewardvodAd 广告实例
  101. @param errorModel 具体错误信息
  102. */
  103. - (void)adsy_rewardvodAdFailToLoad:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel{
  104. // 4、广告内存回收
  105. dispatch_async(dispatch_get_main_queue(), ^{
  106. // [self.view makeToast:errorModel.description];
  107. [MBProgressHUD rq_hideHUD];
  108. });
  109. _rewardvodAd = nil;
  110. }
  111. /**
  112. 视频广告播放时各种错误回调
  113. @param rewardvodAd 广告实例
  114. @param errorModel 具体错误信息
  115. */
  116. - (void)adsy_rewardvodAdPlaying:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel{
  117. [MBProgressHUD rq_hideHUD];
  118. }
  119. /**
  120. 视频广告激励服务验证成功(需等待服务器返回结果后判断是否激励生效)
  121. @param rewardvodAd 广告实例
  122. */
  123. - (void)adsy_rewardvodAdServerDidSucceed:(ADSuyiSDKRewardvodAd *)rewardvodAd {
  124. }
  125. /**
  126. 视频广告完成激励服务验证失败
  127. @param rewardvodAd 广告实例
  128. @param errorModel 认证失败错误信息
  129. */
  130. - (void)adsy_rewardvodAdServerDidFailed:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel {
  131. [MBProgressHUD rq_hideHUD];
  132. }
  133. /**
  134. 激励视频关闭落地页回调
  135. @param rewardvodAd 广告实例
  136. */
  137. - (void)adsy_rewardvodAdCloseLandingPage:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  138. [MBProgressHUD rq_hideHUD];
  139. }
  140. #pragma mark - LazyLoad
  141. - (ADSuyiSDKRewardvodAd *)rewardvodAd {
  142. if (!_rewardvodAd) {
  143. _rewardvodAd = [[ADSuyiSDKRewardvodAd alloc]init];
  144. _rewardvodAd.delegate = self;
  145. _rewardvodAd.tolerateTimeout = 5;
  146. _rewardvodAd.controller = RQControllerHelper.topNavigationController.qmui_rootViewController;
  147. _rewardvodAd.posId = @"ae1c61d280cbb67d75";
  148. _rewardvodAd.userId = @"erik";
  149. _rewardvodAd.extraInfo = @"这是一个激励验证";
  150. _rewardvodAd.rewardName = @"激励验证测试";
  151. _rewardvodAd.rewardAmount = [NSNumber numberWithInt:2];
  152. }
  153. return _rewardvodAd;
  154. }
  155. @end