Browse Source

[添加]闪屏页加入优投广告

zeki 5 years ago
parent
commit
d34cfda165

+ 4 - 2
app/build.gradle

@@ -197,7 +197,7 @@ dependencies {
     }
 
     implementation(name: 'newbie-guide-2.4.0.1', ext: 'aar')
-    implementation(name: 'msa_mdid_1.0.13', ext: 'aar')
+
     debugImplementation 'com.android.support:multidex:1.0.1'
 
     //不要修改这里,相信我
@@ -232,7 +232,9 @@ dependencies {
         exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
     }
 
-    implementation(name: 'exclude_oaid_sdk_1.0.25', ext: 'aar')
+    //不知道接进来干嘛的,与当前的oaid冲突
+    //implementation(name: 'msa_mdid_1.0.13', ext: 'aar')
+    implementation(name: 'oaid_sdk_1.0.25', ext: 'aar')
 
     implementation(name: 'JasmineSDK_v1.2.5', ext: 'aar')
 

BIN
app/libs/exclude_oaid_sdk_1.0.25.aar


+ 23 - 0
app/proguard-rules.pro

@@ -41,6 +41,7 @@
 -dontwarn com.tencent.bugly.**
 -keep public class com.tencent.**{*;}
 -keep class android.support.**{*;}
+
 #友盟
 -keep class com.umeng.** {*;}
 -keep public interface com.umeng.**
@@ -517,6 +518,28 @@
 -keep class com.hc.**{*;}
 -keep class com.hoc.**{*;}
 
+#==================优投广告sdk==========================
+-dontwarn com.jasmine.cantaloupe.**
+-keep class com.jasmine.cantaloupe.**{*;}
+-dontwarn z9.z9.z9.**
+-keep class z9.z9.z9.**{*;}
+
+#==================msa移动联盟sdk 移动安全联盟 (http://www.msa-alliance.cn)==========================
+-keep class com.bun.** {*;}
+-keep class com.asus.msa.** {*;}
+-keep class com.heytap.openid.** {*;}
+-keep class com.huawei.android.hms.pps.** {*;}
+-keep class com.meizu.flyme.openidsdk.** {*;}
+-keep class com.samsung.android.deviceidservice.** {*;}
+-keep class com.zui.** {*;}
+-keep class com.huawei.hms.ads.** {*; }
+-keep interface com.huawei.hms.ads.** {*; }
+-keepattributes *Annotation*
+-keep @android.support.annotation.Keep class **{
+    @android.support.annotation.Keep <fields>;
+    @android.support.annotation.Keep <methods>;
+}
+
 #==================现在支付保护区====================================
 -optimizationpasses 5
 -dontusemixedcaseclassnames

+ 50 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -15,11 +15,11 @@ import android.support.v4.content.ContextCompat;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.VideoView;
+import android.widget.*;
 import com.bumptech.glide.Glide;
 import com.jasmine.cantaloupe.engine.JasmineEngine;
+import com.jasmine.cantaloupe.engine.SplashEngine;
+import com.jasmine.cantaloupe.ui.widget.AdFrameLayout;
 import com.jasmine.cantaloupe.utils.LogUtils2;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.greendao.DDProviderHelper;
@@ -69,6 +69,8 @@ public class SplashAct extends BaseActivity {
         // doNothing
     }
 
+    @BindView(R.id.fv_splash_yt)
+    AdFrameLayout flSplashYT;
     @BindView(R.id.splash_image_view)
     ImageView splash_image_view;
     @BindView(R.id.splash_skip)
@@ -234,6 +236,7 @@ public class SplashAct extends BaseActivity {
                     @Override
                     public void initSuccess() {
                         LogUtils2.info("initSuccess");
+                        launchYTSplash();
                     }
 
                     @Override
@@ -243,6 +246,50 @@ public class SplashAct extends BaseActivity {
                 });
     }
 
