YBInviteCode.m 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. //
  2. // YBInviteCode.m
  3. // YBVideo
  4. //
  5. // Created by YB007 on 2019/12/19.
  6. // Copyright © 2019 cat. All rights reserved.
  7. //
  8. #import "YBInviteCode.h"
  9. #import "YBInvitationView.h"
  10. #import "OpenInstallSDK.h"
  11. @implementation YBInviteCode
  12. +(void)saveAgentSwitch:(NSString *)save;{
  13. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  14. [userDefaults setObject:save forKey:@"dsp_agent_switch"];
  15. [userDefaults synchronize];
  16. }
  17. +(NSString *)getAgentSwitch;{
  18. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  19. NSString *getStr = [userDefaults objectForKey:@"dsp_agent_switch"];
  20. return getStr;
  21. }
  22. +(void)saveHasAgent:(NSString *)save{
  23. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  24. [userDefaults setObject:save forKey:@"dsp_has_agent"];
  25. [userDefaults synchronize];
  26. }
  27. +(NSString *)getHasAgent{
  28. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  29. NSString *getStr = [userDefaults objectForKey:@"dsp_has_agent"];
  30. return getStr;
  31. }
  32. +(void)saveAgentMust:(NSString *)save{
  33. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  34. [userDefaults setObject:save forKey:@"dsp_agent_must"];
  35. [userDefaults synchronize];
  36. }
  37. +(NSString *)getAgentMust{
  38. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  39. NSString *getStr = [userDefaults objectForKey:@"dsp_agent_must"];
  40. return getStr;
  41. }
  42. +(void)saveCodeinstallSwitch:(NSString *)save{
  43. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  44. [userDefaults setObject:save forKey:@"dsp_codeinstall_switch"];
  45. [userDefaults synchronize];
  46. }
  47. +(NSString *)getCodeinstallSwitch{
  48. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  49. NSString *getStr = [userDefaults objectForKey:@"dsp_codeinstall_switch"];
  50. return getStr;
  51. }
  52. #pragma mark - 邀请码填写
  53. +(void)checkAgent {
  54. if ([[Config getOwnID] intValue]<=0) {
  55. return;
  56. }
  57. YBWeakSelf;
  58. [YBNetworking postWithUrl:@"Agent.checkAgent" Dic:@{} Suc:^(int code, id info, NSString *msg) {
  59. if (code == 0) {
  60. NSDictionary *infoDic = [info firstObject];
  61. NSString *agent_switch = minstr([infoDic valueForKey:@"agent_switch"]);
  62. [weakSelf saveAgentSwitch:agent_switch];
  63. // int agent_must = [minstr([infoDic valueForKey:@"agent_must"]) intValue];
  64. NSString *has_agent = minstr([infoDic valueForKey:@"has_agent"]);
  65. [weakSelf saveHasAgent:has_agent];
  66. NSString *agent_must = minstr([infoDic valueForKey:@"agent_must"]);
  67. [weakSelf saveAgentMust:agent_must];
  68. NSString *codeinstall_switch =minstr([infoDic valueForKey:@"openinstall_switch"]);
  69. [weakSelf saveCodeinstallSwitch:codeinstall_switch];
  70. /*
  71. has_agent 是否填写过邀请码
  72. agent_switch 手填邀请码开关
  73. openinstall_switch openInstall 邀请码开关
  74. 当has_agent=1.填写过邀请码,直接略过
  75. 当has_agent !=1 判断codeinstall三方开关,当codeinstall开启时直接走免填SDK,当获取不到codeInstall的邀请码时,判断手填开关有没有开启,如果开启弹邀请码框,否则不弹。
  76. 当codeinstall关闭时判断手填开关有没有开启,当不需要手填邀请码时直接略过,否则弹手填邀请码框
  77. */
  78. NSString *is_firstlogin = minstr([infoDic valueForKey:@"is_firstlogin"]);
  79. if (![is_firstlogin isEqual:@"1"] && ![agent_must isEqual:@"1"]) {
  80. return;
  81. }
  82. if ([has_agent isEqual:@"1"]|| [agent_switch isEqual:@"0"]) {
  83. [Config saveisreg:@"0"];
  84. }else{
  85. if([codeinstall_switch isEqual:@"1"]){
  86. [Config saveisreg:@"0"];
  87. [self showCodeInstall];
  88. }else{
  89. if ([agent_switch isEqual:@"0"]) {
  90. [Config saveisreg:@"0"];
  91. }else{
  92. if ([[self getAgentMust]isEqual:@"1"]) {
  93. [self showInvitationView:YES];
  94. }else{
  95. [self showInvitationView:NO];
  96. }
  97. }
  98. }
  99. }
  100. }
  101. } Fail:^(id fail) {
  102. }];
  103. }
  104. +(void)showInvitationView:(BOOL)isForce {
  105. YBInvitationView *invitationV = [[YBInvitationView alloc]initWithType:isForce];
  106. [[UIApplication sharedApplication].delegate.window addSubview:invitationV];
  107. [PublicObj layoutWindowPopLayer];
  108. }
  109. +(void)showCodeInstall{
  110. YBWeakSelf;
  111. [[OpenInstallSDK defaultManager] getInstallParmsCompleted:^(OpeninstallData*_Nullable appData) {
  112. //在主线程中回调
  113. if (appData.data) {//(动态安装参数)
  114. //e.g.如免填邀请码建立邀请关系、自动加好友、自动进入某个群组或房间等
  115. [weakSelf uploadInvitationV:minstr([appData.data valueForKey:@"code"])];
  116. [Config saveisreg:@"0"];
  117. }else {
  118. if ([[self getAgentSwitch] isEqual:@"0"]) {
  119. [Config saveisreg:@"0"];
  120. }else{
  121. if ([[self getAgentSwitch]isEqual:@"1"] && [[self getAgentMust]isEqual:@"1"]) {
  122. [self showInvitationView:YES];
  123. }else{
  124. [self showInvitationView:NO];
  125. }
  126. }
  127. }
  128. if (appData.channelCode) {//(通过渠道链接或二维码安装会返回渠道编号)
  129. //e.g.可自己统计渠道相关数据等
  130. }
  131. NSLog(@"OpenInstallSDK:\n动态参数:%@;\n渠道编号:%@",appData.data,appData.channelCode);
  132. }];
  133. }
  134. +(void)uploadInvitationV:(NSString *)codeStr{
  135. [YBNetworking postWithUrl:@"Agent.setAgent" Dic:@{@"agentcode":codeStr} Suc:^(int code, id info, NSString *msg) {
  136. if (code == 0) {
  137. }
  138. [MBProgressHUD showPop:msg];
  139. } Fail:^(id fail) {
  140. }];
  141. }
  142. @end