RQADModule.m 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  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. if(RQ_VIP_Module.type==1){//领vip
  96. [[RQ_HTTP_Service getUserVipByUserId:RQ_USER_MANAGER.currentUser._id] subscribeNext:^(id vipUserModel) {
  97. NSLog(@"%@",vipUserModel);
  98. //领取成功-刷新vip
  99. [RQ_VIP_Module isVipWithSubject:1 complete:^(BOOL isVip) {
  100. if(isVip){
  101. [RQ_ALERTVIEW_MANAGER showAlertWithTitle:@"温馨提示" message:@"您已领取成功!" confirmTitle:@"确定" confirmAction:^(__kindof QMUIDialogViewController * _Nonnull dialogViewController) {
  102. }];
  103. }
  104. }];
  105. } error:^(NSError * _Nullable error) {
  106. }];
  107. RQ_VIP_Module.type = 0;
  108. }else{
  109. RQ_VIP_Module.freeLookSimExamNum = 1;
  110. [RQ_ALERTVIEW_MANAGER showAlertWithTitle:@"温馨提示" message:@"获得一次免费真实模拟考试" confirmTitle:@"确定" confirmAction:nil];
  111. }
  112. }
  113. /**
  114. 视频广告请求失败回调
  115. @param rewardvodAd 广告实例
  116. @param errorModel 具体错误信息
  117. */
  118. - (void)adsy_rewardvodAdFailToLoad:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel{
  119. // 4、广告内存回收
  120. dispatch_async(dispatch_get_main_queue(), ^{
  121. // [self.view makeToast:errorModel.description];
  122. [MBProgressHUD rq_hideHUD];
  123. });
  124. _rewardvodAd = nil;
  125. }
  126. /**
  127. 视频广告播放时各种错误回调
  128. @param rewardvodAd 广告实例
  129. @param errorModel 具体错误信息
  130. */
  131. - (void)adsy_rewardvodAdPlaying:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel{
  132. [MBProgressHUD rq_hideHUD];
  133. }
  134. /**
  135. 视频广告激励服务验证成功(需等待服务器返回结果后判断是否激励生效)
  136. @param rewardvodAd 广告实例
  137. */
  138. - (void)adsy_rewardvodAdServerDidSucceed:(ADSuyiSDKRewardvodAd *)rewardvodAd {
  139. }
  140. /**
  141. 视频广告完成激励服务验证失败
  142. @param rewardvodAd 广告实例
  143. @param errorModel 认证失败错误信息
  144. */
  145. - (void)adsy_rewardvodAdServerDidFailed:(ADSuyiSDKRewardvodAd *)rewardvodAd errorModel:(ADSuyiAdapterErrorDefine *)errorModel {
  146. [MBProgressHUD rq_hideHUD];
  147. }
  148. /**
  149. 激励视频关闭落地页回调
  150. @param rewardvodAd 广告实例
  151. */
  152. - (void)adsy_rewardvodAdCloseLandingPage:(ADSuyiSDKRewardvodAd *)rewardvodAd{
  153. [MBProgressHUD rq_hideHUD];
  154. }
  155. #pragma mark - LazyLoad
  156. - (ADSuyiSDKRewardvodAd *)rewardvodAd {
  157. if (!_rewardvodAd) {
  158. _rewardvodAd = [[ADSuyiSDKRewardvodAd alloc]init];
  159. _rewardvodAd.delegate = self;
  160. _rewardvodAd.tolerateTimeout = 5;
  161. _rewardvodAd.controller = RQControllerHelper.topNavigationController.qmui_rootViewController;
  162. _rewardvodAd.posId = @"ae1c61d280cbb67d75";
  163. _rewardvodAd.userId = @"erik";
  164. _rewardvodAd.extraInfo = @"这是一个激励验证";
  165. _rewardvodAd.rewardName = @"激励验证测试";
  166. _rewardvodAd.rewardAmount = [NSNumber numberWithInt:2];
  167. }
  168. return _rewardvodAd;
  169. }
  170. @end