+    //展示优投开屏广告(新增boolean state:false----定值) 重要 mForceGoMain跳转主页 请参照此方法调用,否则可能导致广告展示链路断开 导致收益下降!!!
+    private void launchYTSplash() {
+        flSplashYT.setVisibility(View.VISIBLE);
+        new SplashEngine(SplashAct.this,false, new SplashEngine.SplashAdCallBack() {
+            @Override
+            public void onSplashClick() {
+                Log.i("jasmine-ad", "点击广告");
+            }
+
+            @Override
+            public void onSplashDismissed() {
+                Log.i("jasmine-ad", "广告关闭");
+                sendHandlerMessages(0);
+            }
+
+            @Override
+            public void onSplashError(String err, boolean isTimeout) {
+                Log.i("jasmine-ad", "展示广告异常:" + err);
+                sendHandlerMessages(0);
+            }
+
+            @Override
+            public void onSplashShow() {
+                Log.i("jasmine-ad", "展示广告");
+                //mHasLoaded = true;
+                mHandler.removeCallbacksAndMessages(null);
+            }
+
+            @Override
+            public void onSplashPresent() {
+                Log.i("jasmine-ad", "广告数据加载");
+                splash_image_view.setVisibility(View.GONE); // 广告展示后一定要把预设的开屏图片隐藏起来
+            }
+
+            @Override
+            public void onSplashLoad() {
+                Log.i("Jasmine-ad", "拉取广告");
+            }
+
+        }).launchSplash(flSplashYT, 5 * 1000);
+
+    }
+
+
     //从服务端拉取广告信息
     private void fetchAdvertisement(boolean shouldLoad) {
         CommonUtil.getInstance().refreshAds((ret, list) -> {

+ 3 - 8
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -12,17 +12,13 @@ import android.support.multidex.MultiDexApplication;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.Log;
-
 import com.baidu.idl.face.platform.FaceSDKManager;
 import com.baidu.location.BDAbstractLocationListener;
 import com.baidu.location.BDLocation;
 import com.baidu.location.LocationClient;
 import com.baidu.location.LocationClientOption;
 import com.bumptech.glide.Glide;
-import com.bun.miitmdid.core.JLibrary;
 import com.danikula.videocache.HttpProxyCacheServer;
-import com.jasmine.cantaloupe.engine.JasmineEngine;
-import com.jasmine.cantaloupe.utils.LogUtils2;
 import com.kfzs.cfyl.share_library.util.ContextHolder;
 import com.liulishuo.okdownload.OkDownload;
 import com.liulishuo.okdownload.core.dispatcher.DownloadDispatcher;
@@ -69,8 +65,6 @@ import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.shuyu.gsyvideoplayer.player.PlayerFactory;
 import com.tencent.bugly.Bugly;
 import com.tencent.bugly.beta.Beta;
-import com.tencent.klevin.KleinManager;
-import com.tencent.klevin.base.callback.KleinResponseCallback;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.tencent.smtt.sdk.QbSdk;
@@ -220,11 +214,12 @@ public class SheepApp extends MultiDexApplication {
             }
             initUtils();
             ChannelContent.getInstance().initChannelContent(this);
-            try {
+
+            /*try {
                 JLibrary.InitEntry(this);
             } catch (Exception e) {
                 e.printStackTrace();
-            }
+            }*/
 
             /*Rx兜底策略*/
             RxJavaPlugins.setErrorHandler(throwable -> {

+ 66 - 36
app/src/main/res/layout/splash_activity.xml

@@ -1,47 +1,77 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@android:color/black"
-    android:orientation="vertical">
+             android:id="@+id/fl_root"
+             android:layout_width="match_parent"
+             android:layout_height="match_parent"
+             android:background="@android:color/black"
+             android:orientation="vertical">
 
     <VideoView
-        android:id="@+id/splash_video_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_gravity="center"
-        android:visibility="gone" />
+            android:id="@+id/splash_video_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"
+            android:visibility="gone"/>
 
     <ImageView
-        android:id="@+id/splash_image_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="centerCrop"
-        android:src="@drawable/kaipin" />
+            android:id="@+id/splash_image_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="centerCrop"
+            android:src="@drawable/kaipin"/>
     <TextView
-        android:id="@+id/splash_skip"
-        android:layout_width="wrap_content"
-        android:layout_height="24dp"
-        android:layout_gravity="top|end"
-        android:gravity="center"
-        android:paddingStart="10dp"
-        android:paddingEnd="10dp"
-        android:layout_margin="@dimen/content_padding_20"
-        android:textColor="#ffffff"
-        android:textSize="13sp"
-        android:background="@drawable/shape_ash_solid_rectangle_small_tra30"
-        android:visibility="gone" />
+            android:id="@+id/splash_skip"
+            android:layout_width="wrap_content"
+            android:layout_height="24dp"
+            android:layout_gravity="top|end"
+            android:gravity="center"
+            android:paddingStart="10dp"
+            android:paddingEnd="10dp"
+            android:layout_margin="@dimen/content_padding_20"
+            android:textColor="#ffffff"
+            android:textSize="13sp"
+            android:background="@drawable/shape_ash_solid_rectangle_small_tra30"
+            android:visibility="gone"/>
 
     <TextView
-        android:id="@+id/ad_flag"
-        android:visibility="gone"
-        android:text="广告"
-        android:textSize="12sp"
-        android:textColor="@color/white"
-        android:layout_margin="12dp"
-        android:background="#50000000"
-        android:gravity="center"
-        android:layout_width="36dp"
-        android:layout_height="20dp" />
+            android:id="@+id/ad_flag"
+            android:visibility="gone"
+            android:text="广告"
+            android:textSize="12sp"
+            android:textColor="@color/white"
+            android:layout_margin="12dp"
+            android:background="#50000000"
+            android:gravity="center"
+            android:layout_width="36dp"
+            android:layout_height="20dp"/>
+
+    <com.jasmine.cantaloupe.ui.widget.AdFrameLayout
+            android:id="@+id/fv_splash_yt"
+            android:layout_height="match_parent"
+            android:layout_width="match_parent"
+            android:visibility="invisible">
+
+        <!-- 2.开屏广告容器区域:-->
+        <!-- 注意:该区域高度不得小于400dp。在本示例中没有写死splash_container的高度值,是因为第1部分的app_logo区域是一个高度很小的图片。 -->
+        <FrameLayout
+                android:id="@+id/splash_container"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"/>
+
+        <!-- 3.自定义跳过按钮区域:开发者可以根据需要自己实现不同样式的跳过按钮 -->
+        <!-- 注意1:根据广告法规定,跳过按钮必须在屏幕当中出现。因此广告展示的时候,必须让将SkipView显示出来,即visible,否则将SDK将不展示广告。 -->
+        <!-- 注意2:SDK除了会检查跳过按钮的可见性,还将检测它的尺寸,其尺寸不得小于3dp*3dp,否则将SDK将不展示广告。 -->
+        <TextView
+                android:id="@+id/splash_skip_view"
+                android:layout_width="96dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="right"
+                android:layout_margin="16dp"
+                android:background="@drawable/jasmine_common_button"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="14sp"
+                android:visibility="visible"/>
+    </com.jasmine.cantaloupe.ui.widget.AdFrameLayout>
 
 </FrameLayout>