Browse Source

[Modify]广告加载失败不卡住流程

litchi98 2 months ago
parent
commit
de1d8d1636

+ 25 - 0
app/src/main/java/com/datarecovery/master/module/homepage/HomePageViewModel.java

@@ -11,6 +11,7 @@ import com.atmob.app.lib.livedata.SingleLiveEvent;
 import com.atmob.common.data.KVUtils;
 import com.atmob.common.runtime.ActivityUtil;
 import com.atmob.common.runtime.ContextUtil;
+import com.atmob.mediation.api.AdError;
 import com.datarecovery.master.R;
 import com.datarecovery.master.data.consts.AdFuncId;
 import com.datarecovery.master.data.consts.EventId;
@@ -26,6 +27,7 @@ import com.datarecovery.master.module.videorecover.VideoRecoverActivity;
 import com.datarecovery.master.sdk.ad.AtmobAdHelper;
 import com.datarecovery.master.sdk.ad.RewardVideoListenerAdapter;
 import com.datarecovery.master.utils.Maps;
+import com.datarecovery.master.utils.ToastUtil;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -150,11 +152,34 @@ public class HomePageViewModel extends BaseViewModel {
     public void onBackupHelperClick() {
         EventHelper.report(EventId.EVENT_3001000);
         AtmobAdHelper.showVideo(AdFuncId.REWARD_BACKUP_TUTORIAL, new RewardVideoListenerAdapter() {
+            boolean isRewarded = false;
+
             @Override
             public void onRewarded(@NonNull String token) {
                 super.onRewarded(token);
+                isRewarded = true;
                 BackupHelperActivity.start(ActivityUtil.getTopActivity(), isQQSelected.getValue() == null || !isQQSelected.getValue());
             }
+
+            @Override
+            public void onRewardAdShowFail(AdError adError) {
+                super.onRewardAdShowFail(adError);
+                BackupHelperActivity.start(ActivityUtil.getTopActivity(), isQQSelected.getValue() == null || !isQQSelected.getValue());
+            }
+
+            @Override
+            public void onLoadFailed(AdError adError) {
+                super.onLoadFailed(adError);
+                BackupHelperActivity.start(ActivityUtil.getTopActivity(), isQQSelected.getValue() == null || !isQQSelected.getValue());
+            }
+
+            @Override
+            public void onRewardAdClosed() {
+                super.onRewardAdClosed();
+                if (!isRewarded) {
+                    ToastUtil.show("解锁失败", ToastUtil.LENGTH_SHORT);
+                }
+            }
         });
     }