BuWanVideo/AndroidManifest.xml
@@ -221,6 +221,14 @@ <activity android:name="com.weikou.beibeivideo.ui.ad.SplashAdActivity" android:hardwareAccelerated="true" android:label="@string/app_name" android:launchMode="singleInstance" android:screenOrientation="portrait"></activity> <activity android:name="com.weikou.beibeivideo.ui.common.LiveBrowserActivity" android:label="@string/app_name" android:windowSoftInputMode="adjustResize" /> BuWanVideo/res/drawable-xhdpi/icon_browser_more.png
BuWanVideo/res/drawable-xhdpi/icon_browser_more_copy.png
BuWanVideo/res/drawable-xhdpi/icon_browser_more_open.png
BuWanVideo/res/drawable-xhdpi/icon_browser_more_refresh.png
BuWanVideo/res/layout/activity_splash_ad.xml
New file @@ -0,0 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/page_content_bg_color" android:orientation="vertical"> <include layout="@layout/view_status_bar" /> <FrameLayout android:id="@+id/fl_splash_ad" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center"> </FrameLayout> </LinearLayout> BuWanVideo/res/layout/browser_fengxing_activity.xml
@@ -46,7 +46,7 @@ android:ellipsize="end" android:maxLines="1" android:text="" android:textColor="#DDDDDD" android:textColor="@color/page_title_text_color" android:textSize="15sp"></TextView> <TextView @@ -56,7 +56,7 @@ android:layout_marginTop="3dp" android:ellipsize="end" android:maxLines="1" android:textColor="#DDDDDD" android:textColor="#999999" android:textSize="8sp"></TextView> @@ -66,6 +66,7 @@ android:id="@+id/tv_right" android:layout_width="wrap_content" android:layout_height="match_parent" android:drawableRight="@drawable/icon_browser_more" android:gravity="center" android:paddingLeft="10dp" android:paddingRight="10dp" @@ -94,6 +95,61 @@ android:layout_width="match_parent" android:layout_height="match_parent"></WebView> <FrameLayout android:id="@+id/fl_menu" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#80000000" android:visibility="gone"> <LinearLayout android:id="@+id/ll_menu" android:layout_width="172dp" android:layout_height="wrap_content" android:layout_gravity="right|top" android:layout_marginRight="4dp" android:orientation="vertical"> <TextView android:id="@+id/tv_refresh" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon_browser_more_refresh" android:drawablePadding="9dp" android:padding="11dp" android:text="刷新" android:textColor="#ff666666" android:textSize="15sp" /> <TextView android:id="@+id/tv_copy" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon_browser_more_copy" android:drawablePadding="9dp" android:padding="11dp" android:text="复制链接" android:textColor="#ff666666" android:textSize="15sp" /> <TextView android:id="@+id/tv_open" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon_browser_more_open" android:drawablePadding="9dp" android:padding="11dp" android:text="用其他浏览器打开" android:textColor="#ff666666" android:textSize="15sp" /> </LinearLayout> </FrameLayout> </FrameLayout> </LinearLayout> </LinearLayout> BuWanVideo/res/layout/fragment_splash_ad.xml
New file @@ -0,0 +1,79 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#010005" android:orientation="vertical"> <FrameLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <FrameLayout android:id="@+id/fl_ad" android:layout_width="match_parent" android:layout_height="match_parent"></FrameLayout> <LinearLayout android:id="@+id/ll_input" android:layout_width="wrap_content" android:layout_height="34dp" android:layout_gravity="top|right" android:layout_marginTop="20dp" android:layout_marginRight="20dp" android:background="@drawable/shape_splash_ad" android:gravity="center" android:orientation="horizontal" android:paddingLeft="20dp" android:paddingRight="20dp" android:visibility="invisible"> <TextView android:id="@+id/ad_input" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:padding="2dp" android:text="跳过" android:textColor="@color/white" android:textSize="14sp" android:visibility="visible" /> <TextView android:id="@+id/ad_close_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="2dp" android:maxLines="1" android:padding="2dp" android:text="5" android:textColor="@color/white" android:textSize="14sp" android:visibility="visible" /> </LinearLayout> </FrameLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:padding="15dp"> <ImageView android:layout_width="28dp" android:layout_height="28dp" android:src="@drawable/ic_launcher"></ImageView> <ImageView android:layout_width="wrap_content" android:layout_height="27dp" android:layout_marginLeft="5dp" android:src="@drawable/ic_splash_bottom_small"></ImageView> </LinearLayout> </FrameLayout> BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -35,7 +35,10 @@ import com.umeng.commonsdk.UMConfigure; import com.umeng.socialize.PlatformConfig; import com.umeng.socialize.UMShareAPI; import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; import com.weikou.beibeivideo.ui.SplashActivity; import com.weikou.beibeivideo.ui.ad.SplashADFragment; import com.weikou.beibeivideo.ui.ad.SplashAdActivity; import com.weikou.beibeivideo.ui.push.PushOpenClickActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.CrashHandler; @@ -47,6 +50,8 @@ import org.apache.http.Header; import org.json.JSONException; import org.json.JSONObject; import de.greenrobot.event.EventBus; public class BeibeiVideoApplication extends Application { @@ -296,6 +301,27 @@ ComponentName cn = am.getRunningTasks(1).get(0).topActivity; if (!cn.getClassName().equalsIgnoreCase(SplashActivity.class.getName())) { Log.i(TAG, "应当展示开屏广告"); SplashADFragment.loadAd(getApplicationContext(), null, null, true, new SplashADFragment.AdLoadResultListener() { @Override public void onAdLoad(SplashAdLoadInfo adLoadInfo) { //展示广告 startActivity(new Intent(getApplicationContext(), SplashAdActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } @Override public void onNoAd() { } @Override public void onClose() { //广点通广告适用 //结束广告 //通过eventbus通知页面关闭 EventBus.getDefault().post(new SplashAdLoadInfo(null, 0)); } }); } } BuWanVideo/src/com/weikou/beibeivideo/entity/ad/SplashAdLoadInfo.java
New file @@ -0,0 +1,45 @@ package com.weikou.beibeivideo.entity.ad; import com.bytedance.sdk.openadsdk.TTSplashAd; import com.qq.e.ads.splash.SplashAD; public class SplashAdLoadInfo { private SplashAD gdtSplashAd; private long expireTime; private TTSplashAd csjAd; public SplashAdLoadInfo(SplashAD gdtSplashAd, long expireTime) { this.gdtSplashAd = gdtSplashAd; this.expireTime = expireTime; } public SplashAdLoadInfo(long expireTime, TTSplashAd csjAd) { this.expireTime = expireTime; this.csjAd = csjAd; } public SplashAD getGdtSplashAd() { return gdtSplashAd; } public void setGdtSplashAd(SplashAD gdtSplashAd) { this.gdtSplashAd = gdtSplashAd; } public long getExpireTime() { return expireTime; } public void setExpireTime(long expireTime) { this.expireTime = expireTime; } public TTSplashAd getCsjAd() { return csjAd; } public void setCsjAd(TTSplashAd csjAd) { this.csjAd = csjAd; } } BuWanVideo/src/com/weikou/beibeivideo/ui/BaseActivity.java
@@ -7,13 +7,8 @@ import android.os.Build; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.LinearLayout; import com.umeng.analytics.MobclickAgent; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil; import com.weikou.beibeivideo.util.ui.TopStatusSettings; BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
@@ -37,6 +37,8 @@ import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.ad.AdPositionEnum; import com.weikou.beibeivideo.entity.ad.AdTypeVO; import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; import com.weikou.beibeivideo.ui.ad.SplashADFragment; import com.weikou.beibeivideo.ui.dialog.UserProtocolDialog; import com.weikou.beibeivideo.ui.main.MainActivity; import com.weikou.beibeivideo.util.BeibeiConstant; @@ -411,79 +413,35 @@ * * @param adType */ private SplashADFragment splashADFragment; private void loadSplashAd(final AdUtil.AD_TYPE adType, final String pid) { SplashAdUtil.loadAD(pid, adType, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() { SplashADFragment.loadAd(getApplicationContext(), adType, pid, true, new SplashADFragment.AdLoadResultListener() { @Override public void close() { runOnUiThread(new Runnable() { public void onAdLoad(SplashAdLoadInfo adLoadInfo) { splashADFragment = SplashADFragment.newInstance(); splashADFragment.setAdShowListener(new SplashADFragment.AdShowListener() { @Override public void run() { public void onClose() { toMainActivity(); } }); getSupportFragmentManager().beginTransaction().replace(R.id.fl_splash_ad, splashADFragment).commitAllowingStateLoss(); } @Override public void noAd() {//初次加载未加载出广告 if (AdUtil.AD_TYPE.csj == adType) { //再次加载广点通广告 SplashAdUtil.loadAD(pid, AdUtil.AD_TYPE.gdt, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() { @Override public void close() { runOnUiThread(new Runnable() { @Override public void run() { toMainActivity(); } }); } public void onNoAd() { toMainActivity(); } @Override public void noAd() { runOnUiThread(new Runnable() { @Override public void run() { toMainActivity(); } }); } }); } else if (AdUtil.AD_TYPE.gdt == adType) { //再次加载穿山甲广告 //再次加载广点通广告 SplashAdUtil.loadAD(pid, AdUtil.AD_TYPE.csj, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() { @Override public void close() { runOnUiThread(new Runnable() { @Override public void run() { toMainActivity(); } }); } @Override public void noAd() { runOnUiThread(new Runnable() { @Override public void run() { toMainActivity(); } }); } }); } else { runOnUiThread(new Runnable() { @Override public void run() { toMainActivity(); } }); } @Override public void onClose() { toMainActivity(); } }); } private void myRequetPermission() { BuWanVideo/src/com/weikou/beibeivideo/ui/ad/SplashADFragment.java
New file @@ -0,0 +1,252 @@ package com.weikou.beibeivideo.ui.ad; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; import com.bytedance.sdk.openadsdk.TTSplashAd; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.ad.AdPositionEnum; import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; import com.weikou.beibeivideo.ui.SplashActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.CSJConstant; import com.weikou.beibeivideo.util.ad.GDTConstant; import com.weikou.beibeivideo.util.ad.SplashAdUtil; import java.util.Timer; import java.util.TimerTask; /** * 视频播放前贴广告 */ public class SplashADFragment extends Fragment implements View.OnClickListener { private LinearLayout ll_input; private TextView ad_close_time; private FrameLayout fl_ad; private static SplashAdLoadInfo adLoadInfo; private AdShowListener mAdShowListener; public void setAdShowListener(AdShowListener mAdShowListener) { this.mAdShowListener = mAdShowListener; } /** * 加载开屏广告 * * @param adType */ /** * 加载开屏广告 * * @param context * @param adType1 * @param pid1 * @param first */ public static void loadAd(Context context, AdUtil.AD_TYPE adType1, String pid1, boolean first, AdLoadResultListener adLoadResultListener) { if (adType1 == null) { adType1 = AdUtil.getAdType(context, AdPositionEnum.splash); pid1 = AdUtil.getAdPid(context, AdPositionEnum.splash); } final AdUtil.AD_TYPE adType = adType1; final String pid = pid1; SplashAdUtil.loadAD(pid, adType, context, null, null, null, new SplashAdUtil.SplashAdListener() { @Override public void onAdLoad(SplashAdLoadInfo adLoadInfo) { SplashADFragment.adLoadInfo = adLoadInfo; if (adLoadResultListener != null) { adLoadResultListener.onAdLoad(adLoadInfo); } } @Override public void close() { if (adLoadResultListener != null) adLoadResultListener.onClose(); } @Override public void noAd() {//初次加载未加载出广告 if (AdUtil.AD_TYPE.csj == adType) { if (first) { loadAd(context, AdUtil.AD_TYPE.gdt, BeibeiConstant.GDT_SPLASH_POSITION_ID, false, adLoadResultListener); } else { if (adLoadResultListener != null) adLoadResultListener.onNoAd(); } } else if (AdUtil.AD_TYPE.gdt == adType) { //再次加载穿山甲广告 if (first) { loadAd(context, AdUtil.AD_TYPE.csj, CSJConstant.SPLASH_AD, false, adLoadResultListener); } else { if (adLoadResultListener != null) adLoadResultListener.onNoAd(); } } else { if (adLoadResultListener != null) adLoadResultListener.onNoAd(); } } }); } private Timer timer; private int leftTime = 5; public void showAd() { if (isAdLoaded()) { //穿山甲广告 if (adLoadInfo.getCsjAd() != null) { TTSplashAd ad = adLoadInfo.getCsjAd(); View view = ad.getSplashView(); fl_ad.removeAllViews(); //把SplashView 添加到ViewGroup中 fl_ad.addView(view); //设置SplashView的交互监听器 ad.setNotAllowSdkCountdown(); ad.setSplashInteractionListener(new TTSplashAd.AdInteractionListener() { @Override public void onAdClicked(View view, int type) { } @Override public void onAdShow(View view, int type) { } @Override public void onAdSkip() { } @Override public void onAdTimeOver() { } }); if (timer == null) timer = new Timer(); timer.cancel(); timer.schedule(new TimerTask() { @Override public void run() { leftTime--; if (leftTime < 0) { timer.cancel(); //进入主页 mAdShowListener.onClose(); return; } else { //倒计时 if (ad_close_time != null) ad_close_time.post(new Runnable() { @Override public void run() { if (ad_close_time != null) ad_close_time.setText(leftTime + ""); } }); } } }, 1000, 1000); ll_input.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { fl_ad.removeAllViews(); mAdShowListener.onClose(); } }); } else if (adLoadInfo.getGdtSplashAd() != null) { adLoadInfo.getGdtSplashAd().showAd(fl_ad); } } } /** * 广告是否加载 * * @return */ public static boolean isAdLoaded() { if (adLoadInfo != null && adLoadInfo.getExpireTime() > System.currentTimeMillis()) { return true; } return false; } public static SplashADFragment newInstance() { Bundle bundle = new Bundle(); SplashADFragment fragment = new SplashADFragment(); fragment.setArguments(bundle); return fragment; } private void initView(View root) { ll_input = root.findViewById(R.id.ll_input); ad_close_time = root.findViewById(R.id.ad_close_time); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View root = LayoutInflater.from(getContext()).inflate(R.layout.fragment_splash_ad, null); initView(root); showAd(); return root; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.tv_skip: break; } } public interface AdLoadResultListener { public void onAdLoad(SplashAdLoadInfo adLoadInfo); public void onNoAd(); public void onClose(); } public interface AdShowListener { public void onClose(); } } BuWanVideo/src/com/weikou/beibeivideo/ui/ad/SplashAdActivity.java
New file @@ -0,0 +1,52 @@ package com.weikou.beibeivideo.ui.ad; import android.os.Bundle; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; import com.weikou.beibeivideo.ui.BaseActivity; import com.weikou.beibeivideo.util.ui.TopStatusSettings; import de.greenrobot.event.EventBus; public class SplashAdActivity extends BaseActivity { private SplashADFragment splashADFragment; @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TopStatusSettings.setStatusViewAndDeepColor(this); EventBus.getDefault().register(this); splashADFragment = SplashADFragment.newInstance(); splashADFragment.setAdShowListener(new SplashADFragment.AdShowListener() { @Override public void onClose() { finish(); } }); getSupportFragmentManager().beginTransaction().replace(R.id.fl_splash_ad, splashADFragment).commitAllowingStateLoss(); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } public void onEventMainThread(SplashAdLoadInfo adLoadInfo) { finish(); } } BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java
@@ -39,7 +39,9 @@ import android.widget.TextView; import android.widget.Toast; import com.androidquery.AQuery; import com.lcjian.library.util.ManifestDataUtil; import com.lcjian.library.util.common.ClipboardUtil; import com.lcjian.library.util.common.StringUtils; import com.umeng.analytics.MobclickAgent; import com.weikou.beibeivideo.R; @@ -66,11 +68,14 @@ private Runnable playerJSRunnable = null; private AQuery query; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFormat(PixelFormat.TRANSLUCENT); setContentView(R.layout.browser_fengxing_activity); query = new AQuery(this); TopStatusSettings.setStatusViewAndDeepColor(this); tv_top_bar_left = findViewById(R.id.tv_top_bar_left); @@ -78,6 +83,41 @@ tv_title = findViewById(R.id.tv_title); tv_right = findViewById(R.id.tv_right); tv_right.setOnClickListener(this); query.id(R.id.tv_more).clicked(this); query.id(R.id.fl_menu).clicked(new OnClickListener() { @Override public void onClick(View v) { hiddenMenu(); } }); query.id(R.id.tv_refresh).clicked(new OnClickListener() { @Override public void onClick(View v) { hiddenMenu(); webview.reload(); } }); query.id(R.id.tv_copy).clicked(new OnClickListener() { @Override public void onClick(View v) { hiddenMenu(); ClipboardUtil.copy(getApplicationContext(), tv_url.getText().toString()); Toast.makeText(VideoPlayerBrowserActivity.this, "复制成功", Toast.LENGTH_SHORT).show(); } }); query.id(R.id.tv_open).clicked(new OnClickListener() { @Override public void onClick(View v) { hiddenMenu(); String url = tv_url.getText().toString(); Uri uri = Uri.parse(url); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } }); fl_webview = findViewById(R.id.fl_webview); @@ -108,6 +148,7 @@ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, "shouldOverrideUrlLoading:" + url); tv_url.setText(webview.getUrl()); return super.shouldOverrideUrlLoading(view, url); } @@ -133,7 +174,7 @@ return true; } else if (url.contains("/tbopen/") || url.startsWith("tbopen://")) { return true; } else if (url.startsWith("tenvideo2://") || url.startsWith("iqiyi://")||url.startsWith("youku://")) { } else if (url.startsWith("tenvideo2://") || url.startsWith("iqiyi://") || url.startsWith("youku://")) { try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); @@ -248,6 +289,14 @@ String url = getIntent().getStringExtra("url"); webview.loadUrl(url); tv_url.setText(url); } private void hiddenMenu() { query.id(R.id.fl_menu).visibility(View.GONE); } private void showMenu() { query.id(R.id.fl_menu).visibility(View.VISIBLE); } // 文件下载监听 @@ -413,6 +462,13 @@ findViewById(R.id.top).setVisibility(View.GONE); } break; case R.id.tv_more: if (query.id(R.id.fl_menu).getView().getVisibility() == View.VISIBLE) hiddenMenu(); else showMenu(); break; default: break; } BuWanVideo/src/com/weikou/beibeivideo/util/ad/SplashAdUtil.java
@@ -1,6 +1,7 @@ package com.weikou.beibeivideo.util.ad; import android.app.Activity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; @@ -14,6 +15,7 @@ import com.qq.e.ads.splash.SplashADListener; import com.qq.e.comm.util.AdError; import com.weikou.beibeivideo.entity.ad.AdTypeVO; import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.DimenUtils; import com.weikou.beibeivideo.util.downutil.StringUtils; @@ -30,7 +32,7 @@ * @param tv_time * @param splashAdListener */ public static void loadAD(String pid, AdUtil.AD_TYPE adType, Activity context, final View skip, ViewGroup vg_ad, final TextView tv_time, final SplashAdListener splashAdListener) { public static void loadAD(String pid, AdUtil.AD_TYPE adType, Context context, final View skip, ViewGroup vg_ad, final TextView tv_time, final SplashAdListener splashAdListener) { if (adType == null) { splashAdListener.close(); return; @@ -44,12 +46,14 @@ } } private static void loadGDT(String code, Activity context, final View skip, ViewGroup vg_ad, final TextView tv_time, final SplashAdListener splashAdListener) { private static SplashAD gdtSplashAD; private static void loadGDT(String code, Context context, final View skip, ViewGroup vg_ad, final TextView tv_time, final SplashAdListener splashAdListener) { String channel = ManifestDataUtil.getAppMetaData(context, "UMENG_CHANNEL"); if (StringUtils.isNullOrEmpty(code)) code = BeibeiConstant.GDT_SPLASH_POSITION_ID; new SplashAD(context, skip, code, new SplashADListener() { gdtSplashAD = new SplashAD(context, skip, code, new SplashADListener() { @Override public void onADDismissed() { splashAdListener.close(); @@ -93,15 +97,12 @@ @Override public void onADLoaded(long l) { System.out.println(""); skip.post(new Runnable() { @Override public void run() { skip.setVisibility(View.VISIBLE); } }); // gdtSplashAD.preLoad(); // System.out.println(""); splashAdListener.onAdLoad(new SplashAdLoadInfo(gdtSplashAD, l)); } }, 0).fetchAndShowIn(vg_ad); }, 0); gdtSplashAD.fetchAdOnly(); } @@ -113,7 +114,7 @@ * @param vg_ad * @param splashAdListener */ private static void loadCSJ(String code, Activity context, final View skip, final ViewGroup vg_ad, final SplashAdListener splashAdListener) { private static void loadCSJ(String code, Context context, final View skip, final ViewGroup vg_ad, final SplashAdListener splashAdListener) { skip.setVisibility(View.GONE); TTAdManager ttAdManager = TTAdManagerHolder.get(); TTAdNative mTTAdNative = ttAdManager.createAdNative(context.getApplicationContext()); @@ -124,7 +125,6 @@ width = 720; if (height == 0) height = 1080; String channel = ManifestDataUtil.getAppMetaData(context, "UMENG_CHANNEL"); if (StringUtils.isNullOrEmpty(code)) code = CSJConstant.SPLASH_AD; @@ -151,37 +151,19 @@ splashAdListener.noAd(); return; } View view = ad.getSplashView(); vg_ad.removeAllViews(); //把SplashView 添加到ViewGroup中 vg_ad.addView(view); //设置SplashView的交互监听器 ad.setSplashInteractionListener(new TTSplashAd.AdInteractionListener() { @Override public void onAdClicked(View view, int type) { } @Override public void onAdShow(View view, int type) { } splashAdListener.onAdLoad(new SplashAdLoadInfo(gdtSplashAD, System.currentTimeMillis()+1000*60*30L)); @Override public void onAdSkip() { splashAdListener.close(); } @Override public void onAdTimeOver() { splashAdListener.close(); } }); } }); },4000); } public interface SplashAdListener { public void onAdLoad(SplashAdLoadInfo adLoadInfo); public void close(); public void noAd();