Explorar el Código

[修改]即时刷新广告

zeki hace 5 años
padre
commit
95518fd244
Se han modificado 1 ficheros con 20 adiciones y 14 borrados
  1. 20 14
      app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

+ 20 - 14
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -51,6 +51,7 @@ import butterknife.OnClick;
 import io.reactivex.Observable;
 import io.reactivex.Observer;
 import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.functions.Action;
 import io.reactivex.schedulers.Schedulers;
 
 import static com.sheep.gamegroup.view.activity.helper.AdHelper.*;
@@ -128,23 +129,23 @@ public class SplashAct extends BaseActivity {
                     boolean isNewSmallSheep = baseMessage.getData(Boolean.class);
                     DataUtil.getInstance().setIsNewSmallSheep(isNewSmallSheep);
                     if (SysAppUtil.isNewSmallSheep()) {//新版本只显示引导页面,不展示弹窗和开屏广告
-                        fetchAdvertisement();//只更新,不加载,下次加载上次的数据
+                        fetchAdvertisement(()->{});//只更新,不加载
                         sendHandlerMessages(2000);
                     } else {
-                        ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
-                        if (ad != null) {
-                            if (ad.getAd_type() == AD_TYPE_SHEEP) {
-                                //是自己的广告,展示自己的广告
-                                loadSheepAdvertising();
+                        //拉一次广告,并加载
+                        fetchAdvertisement(()->{
+                            if (ad != null) {
+                                if (ad.getAd_type() == AD_TYPE_SHEEP) {
+                                    //是自己的广告,展示自己的广告
+                                    loadSheepAdvertising();
+                                } else {
+                                    //SDK的广告,展示SDK的广告,并拉取一次广告并保存
+                                    initSdkAdvertising(ad.getAd_type());
+                                }
                             } else {
-                                //SDK的广告,展示SDK的广告,并拉取一次广告并保存
-                                initSdkAdvertising(ad.getAd_type());
+                                sendHandlerMessages(2000);
                             }
-                        } else {
-                            sendHandlerMessages(2000);
-                        }
-                        //拉一次广告,不加载,下次打开APP加载上次拉的数据
-                        fetchAdvertisement();
+                        });
                     }
                 })
                 .subscribe();
@@ -263,10 +264,15 @@ public class SplashAct extends BaseActivity {
 
 
     //从服务端拉取广告信息
-    private void fetchAdvertisement() {
+    private void fetchAdvertisement(Action action) {
         CommonUtil.getInstance().refreshAds((ret, list) -> {
             if (ret) {
                 ad = DDProviderHelper.getInstance().getSheepAd(SheepAd.FORM_SPLASH);
+                try {
+                    action.run();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         });
     }