From 7f0825f8195a522ed7e8bcdb6347f3a719e06c74 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 16 六月 2025 15:29:44 +0800 Subject: [PATCH] 新版穿山甲接入/拦截应用宝链接跳转至应用市场 --- BuWanVideo/build.gradle | 16 + BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java | 4 BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java | 11 + BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java | 29 ++++ BuWanVideo/res/values/strings.xml | 2 BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java | 46 ------- BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java | 57 ++++++--- BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java | 9 + BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java | 29 +++- build.gradle | 9 + BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java | 9 BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java | 13 +- BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java | 2 BuWanVideo/res/layout/activity_register.xml | 1 BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java | 4 BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java | 3 BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java | 9 + BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java | 14 ++ BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java | 11 + /dev/null | 0 BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java | 6 library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java | 4 BuWanVideo/res/layout/act_phone_login.xml | 1 BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar | 0 BuWanVideo/res/layout/activity_forget_pwd.xml | 55 +++++++++ BuWanVideo/AndroidManifest.xml | 3 26 files changed, 247 insertions(+), 100 deletions(-) diff --git a/BuWanVideo/AndroidManifest.xml b/BuWanVideo/AndroidManifest.xml index e0261db..9edbc02 100644 --- a/BuWanVideo/AndroidManifest.xml +++ b/BuWanVideo/AndroidManifest.xml @@ -79,6 +79,7 @@ android:largeHeap="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true" + android:extractNativeLibs="true" android:debuggable="false" tools:replace="android:allowBackup"> @@ -337,7 +338,7 @@ android:value="570f28a578d6e12cba6f7f200b8d1c83"></meta-data> <meta-data android:name="UMENG_CHANNEL" - android:value="oppo"></meta-data> + android:value="huawei"></meta-data> <provider diff --git a/BuWanVideo/build.gradle b/BuWanVideo/build.gradle index 9346e50..0a72290 100644 --- a/BuWanVideo/build.gradle +++ b/BuWanVideo/build.gradle @@ -59,6 +59,7 @@ implementation files('libs/nb_trade-4.0.0.27.aar') implementation files('libs/nb_trade-4.0.0.27.aar') implementation files('libs/open_ad_6.1.7.2_841bfa881_2394g.aar') + implementation files('libs/open_ad_sdk_6.8.1.7.aar') implementation 'androidx.cardview:cardview:1.0.0' @@ -100,8 +101,10 @@ // } // implementation('com.volcengine:apm_insight_crash:1.4.2') // implementation('com.volcengine:apm_insight_sdk:1.0.3') - implementation 'com.pangle.cn:mediation-sdk:6.6.0.7' - implementation ('com.pangle.cn:pangrowth-dpsdk:5.2.1.0'){ +// implementation 'com.pangle.cn:mediation-sdk:6.6.0.7' + + + implementation('com.pangle.cn:pangrowth-dpsdk:5.2.1.0') { exclude group: 'com.pangle.cn', module: 'adclog' } implementation 'com.pangle.cn:pangrowth-base:2.7.0.0' @@ -121,6 +124,8 @@ implementation 'com.apkfuns.log2file:log2file:1.3.1' implementation "org.jetbrains.kotlin:kotlin-reflect:1.4.10" + + } android { signingConfigs { @@ -134,6 +139,7 @@ useLibrary 'org.apache.http.legacy' compileSdkVersion 29 buildToolsVersion '29.0.2' + compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 @@ -158,10 +164,10 @@ defaultConfig { applicationId "com.doudou.ysvideo" - versionCode 153 - versionName "3.11.2" + versionCode 154 + versionName "3.11.3" multiDexEnabled = true - minSdkVersion 21 + minSdkVersion 24 targetSdkVersion 30 ndk { // 32涓�64 diff --git a/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar b/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar deleted file mode 100644 index 6b7305d..0000000 --- a/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar +++ /dev/null Binary files differ diff --git a/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar b/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar new file mode 100644 index 0000000..85abab8 --- /dev/null +++ b/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar Binary files differ diff --git a/BuWanVideo/res/layout/act_phone_login.xml b/BuWanVideo/res/layout/act_phone_login.xml index 106668c..b1d4bf1 100644 --- a/BuWanVideo/res/layout/act_phone_login.xml +++ b/BuWanVideo/res/layout/act_phone_login.xml @@ -169,6 +169,7 @@ android:orientation="vertical"> <TextView + android:id="@+id/tv_user_agreement_text" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="6.5dp" diff --git a/BuWanVideo/res/layout/activity_forget_pwd.xml b/BuWanVideo/res/layout/activity_forget_pwd.xml index c64c52e..9178d61 100644 --- a/BuWanVideo/res/layout/activity_forget_pwd.xml +++ b/BuWanVideo/res/layout/activity_forget_pwd.xml @@ -161,6 +161,61 @@ android:textColor="#F4DE4A" android:textSize="17sp" /> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_marginTop="8dp" + android:orientation="horizontal"> + + <CheckBox + android:visibility="visible" + android:id="@+id/cb_user_agreement" + android:layout_width="15dp" + android:layout_height="15dp" + android:layout_gravity="center_vertical" + android:background="@drawable/selector_user_agreement_checkbox" + android:button="@null" + android:checked="false" + android:gravity="center" /> + + + + <TextView + android:id="@+id/tv_user_agreement_click" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="6.5dp" + android:text="鍕鹃�夊嵆浠h〃鍚屾剰" + android:textColor="@color/login_protocol_text_color" + android:textSize="11sp" /> + + <TextView + android:id="@+id/tv_user_agreement" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/user_agreement" + android:textColor="@color/login_protocol_highlight_text_color" + android:textSize="11sp" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="銆�" + android:textColor="@color/login_protocol_text_color" + android:textSize="11sp" /> + + <TextView + android:id="@+id/tv_privacy_policy" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/privacy_policy" + android:textColor="@color/login_protocol_highlight_text_color" + android:textSize="11sp" /> + + </LinearLayout> + + </LinearLayout> </ScrollView> diff --git a/BuWanVideo/res/layout/activity_register.xml b/BuWanVideo/res/layout/activity_register.xml index 6ef10c3..431df08 100644 --- a/BuWanVideo/res/layout/activity_register.xml +++ b/BuWanVideo/res/layout/activity_register.xml @@ -190,6 +190,7 @@ <TextView + android:id="@+id/tv_user_agreement_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.5dp" diff --git a/BuWanVideo/res/values/strings.xml b/BuWanVideo/res/values/strings.xml index 3782ae4..c917aef 100644 --- a/BuWanVideo/res/values/strings.xml +++ b/BuWanVideo/res/values/strings.xml @@ -1,5 +1,5 @@ <resources> - <string name="app_name">褰辫澶у叏</string> + <string name="app_name">褰辫澶у叏闊╁墽</string> <string name="recommend">瑙嗛</string> <string name="category">鍒嗙被</string> <string name="discover">鍙戠幇</string> diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java index b0fe8d0..4c62e91 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java @@ -24,6 +24,7 @@ import com.apkfuns.logutils.LogUtils; import com.bytedance.sdk.djx.DJXSdk; import com.bytedance.sdk.djx.DJXSdkConfig; +import com.bytedance.sdk.djx.IDJXPrivacyController; import com.bytedance.sdk.djx.model.DJXError; import com.bytedance.sdk.dp.DPSdk; import com.bytedance.sdk.dp.DPSdkConfig; @@ -578,8 +579,12 @@ public static void initDJ(Application application){ try{ - DJXSdk.init(application, "SDK_Setting_5095354.json", new DJXSdkConfig.Builder().debug(true).build()); - + DJXSdk.init(application, "SDK_Setting_5095354.json", new DJXSdkConfig.Builder().privacyController(new IDJXPrivacyController() { + @Override + public boolean isOnlyICPNumber() { + return true; + } + }).debug(true).build()); DJXSdk.start(new DJXSdk.StartListener() { @Override public void onStartComplete(boolean b, String s, @Nullable DJXError djxError) { diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java index 54ecfd4..85fccce 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java @@ -9,6 +9,7 @@ import android.os.Handler; import android.os.Message; import android.view.View; +import android.widget.CheckBox; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; @@ -41,6 +42,7 @@ private TextView tv_obtain_verfication_code; private EditText et_pwd; private TextView tv_confirm; + private CheckBox cb_user_agreement; @Override protected void onCreate(Bundle arg0) { @@ -55,41 +57,59 @@ tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code); et_pwd = (EditText) findViewById(R.id.et_pwd); tv_confirm = (TextView) findViewById(R.id.tv_confirm); + cb_user_agreement = findViewById(R.id.cb_user_agreement); tv_obtain_verfication_code.setOnClickListener(this); tv_confirm.setOnClickListener(this); findViewById(R.id.tv_back).setOnClickListener(this); + findViewById(R.id.tv_user_agreement_click).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + cb_user_agreement.setChecked(!cb_user_agreement.isChecked()); + } + }); } @Override public void onClick(View v) { switch (v.getId()) { - case R.id.tv_obtain_verfication_code: + case R.id.tv_obtain_verfication_code: { String email = et_email.getText().toString(); if (StringUtils.isEmpty(email)) { SingleToast.showToast(ForgetPwdActivity.this, "璇峰厛杈撳叆閭鍙�"); return; - } else { - Matcher m = IsEmail.isEmailAddress().matcher(email); - if (m.matches()) { - getVerficationCode(email); - } else { - SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒"); - return; - } } - break; - case R.id.tv_confirm: + if (!cb_user_agreement.isChecked()) { + SingleToast.showToast(ForgetPwdActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��"); + return; + } + Matcher m = IsEmail.isEmailAddress().matcher(email); + if (m.matches()) { + getVerficationCode(email); + } else { + SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒"); + return; + } + } + + break; + case R.id.tv_confirm: { String str = et_email.getText().toString(); if (StringUtils.isEmpty(str)) { SingleToast.showToast(ForgetPwdActivity.this, "璇峰厛杈撳叆閭鍙�"); return; - } else { - Matcher m = IsEmail.isEmailAddress().matcher(str); - if (!m.matches()) { - SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒"); - return; - } } + + if (!cb_user_agreement.isChecked()) { + SingleToast.showToast(ForgetPwdActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��"); + return; + } + + Matcher m = IsEmail.isEmailAddress().matcher(str); + if (!m.matches()) { + SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒"); + return; + } + if (StringUtils.isEmpty(et_pwd.getText().toString())) { SingleToast.showToast(ForgetPwdActivity.this, "瀵嗙爜涓嶈兘涓虹┖锛�"); return; @@ -99,7 +119,8 @@ return; } revisePwd(); - break; + } + break; case R.id.tv_back: finish(); break; diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java index 9fc7bae..ba0c2eb 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java @@ -105,6 +105,15 @@ if (!login) { openOneKeyLogin(false); } + + findViewById(R.id.tv_user_agreement_text).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + cb_user_agreement.setChecked(!cb_user_agreement.isChecked()); + } + }); + + } @@ -231,6 +240,11 @@ SingleToast.showToast(this, "璇疯緭鍏ユ纭殑鎵嬫満鍙�"); break; } + if (!cb_user_agreement.isChecked()) { + SingleToast.showToast(this, "璇峰悓鎰忕敤鎴蜂娇鐢ㄥ崗璁笌闅愮鏀跨瓥"); + break; + } + tv_obtain_verfication_code.setEnabled(false); if (login) { sendLoginVerifyCode(phone); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java index c1a3155..ae45c14 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java @@ -70,6 +70,12 @@ findViewById(R.id.tv_back).setOnClickListener(this); findViewById(R.id.tv_user_agreement).setOnClickListener(this); findViewById(R.id.tv_privacy_policy).setOnClickListener(this); + findViewById(R.id.tv_user_agreement_click).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + cb_user_agreement.setChecked(!cb_user_agreement.isChecked()); + } + }); } @Override @@ -100,6 +106,11 @@ break; } + if (!cb_user_agreement.isChecked()) { + SingleToast.showToast(RegisterActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��"); + break; + } + Matcher m = IsEmail.isEmailAddress().matcher(email); if (m.matches()) { tv_obtain_verfication_code.setEnabled(false); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java index 8fb2e8b..4ea5d14 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java @@ -370,6 +370,9 @@ //闅愯棌鍜ㄨ涓庡皬璇� mAQuery.id(R.id.rb_nav_discover).visibility(View.GONE); mAQuery.id(R.id.rb_nav_novel).visibility(View.GONE); + if(AndroidManifestUtil.isOppoChannel(getApplicationContext())){ + mAQuery.id(R.id.rb_nav_short_tv).visibility(View.GONE); + } } private void setSearchBarVisibility() { diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java index 7e36d35..628c991 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java @@ -510,7 +510,7 @@ if ("vivo".equalsIgnoreCase(AndroidManifestUtil.getChannel(getContext()))) { return; } - if( AndroidManifestUtil.isHuaWeiChannel(getContext())){ + if (AndroidManifestUtil.isHuaWeiChannel(getContext())) { return; } @@ -520,10 +520,10 @@ } AdUtil.AD_TYPE adType = AdUtil.AD_TYPE.gdt2; - if(AndroidManifestUtil.isOppoChannel(getContext())){ + if (AndroidManifestUtil.isOppoChannel(getContext())) { adType = null; } - new ExpressAdManager(adType , getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() { + new ExpressAdManager(adType, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { @@ -532,7 +532,7 @@ if (getActivity() == null) return; - ExpressAdManager.renderAd(getActivity(), adList.get(0), new ExpressAdManager.IAdRenderListener() { + ExpressAdManager.renderAd(getActivity(), adList.get(0), ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, new ExpressAdManager.IAdRenderListener() { @Override public void onRenderSuccess(List<ExpressAdContainer> adList) { ExpressAdManager.fillAd(adList.get(0), fl_native_ad1); @@ -551,11 +551,12 @@ } else { //鍔犺浇绌垮北鐢� - new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(getContext())? AdUtil.AD_TYPE.hw :AdUtil.AD_TYPE.csj, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() { + ExpressAdManager expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(getContext()) ? AdUtil.AD_TYPE.hw : AdUtil.AD_TYPE.csj, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, getContext()); + expressAdManager.loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() { + expressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad1, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, new ExpressAdManager.IAdEventListener() { @Override public void closeAd(ExpressAdContainer ad) { fl_native_ad1.removeAllViews(); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java index 9913f6b..af2b661 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java @@ -567,9 +567,14 @@ } } else if (playUrl.getResource().getName().contains("椋庤")) { + boolean canPlayNative = true; + if(!AndroidManifestUtil.isHonorChannel(getApplicationContext())){ + canPlayNative = false; + } + if(playUrl.getPlayType() == 2){ - // 涓嶆槸vivo涓婄嚎 - if(!AndroidManifestUtil.isVIVOChannel(getApplicationContext())){ + // 涓嶆槸涓婄嚎 + if(!canPlayNative){ playUrl.setPlayType(1); } } @@ -584,7 +589,7 @@ startActivity(intent); saveWatchHistory("椋庤"); initPlayer(); - } else if (playUrl.getPlayType() == 2 && AndroidManifestUtil.isVIVOChannel(getApplicationContext())) {//SDK鎾斁 + } else if (playUrl.getPlayType() == 2 &&canPlayNative) {//SDK鎾斁 //鎾斁椋庤瑙嗛 //娣诲姞椋庤鎾斁椤� // mFunshionPlayerFragment = new FunshionPlayerFragment(); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java index 0989343..d592971 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java @@ -456,52 +456,6 @@ } } - /** - * 骞跨偣閫氬師鐢熷箍鍛� - */ - // 鍔犺浇鎾斁椤电浜屾潯骞垮憡 - private void loadAD2() { - new ExpressAdManager(AdUtil.AD_TYPE.gdt2, getContext()).loadVideoDetailRelativeVideoBottomAd(new ExpressAdManager.IAdLoadListener() { - @Override - public void onSuccess(List<ExpressAdContainer> adList) { - if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAd(getActivity(), adList.get(0), new ExpressAdManager.IAdRenderListener() { - @Override - public void onRenderSuccess(List<ExpressAdContainer> adList) { - ExpressAdManager.fillAd(adList.get(0), fl_native_ad_1); - } - - @Override - public void onRenderFail(List<ExpressAdContainer> adList) { - - } - }, new ExpressAdManager.IAdEventListener() { - - @Override - public void closeAd(ExpressAdContainer ad) { - fl_native_ad_1.removeAllViews(); - } - }); - } else { - new ExpressAdManager(AdUtil.AD_TYPE.csj, getContext()).loadVideoDetailRelativeVideoBottomAd(new ExpressAdManager.IAdLoadListener() { - @Override - public void onSuccess(List<ExpressAdContainer> adList) { - if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad_1, new ExpressAdManager.IAdEventListener() { - @Override - public void closeAd(ExpressAdContainer ad) { - fl_native_ad_1.removeAllViews(); - } - }); - } - } - }); - } - - } - }); - } - @Override public void onDestroy() { if (rv_video_related_video != null && adRunnable != null) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java index ccde355..681a65f 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java @@ -415,13 +415,13 @@ try { // ExpressAdManager recommendAdManager = new ExpressAdManager(AdUtil.AD_TYPE.hw, context); - ExpressAdManager recommendAdManager = new ExpressAdManager(adType, context); + ExpressAdManager recommendAdManager = new ExpressAdManager(adType,ExpressAdManager.POSITION_RECOMMEND, context); recommendAdManager.loadRecommendLargeAd(new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(final List<ExpressAdContainer> adList) { RecommendFragment.this.adList = new ArrayList<>(); for (ExpressAdContainer ad : adList) { - ExpressAdManager.renderAd(getActivity(), ad, new ExpressAdManager.IAdRenderListener() { + ExpressAdManager.renderAd(getActivity(), ad, ExpressAdManager.POSITION_RECOMMEND, new ExpressAdManager.IAdRenderListener() { @Override public void onRenderSuccess(List<ExpressAdContainer> adList1) { RecommendFragment.this.adList.add(adList1.get(0)); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java index e9848af..da66dc9 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java @@ -465,11 +465,12 @@ @Override public void run() { int width = fl_advertisement.getWidth() - fl_advertisement.getPaddingLeft() - fl_advertisement.getPaddingRight(); - new ExpressAdManager(adType, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() { + ExpressAdManager adManager = new ExpressAdManager(adType,ExpressAdManager.POSITION_SEARCH, getApplicationContext()); + adManager.loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, new ExpressAdManager.IAdEventListener() { + adManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, ExpressAdManager.POSITION_SEARCH, new ExpressAdManager.IAdEventListener() { @Override public void closeAd(ExpressAdContainer ad) { fl_advertisement.removeAllViews(); @@ -485,11 +486,11 @@ // if (AndroidManifestUtil.isHuaWeiChannel(getApplicationContext())) // newAdType = AdUtil.AD_TYPE.hw; - new ExpressAdManager(newAdType, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() { + new ExpressAdManager(newAdType,ExpressAdManager.POSITION_SEARCH, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, new ExpressAdManager.IAdEventListener() { + ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement,ExpressAdManager.POSITION_SEARCH, new ExpressAdManager.IAdEventListener() { @Override public void closeAd(ExpressAdContainer ad) { fl_advertisement.removeAllViews(); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java index ee2bfb3..8c743b8 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java @@ -100,7 +100,7 @@ final ExpressAdContainer ad = videoContent.getAd(); viewHolder.fl_ad.removeAllViews(); //娓叉煋 - ExpressAdManager.renderAndFillAd(mContext, ad, viewHolder.fl_ad, new ExpressAdManager.IAdEventListener() { + ExpressAdManager.renderAndFillAd(mContext, ad, viewHolder.fl_ad, ExpressAdManager.POSITION_RECOMMEND, new ExpressAdManager.IAdEventListener() { @Override public void closeAd(ExpressAdContainer ad) { contentList.remove(videoContent); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java index d18af86..59c97ef 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java @@ -53,6 +53,7 @@ import com.weikou.beibeivideo.util.ui.TopStatusSettings; import com.yeshi.video.player.util.PlayerFullScreenUtil; +import java.net.URI; import java.util.Set; public class VideoPlayerBrowserActivity extends BaseActivity implements OnClickListener { @@ -186,6 +187,7 @@ prefixSet.add("iqiyi://"); prefixSet.add("youku://"); prefixSet.add("imgotv://"); + prefixSet.add("txvideo://"); for (String prefix : prefixSet) { if (url.startsWith(prefix)) { @@ -199,6 +201,33 @@ } return true; } + else if (url.contains("/a.app.qq.com/")&&url.contains("com.qiyi.video")) { + Uri uri = Uri.parse(url); + if(uri!=null) { + String packageName = uri.getQueryParameter("pkgname"); + if(packageName==null){ + return false; + } + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(VideoPlayerBrowserActivity.this, "姝e湪鎵撳紑搴旂敤甯傚満...", Toast.LENGTH_SHORT).show(); + } + }); + + try { + // 浼樺厛灏濊瘯Google Play + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName))); + } catch (ActivityNotFoundException e) { + // 濡傛灉Google Play涓嶅瓨鍦紝灏濊瘯鍏朵粬甯傚満 + try { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("amzn://apps/android?p=" + packageName))); + } catch (ActivityNotFoundException e2) { + } + } + return true; + } + } return super.shouldOverrideUrlLoading(view, request); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java index 6622cca..f2d7b64 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java @@ -52,7 +52,7 @@ AdUtil.AD_TYPE adType = AdUtil.getAdType(context, AdPositionEnum.exitApp); if (adType == AdUtil.AD_TYPE.gdt) adType = AdUtil.AD_TYPE.gdt2; - expressAdManager = new ExpressAdManager(adType, context); + expressAdManager = new ExpressAdManager(adType, ExpressAdManager.POSITION_EXIT, context); } @@ -153,12 +153,12 @@ public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { - ExpressAdManager.renderAd(context, adList.get(0), new ExpressAdManager.IAdRenderListener() { + ExpressAdManager.renderAd(context, adList.get(0),ExpressAdManager.POSITION_EXIT, new ExpressAdManager.IAdRenderListener() { @Override public void onRenderSuccess(List<ExpressAdContainer> adList) { expressAdContainer = adList.get(0); if (show) { - ExpressAdManager.renderAndFillAd(context, adList.get(0), fl_advertisement, new IAdEventListener() { + ExpressAdManager.renderAndFillAd(context, adList.get(0), fl_advertisement, ExpressAdManager.POSITION_EXIT, new IAdEventListener() { @Override public void closeAd(ExpressAdContainer ad) { fl_advertisement.removeAllViews(); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java index 3a59758..b41892a 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java @@ -39,12 +39,19 @@ import com.weikou.beibeivideo.util.DimenUtils; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * 淇℃伅娴佸箍鍛婄鐞� */ public class ExpressAdManager { + public final static String POSITION_RECOMMEND = "recommend"; + public final static String POSITION_SEARCH = "search"; + public final static String POSITION_SEARCH_RESULT = "search_result"; + public final static String POSITION_VIDEO_DETAIL_PLAYER_BOTTOM = "video_detail_player_bottom"; + public final static String POSITION_EXIT = "exit"; final static String TAG = "ExpressAdManager"; @@ -53,9 +60,10 @@ private TTAdNative mTTAdNative; private Context mContext; + private static Set<String> closedAdPositions = new HashSet<>();// 鏄惁宸茬粡鍏抽棴骞垮憡 + private String positionName; - - public ExpressAdManager(AdUtil.AD_TYPE adSource, Context context) { + public ExpressAdManager(AdUtil.AD_TYPE adSource, String positionName, Context context) { sourceType = adSource; this.mContext = context; if (sourceType == AdUtil.AD_TYPE.csj) { @@ -67,6 +75,7 @@ e.printStackTrace(); } } + this.positionName = positionName; } @@ -81,6 +90,10 @@ * @param adLoadListener */ public void loadAd(int widthDP, int heightDP, String pid, int count, final IAdLoadListener adLoadListener) { + if (closedAdPositions.contains(positionName)) { + // 骞垮憡宸茬粡鍏抽棴 + return; + } if (sourceType == AdUtil.AD_TYPE.gdt || sourceType == AdUtil.AD_TYPE.gdt2) { loadGDT(pid, widthDP, heightDP, count, new IGDTAdLoadListener() { @Override @@ -159,7 +172,7 @@ * @param adLoadListener */ public void loadVideoDetailPlayerBottomAd(final IAdLoadListener adLoadListener) { - if(sourceType==null){ + if (sourceType == null) { return; } Log.i(TAG, "loadVideoDetailPlayerBottomAd"); @@ -269,7 +282,7 @@ int height = (int) (widthDP / 1.78f); if (sourceType == AdUtil.AD_TYPE.csj) { pid = CSJConstant.VIDEO_SEARCH; - height=0; + height = 0; } else if (sourceType == AdUtil.AD_TYPE.gdt2) { pid = BeibeiConstant.GDT_SEARCH_NATIVE; } else if (sourceType == AdUtil.AD_TYPE.hw) { @@ -486,7 +499,7 @@ * @param fl_ad * @param adEventListener */ - public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, final IAdEventListener adEventListener) { + public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, String positionName, final IAdEventListener adEventListener) { if (ad == null) {//骞垮憡涓虹┖ fl_ad.setVisibility(View.GONE); @@ -521,6 +534,7 @@ if (adEventListener != null) { adEventListener.closeAd(ad); } + closedAdPositions.add(positionName); } @@ -550,6 +564,7 @@ if (adEventListener != null) { adEventListener.closeAd(ad); } + closedAdPositions.add(positionName); } }); @@ -573,7 +588,7 @@ * @param adRenderListener * @param adEventListener */ - public static void renderAd(Activity activity, final ExpressAdContainer ad, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) { + public static void renderAd(Activity activity, final ExpressAdContainer ad, String positionName, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) { if (ad == null) {//骞垮憡涓虹┖ return; @@ -629,6 +644,7 @@ if (adEventListener != null) { adEventListener.closeAd(ad); } + closedAdPositions.add(positionName); } @@ -650,6 +666,7 @@ if (adEventListener != null) { adEventListener.closeAd(ad); } + closedAdPositions.add(positionName); } }); diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java index 4be5c22..9eb4aaa 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java @@ -9,6 +9,7 @@ import com.bytedance.sdk.openadsdk.TTAdManager; import com.bytedance.sdk.openadsdk.TTAdSdk; import com.bytedance.sdk.openadsdk.TTCustomController; +import com.lcjian.library.util.common.AndroidManifestUtil; import com.lcjian.library.util.common.DeviceUtil; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.ad.AdPositionEnum; @@ -81,6 +82,14 @@ public String getDevImei() { return DeviceUtil.getImeiCache(context); } + + @Override + public boolean alist() { + if(AndroidManifestUtil.isHonorChannel(context)){ + return false; + } + return super.alist(); + } }); //.httpStack(new MyOkStack3())//鑷畾涔夌綉缁滃簱锛宒emo涓粰鍑轰簡okhttp3鐗堟湰鐨勬牱渚嬶紝鍏朵綑璇疯嚜琛屽紑鍙戞垨鑰呭挩璇㈠伐浣滀汉鍛樸�� //if (AdUtil.getAdType(context, AdPositionEnum.splashHotStart) != null) { diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java index 4900fe7..e6aec65 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java @@ -24,7 +24,7 @@ mContext = context; if (expressAdManager == null) // expressAdManager = new ExpressAdManager(AdUtil.AD_TYPE.gdt2, mContext); - expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(context)? AdUtil.AD_TYPE.hw:AdUtil.AD_TYPE.gdt2, mContext); + expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(context)? AdUtil.AD_TYPE.hw:AdUtil.AD_TYPE.gdt2,ExpressAdManager.POSITION_SEARCH_RESULT, mContext); } public static SearchResultAdManager getInstance(Context context) { @@ -47,7 +47,7 @@ if (adList != null) for (ExpressAdContainer ad : adList) - ExpressAdManager.renderAd(null, ad, new ExpressAdManager.IAdRenderListener() { + ExpressAdManager.renderAd(null, ad, ExpressAdManager.POSITION_SEARCH_RESULT, new ExpressAdManager.IAdRenderListener() { @Override public void onRenderSuccess(List<ExpressAdContainer> adList) { if (adList != null) diff --git a/build.gradle b/build.gradle index 3ca261d..3748248 100644 --- a/build.gradle +++ b/build.gradle @@ -12,6 +12,11 @@ maven { url "https://artifact.bytedance.com/repository/pangle/" } + + maven { + url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_support/" + } + maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" } @@ -52,6 +57,10 @@ maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" } + maven { + url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_support/" + } + maven { url "https://maven.aliyun.com/repository/public" diff --git a/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java b/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java index b7e3ffb..2e649eb 100644 --- a/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java +++ b/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java @@ -22,6 +22,10 @@ return "huawei".equalsIgnoreCase(getChannel(context)); } + public static boolean isHonorChannel(Context context) { + return "honor".equalsIgnoreCase(getChannel(context)); + } + public static boolean isOppoChannel(Context context) { return "oppo".equalsIgnoreCase(getChannel(context)); } -- Gitblit v1.8.0