RQADModule.m 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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. });
  108. _rewardvodAd = nil;
  109. }
  110. /**
  111. 视频广告播放时各种错误回调
  112. @param rewardvodAd 广告实例
  113. @param errorModel 具体错误信息
  114. */
  115. - (void)adsy_rewardvodAdPlaying:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel{
  116. [MBProgressHUD rq_hideHUD];
  117. }
  118. /**
  119. 视频广告激励服务验证成功(需等待服务器返回结果后判断是否激励生效)
  120. @param rewardvodAd 广告实例
  121. */
  122. - (void)adsy_rewardvodAdServerDidSucceed:(ADSuyiSDKRewardvodAd *)rewardvodAd {
  123. }
  124. /**
  125. 视频广告完成激励服务验证失败
  126. @param rewardvodAd 广告实例
  127. @param errorModel 认证失败错误信息
  128. */
  129. - (void)adsy_rewardvodAdServerDidFailed:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel {
  130. [MBProgressHUD rq_hideHUD];
  131. }
  132. /**
  133. 激励视频关闭落地页回调
  134. @param rewardvodAd 广告实例
  135. */
  136. - (void)adsy_rewardvodAdCloseLandingPage:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  137. [MBProgressHUD rq_hideHUD];
  138. }
  139. #pragma mark - LazyLoad
  140. - (ADSuyiSDKRewardvodAd *)rewardvodAd {
  141. if (!_rewardvodAd) {
  142. _rewardvodAd = [[ADSuyiSDKRewardvodAd alloc]init];
  143. _rewardvodAd.delegate = self;
  144. _rewardvodAd.tolerateTimeout = 5;
  145. _rewardvodAd.controller = RQControllerHelper.topNavigationController.qmui_rootViewController;
  146. _rewardvodAd.posId = @"ae1c61d280cbb67d75";
  147. _rewardvodAd.userId = @"erik";
  148. _rewardvodAd.extraInfo = @"这是一个激励验证";
  149. _rewardvodAd.rewardName = @"激励验证测试";
  150. _rewardvodAd.rewardAmount = [NSNumber numberWithInt:2];
  151. }
  152. return _rewardvodAd;
  153. }
  154. @end