Pārlūkot izejas kodu

开屏广告与弹窗广告优化

zengjiebin 8 gadi atpakaļ
vecāks
revīzija
0b386f0d94

+ 0 - 1
app/src/main/AndroidManifest.xml

@@ -57,7 +57,6 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
     <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
 
     <permission

+ 1 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -212,6 +212,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         initView();
         initListener();
         TestUtil.testChange(getActivity(), (TextView) getViewById(R.id.test_change));
+        Jump2View.getInstance().tryShowHalfScreenAd(activity);
     }
 
     public void initView() {

+ 1 - 6
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -1008,12 +1008,7 @@ public class Jump2View {
     }
 
     public void gotoGuide(Activity activity) {
-        int version_code = PreferenceUtils.getPrefInt(SheepApp.getInstance(), "version_code", 0);
-        int cur_version_code = ApkUtils.getCurrentPkgVersionCode(SheepApp.getInstance());
-        PreferenceUtils.setPrefInt(SheepApp.getInstance(), "version_code", cur_version_code);
-        if(
-                BuildConfig.DEBUG ||
-                version_code != cur_version_code){
+        if(SysAppUtil.isNewSmallSheep(true)){
             Intent intent = new Intent(activity, ActGuide.class);
             activity.startActivity(intent);
             activity.finish();

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -5,7 +5,10 @@ import android.content.Intent;
 import android.os.Build;
 import android.provider.AlarmClock;
 
+import com.kfzs.duanduan.utils.ApkUtils;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 import java.util.ArrayList;
@@ -47,4 +50,18 @@ public class SysAppUtil {
         }
     }
 
+    /**
+     * 是否第一次运行新的小绵羊
+     * @param isSetNew 是否保存最新版本号,清除数据后保存的数据无效
+     * @return
+     */
+    public static boolean isNewSmallSheep(boolean isSetNew) {
+        int version_code = PreferenceUtils.getPrefInt(SheepApp.getInstance(), "version_code", 0);
+        int cur_version_code = ApkUtils.getCurrentPkgVersionCode(SheepApp.getInstance());
+        if(isSetNew)
+            PreferenceUtils.setPrefInt(SheepApp.getInstance(), "version_code", cur_version_code);
+        return version_code != cur_version_code
+//                || BuildConfig.DEBUG
+                ;
+    }
 }

+ 15 - 8
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.util;
 
 import android.app.Activity;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.media.MediaPlayer;
@@ -305,7 +306,7 @@ public class ViewUtil {
             final TextView ad_skip = view.findViewById(R.id.ad_skip);
             TextView know_ad_tv = view.findViewById(R.id.know_ad_tv);
 
-
+            ((View)ad_video_view.getParent()).setMinimumHeight(G.HEIGHT/3);
             if (advertising.isImage()) {
                 Glide.with(activity).load(advertising.getDisplay_src()).into(ad_iv);
                 ad_video_view.setVisibility(View.GONE);
@@ -327,32 +328,33 @@ public class ViewUtil {
                 videoView.requestFocus();
             }
             RxjavaCountDownTimer timer = null;
-            if (advertising.getShow_time() > 0)
+            if (advertising.getShow_time() > 0) {
+                dialog.setCancelable(false);
                 timer = RxjavaCountDownTimer.getInstance(advertising.getShow_time())
                         .setOnTickListener(new RxjavaCountDownTimer.OnTickListener() {
                             @Override
                             public void onFinish() {
-                                dialog_close.setEnabled(true);
+                                dialog.setCancelable(true);
+                                dialog_close.setVisibility(View.VISIBLE);
                                 ad_skip.setEnabled(true);
                                 ad_skip.setText("跳过");
                             }
 
                             @Override
                             public void onTicker(long time) {
-                                dialog_close.setEnabled(false);
+                                dialog.setCancelable(false);
+                                dialog_close.setVisibility(View.GONE);
                                 ad_skip.setEnabled(false);
                                 ad_skip.setText(activity.getString(R.string.tip_skip, time));
                             }
                         }).start();
+            }
 
             final RxjavaCountDownTimer finalTimer = timer;
 
             dialog_close.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                    if (finalTimer != null) {
-                        finalTimer.clear();
-                    }
                     dialog.dismiss();
                 }
             });
@@ -361,10 +363,15 @@ public class ViewUtil {
                 @Override
                 public void onClick(View view) {
                     SplashAct.goAdLink(ActivityManager.getInstance().currentActivity(), advertising);
+                    dialog.dismiss();
+                }
+            });
+            dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+                @Override
+                public void onDismiss(DialogInterface dialogInterface) {
                     if (finalTimer != null) {
                         finalTimer.clear();
                     }
-                    dialog.dismiss();
                 }
             });
             if(TextUtils.isEmpty(advertising.getDesc())) {

+ 9 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -31,6 +31,7 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.RxjavaCountDownTimer;
+import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -141,6 +142,10 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     private Advertising advertising;
     @Override
     public void initData() {
+        if(SysAppUtil.isNewSmallSheep(false)){//新版本只显示引导页面,不展示弹窗和开屏广告
+            isLoaddingData = false;
+            return;
+        }
         SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -170,12 +175,13 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                         mHandler.sendEmptyMessageDelayed(0, 100);
                     }
                 });
