Browse Source

[New]新增扫描前广告触发场景

litchi98 1 tháng trước cách đây
mục cha
commit
d6fb592dca

+ 2 - 0
app/src/main/java/com/datarecovery/master/data/consts/AdFuncId.java

@@ -33,4 +33,6 @@ public interface AdFuncId {
     int INTERSTITIAL_HOME_ENTER = 115;
     //进入首页-插屏
     int INTERSTITIAL_HOME_ENTER_2 = 116;
+    // 扫描前-激励点
+    int REWARD_BEFORE_SCAN = 117;
 }

+ 36 - 1
app/src/main/java/com/datarecovery/master/module/homepage/HomePageFragment.java

@@ -9,10 +9,15 @@ import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.GridLayoutManager;
 
 import com.atmob.app.lib.base.BaseFragment;
+import com.atmob.mediation.api.AdError;
 import com.datarecovery.master.R;
+import com.datarecovery.master.data.consts.AdFuncId;
 import com.datarecovery.master.databinding.FragmentHomePageBinding;
 import com.datarecovery.master.dialog.CommonSureDialog;
+import com.datarecovery.master.sdk.ad.AtmobAdHelper;
+import com.datarecovery.master.sdk.ad.RewardVideoListenerAdapter;
 import com.datarecovery.master.utils.PermissionUtil;
+import com.datarecovery.master.utils.ToastUtil;
 import com.datarecovery.master.utils.xfile.XFilePermission;
 import com.datarecovery.master.widget.InformationSwitchBanner;
 import com.gyf.immersionbar.ImmersionBar;
@@ -93,7 +98,37 @@ public class HomePageFragment extends BaseFragment<FragmentHomePageBinding> {
         otherFunctionAdapter = new OtherFunctionAdapter(getViewLifecycleOwner(), homePageViewModel.getFunctionList());
         binding.ryOtherFunction.setAdapter(otherFunctionAdapter);
         binding.ryOtherFunction.setLayoutManager(new GridLayoutManager(requireContext(), 2));
-        otherFunctionAdapter.setOnItemClick(bean -> homePageViewModel.clickItemFunction(bean));
+        otherFunctionAdapter.setOnItemClick(bean -> AtmobAdHelper.showVideo(AdFuncId.REWARD_BEFORE_SCAN, new RewardVideoListenerAdapter() {
+            boolean isRewarded = false;
+
+            @Override
+            public void onRewarded(@NonNull String token) {
+                super.onRewarded(token);
+                isRewarded = true;
+            }
+
+            @Override
+            public void onLoadFailed(AdError adError) {
+                super.onLoadFailed(adError);
+                homePageViewModel.clickItemFunction(bean);
+            }
+
+            @Override
+            public void onRewardAdShowFail(AdError adError) {
+                super.onRewardAdShowFail(adError);
+                homePageViewModel.clickItemFunction(bean);
+            }
+
+            @Override
+            public void onRewardAdClosed() {
+                super.onRewardAdClosed();
+                if (isRewarded) {
+                    homePageViewModel.clickItemFunction(bean);
+                } else {
+                    ToastUtil.show(R.string.scan_failed, ToastUtil.LENGTH_SHORT);
+                }
+            }
+        }));
     }
 
     private void initTextViewBanner() {

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -230,6 +230,7 @@
     <string name="ad_loading_tips">视频加载中</string>
     <string name="simulate_ad_tips">奖励发放中</string>
     <string name="ad_skip">跳过</string>
+    <string name="scan_failed">扫描失败</string>
     <string name="recover_failed">备份失败</string>
     <string name="clean_failed">清除失败</string>
 </resources>