-        Jump2View.getInstance().tryShowHalfScreenAd(activity);
     }
 
     private void loadAdvertising() {
         if(advertising.isImage()) {
             Glide.with(activity).load(advertising.getDisplay_src()).into(splash_bg);
+            btnJoin.setVisibility(View.GONE);
+            splash_video_view.setVisibility(View.GONE);
         } else {
             Uri uri = Uri.parse(advertising.getDisplay_src());
             splash_video_view.setVisibility(View.VISIBLE);
@@ -207,6 +213,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                         public void onFinish() {
                             splash_skip.setEnabled(true);
                             splash_skip.setText("跳过");
+                            btnJoin.setVisibility(View.VISIBLE);
                         }
 
                         @Override
@@ -278,6 +285,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                 gotoNext();
                 break;
             case R.id.splash_know_ad_tv:
+                Jump2View.getInstance().gotoMain(activity);
                 goAdLink(activity, advertising);
                 finish();
                 break;

+ 27 - 29
app/src/main/res/layout/dialog_half_screen_ad.xml

@@ -1,36 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_centerInParent="true"
-        android:orientation="vertical">
-
-        <ImageView
-            android:id="@+id/ad_iv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:adjustViewBounds="true"
-            android:scaleType="fitXY"/>
-        <VideoView
-            android:id="@+id/ad_video_view"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-        <TextView
-            android:id="@+id/ad_msg"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-    </LinearLayout>
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
 
     <TextView
         android:id="@+id/ad_skip"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentEnd="true"
-        android:layout_alignParentTop="true"
+        android:layout_gravity="end"
         android:layout_margin="@dimen/content_padding_20"
         android:background="@drawable/shape_ash_solid_rectangle_small"
         android:paddingBottom="2dp"
@@ -40,13 +18,33 @@
         android:text="跳过"
         android:textColor="#918F8F"
         android:textSize="14sp" />
+    <ImageView
+        android:id="@+id/ad_iv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY"/>
+    <VideoView
+        android:id="@+id/ad_video_view"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+    <TextView
+        android:id="@+id/ad_msg"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="16dp"
+        android:lineSpacingExtra="5dp"
+        android:scrollbars="vertical"
+        android:text="@string/app_name"
+        android:textColor="#939393"
+        android:textSize="13sp" />
+
 
     <TextView
         android:id="@+id/know_ad_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_alignParentEnd="true"
+        android:layout_gravity="end"
         android:layout_margin="@dimen/content_padding_20"
         android:background="@drawable/shape_ash_solid_rectangle_small"
         android:paddingBottom="2dp"
@@ -57,4 +55,4 @@
         android:textColor="#918F8F"
         android:textSize="14sp" />
 
-</RelativeLayout>
+</LinearLayout>

+ 7 - 7
app/src/main/res/layout/splash_activity.xml

@@ -11,6 +11,13 @@
         android:layout_height="match_parent"
         android:layout_gravity="center"
         android:visibility="gone" />
+
+    <ImageView
+        android:id="@+id/splash_bg"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:scaleType="centerCrop"
+        android:src="@drawable/splash_bg_img" />
     <TextView
         android:id="@+id/splash_skip"
         android:layout_width="wrap_content"
@@ -42,13 +49,6 @@
         android:visibility="gone"
         android:text="查看详情" />
 
-    <ImageView
-        android:id="@+id/splash_bg"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="centerCrop"
-        android:src="@drawable/splash_bg_img" />
-
     <TextView
         android:id="@+id/btn_join"
         android:layout_width="140dp"