Commit 81f8098b authored by mengcuiguang's avatar mengcuiguang

添加三方sdk,代码优化

parent 70821062
......@@ -33,6 +33,7 @@ android {
}
manifestPlaceholders = [CHANNEL_NAME_VALUE: "mints",
UMENG_KEY : RELEASE_UMENG_KEY,
SHARE_KEY : RELEASE_SHARESDK_KEY,
SHARE_SECRET : RELEASE_SHARESDK_SECRET]
......@@ -157,11 +158,17 @@ dependencies {
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
// 65536
implementation 'androidx.multidex:multidex:2.0.0'
// jsbridge
implementation 'com.github.lzyzsd:jsbridge:1.0.4'
//下拉刷新
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-26'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-26'
//类似sharedPreference
implementation 'net.grandcentrix.tray:tray:0.12.0'
// 动画库
implementation 'com.daimajia.easing:library:2.0@aar'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
// 工具类
// gson
......@@ -171,17 +178,44 @@ dependencies {
// 三方接入
// leakcanary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4'
// 移动安全联盟
implementation(name: 'msa_mdid_1.0.13', ext: 'aar')
// 穿山甲广告
implementation(name: 'open_ad_sdk', ext: 'aar')
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
// 广点通广告 腾讯
implementation(name: 'GDTSDK.unionNormal.4.232.1102', ext: 'aar')
// shareSdk
implementation project(':shareSdkLib')
// umeng
implementation 'com.umeng.umsdk:analytics:8.0.0'
implementation 'com.umeng.umsdk:common:2.0.0'
// TalkingDada
// implementation files('libs/SaaS_AppAnalytics_Android_SDK_V4.0.36.jar')
// aliyun OSS
implementation 'com.aliyun.dpa:oss-android-sdk:+'
implementation files('libs/SaaS_AppAnalytics_Android_SDK_V4.0.36.jar')
// 一览视频
implementation("com.yilan.sdk:ui:2.0.0.4") {
exclude group: 'com.yilan.sdk', module: 'toutiao'
exclude group: 'com.yilan.sdk', module: 'gdt'
}
implementation "com.yilan.sdk:ad:2.0.0.4"
implementation('com.aliyun.ams:alicloud-android-httpdns:1.2.3@aar') {
transitive true
}
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// 数美
implementation files('libs/smantifraud.aar')
// 猎豹游戏
implementation(name: 'cmgame-sdk-tt2203-2.0.3', ext: 'aar')
implementation(name: 'x5fit-2.0.3', ext: 'aar')
implementation(name: 'gdtfit-2.0.3', ext: 'aar')
implementation files("libs/qq_x5.jar")
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}
......@@ -124,9 +124,9 @@
#忽略警告
-dontwarn com.mints.goodmoney.mvp.mode.**
-dontwarn com.mints.goodmoney.mvp.model.**
#保留实体类
-keep class com.mints.goodmoney.mvp.mode.** {
-keep class com.mints.goodmoney.mvp.model.** {
*;
}
......@@ -293,6 +293,20 @@
# ======================= shareSDK END ===============
# ===================== JZVedio START ================
-keep public class cn.jzvd.JZMediaSystem {*; }
-keep public class cn.jzvd.demo.CustomMedia.CustomMedia {*; }
-keep public class cn.jzvd.demo.CustomMedia.JZMediaIjk {*; }
-keep public class cn.jzvd.demo.CustomMedia.JZMediaSystemAssertFolder {*; }
-keep class tv.danmaku.ijk.media.player.** {*; }
-dontwarn tv.danmaku.ijk.media.player.*
-keep interface tv.danmaku.ijk.media.player.** { *; }
# ======================= JZVedio END ================
# ===================== umeng START ================
-keep class com.umeng.** {*;}
-keepclassmembers class * {
......@@ -309,6 +323,13 @@
# ===================== 穿山甲 START ================
-keep class com.bytedance.sdk.openadsdk.** { *; }
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
# ======================= 穿山甲 END ================
# ===================== TalkingData START ================
-dontwarn com.tendcloud.tenddata.**
-keep class com.tendcloud.** {*;}
......@@ -325,16 +346,117 @@
# ===================== oss START ================
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**
# ======================= oss END ================
# ===================== 极光推送 START ================
-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
# ===================== 极光一键登录 ================
-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }
-dontwarn com.cmic.**
-keep class com.cmic.** { *; }
-dontwarn com.unicom.**
-keep class com.unicom.** { *; }
-dontwarn cn.com.chinatelecom.**
-keep class cn.com.chinatelecom.** { *; }
# ======================= 极光推送 END ================
# ===================== 数美 START ================
-keep class com.ishumei.** { *; }
# ======================= 数美 END ================
# ===================== 猎豹游戏 START ================
-keep class com.cmgame.x5fit.** {*;}
-keep class com.cmgame.gdtfit.** {*;}
-keep class com.cmcm.cmgame.** {*;}
# ======================= 猎豹游戏 END ================
# ===================== 移动安全联盟 START ================
-keep class com.bun.miitmdid.core.** {*;}
# ======================= 移动安全联盟 END ================
# ===================== 一览视频 START ================
-keep class com.yilan.sdk.**{
*;
}
-dontwarn sun.misc.Unsafe
-dontwarn org.conscrypt.*
###阿里云混淆
-keep class com.alibaba.sdk.android.**{*;}
-keep class com.ut.**{*;}
-keep class com.ta.**{*;}
# ======================= 一览视频 END ================
# ===================== 推啊AD START ================
-dontwarn com.lechuan.midunovel.**
-keep class com.lechuan.midunovel.** { *; }
# ======================= 推啊AD END ================
# ===================== Mintegral START ================
-keep class com.mintegral.** {*; }
-keep interface com.mintegral.** {*; }
-keep class android.support.v4.** { *; }
-dontwarn com.mintegral.**
-keep class **.R$* { public static final int mintegral*; }
-keep class com.alphab.** {*; }
-keep interface com.alphab.** {*; }
# ======================= Mintegral END ================
# ===================== 多盟 START ================
-keep class com.dm.sdk.ads.splash.**{
public <methods>;
}
-keep class com.dm.sdk.common.util.AdError{
public <methods>;
}
-keep class com.dm.sdk.ads.DMAdActivity{
public <methods>;
}
# ======================= 多盟 END ================
# ===================== 创神 START ================
-keep class com.toukeads.code.AdCode{ *;}
-keep class com.toukeads.code.config.**{ *;}
-keep class com.toukeads.code.annotation.**{ *;}
-keep class com.toukeads.code.listener.**{ *;}
-keep class com.toukeads.code.utils.LogUtil{ *;}
-keep class com.toukeads.code.object.AdSave{ *;}
-keep class com.toukeads.code.object.ViewHeaderIm{ *;}
-keep class com.toukeads.code.model.**{ *;}
-keep class com.toukeads.code.server.**{ *;}
-keep class com.toukeads.code.cache.CacheListener{ *;}
-keep class com.toukeads.code.cache.HttpProxyCacheServer{ *;}
# ======================= 创神 END ================
# ===================== 闪电盒子 START ================
-keep class com.wannuosili.sdk.** {*;}
-dontwarn com.wannuosili.sdk.**
# ======================= 闪电盒子 END ================
......@@ -4,10 +4,9 @@
package="com.mints.goodmoney">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application
android:name=".MintsApplication"
......@@ -20,18 +19,33 @@
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<!-- 适配小米(xiaomi)刘海屏 -->
<meta-data
android:name="android.max_aspect"
android:value="2.4" /> <!-- 适配小米(xiaomi)刘海屏 -->
android:value="2.4" />
<meta-data
android:name="android.notch_support"
android:value="true" />
<meta-data
android:name="notch.config"
android:value="portrait|landscape" /> <!-- 渠道名称 -->
android:value="portrait|landscape" />
<!-- 渠道名称 -->
<meta-data
android:name="CHANNEL_NAME"
android:value="${CHANNEL_NAME_VALUE}" /> <!-- TalkingData -->
android:value="${CHANNEL_NAME_VALUE}" />
<!-- 友盟 -->
<meta-data
android:name="UMENG_KEY"
android:value="${UMENG_KEY}" />
<!-- TalkingData -->
<meta-data
android:name="TD_KEY"
android:value="${TD_KEY}" />
<!-- ShareSDK -->
<meta-data
android:name="Mob-AppKey"
android:value="${SHARE_KEY}" />
......@@ -56,10 +70,24 @@
<activity
android:name="com.mints.library.base.BaseWebActivity"
android:theme="@style/AppTheme.NoneTranslucent" />
<activity
android:name=".ui.activitys.LoginActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTop" />
<activity
android:name=".ui.activitys.AwardActivity"
android:screenOrientation="portrait" />
<service
android:name=".service.UpdateService"
android:exported="true" /> <!-- ShareSDK start -->
android:exported="true" />
<service
android:name=".InitAppService"
android:enabled="true"
android:exported="false" />
<!-- ShareSDK start -->
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
......@@ -93,11 +121,49 @@
android:name="androidx.core.content.FileProvider"
android:authorities="com.mints.goodmoney.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"
tools:replace="android:resource"/>
</provider>
<!-- 一览 今⽇日头条sdk需添加 -->
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />
<!-- 穿山甲广告 -->
<provider
android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
android:authorities="${applicationId}.TTFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
android:resource="@xml/file_paths" />
</provider>
<!-- 广点通广告 -->
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<service
android:name="com.qq.e.comm.DownloadService"
android:exported="false" />
<activity
android:name="com.qq.e.ads.ADActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" />
<activity
android:name="com.qq.e.ads.PortraitADActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait" />
<activity
android:name="com.qq.e.ads.LandscapeADActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="landscape" />
</application>
</manifest>
\ No newline at end of file
package com.mints.goodmoney
import android.app.IntentService
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.manager.OaidManager
import com.mints.goodmoney.manager.ShumeiManager
import com.mints.library.utils.CommonUtils
import com.mob.MobSDK
import com.orhanobut.logger.AndroidLogAdapter
import com.orhanobut.logger.FormatStrategy
import com.orhanobut.logger.Logger
import com.orhanobut.logger.PrettyFormatStrategy
import com.tendcloud.tenddata.TCAgent
import com.umeng.commonsdk.UMConfigure
import com.yilan.sdk.ui.YLUIInit
import com.yilan.sdk.ui.configs.CommentConfig
import com.yilan.sdk.ui.configs.FeedConfig
import com.yilan.sdk.ui.configs.YLUIConfig
import net.grandcentrix.tray.AppPreferences
/**
* 子线程初始化SDK
*/
class InitAppService : IntentService("InitializeService") {
companion object {
const val ACTION_INIT = "initApplication"
var IS_DEBUG = BuildConfig.LOG_DEBUG
/**
* 开启intentService
*/
fun start(context: Context) {
val intent = Intent(context, InitAppService::class.java)
intent.action = ACTION_INIT
context.startService(intent)
}
}
private val ps by lazy { AppPreferences(this) }
private var isInit: Boolean = false
override fun onHandleIntent(intent: Intent?) {
if (isInit) return
intent?.let {
val action = intent.action
if (ACTION_INIT == action) {
initApplication()
isInit = false
}
}
}
/**
* 子线程进行初始化SDK操作
*/
private fun initApplication() {
// 移动安全联盟 oaid
initMsaMdid()
// TalkingData数据埋点与错误日志
TalkingDataConfig()
// 初始化ShareSDK
MobSDK.init(this)
// 友盟初始化
initUm(this)
//logger
initLogger()
// 一览视频
initYL()
// 数美
ShumeiManager.getInstance().initShumei()
}
/**
* 移动安全联盟 oaid
*/
private fun initMsaMdid() {
try {
if (TextUtils.isEmpty(ps.getString(Constant.OAID, ""))) {
OaidManager(object : OaidManager.AppIdsUpdater {
override fun OnIdsAvalid(oaid: String) {
ps.put(Constant.OAID, oaid)
}
}).InitSdk(this)
}
} catch (e: Exception) {
e.printStackTrace()
}
}
/**
* 设置TalkingData
*/
private fun TalkingDataConfig() {
TCAgent.LOG_ON = BuildConfig.DEBUG
val talkingData_id = CommonUtils.getAppMetaData(MintsApplication.getContext(), "TD_KEY")
val td_channel_id = CommonUtils.getAppMetaData(MintsApplication.getContext(), "CHANNEL_NAME")
TCAgent.init(this, talkingData_id, td_channel_id)
TCAgent.setReportUncaughtExceptions(true)
}
/**
* 友盟初始化
*/
fun initUm(context: Context?) {
/**
* 参数4:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机。
* 参数5:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空。
*/
UMConfigure.init(context, CommonUtils.getAppMetaData(MintsApplication.getContext(), "UMENG_KEY"), CommonUtils.getAppMetaData(context, "CHANNEL_NAME"), UMConfigure.DEVICE_TYPE_PHONE, "")
}
/**
* 自定义logger
*/
private fun initLogger() {
if (IS_DEBUG) {
val formatStrategy: FormatStrategy = PrettyFormatStrategy.newBuilder()
.showThreadInfo(false) //是否选择显示线程信息,默认为true
.methodCount(0) //方法数显示多少行,默认2行
.methodOffset(7) //隐藏方法内部调用到偏移量,默认5
.tag("mints---network") //自定义TAG全部标签,默认PRETTY_LOGGER
.build()
Logger.addLogAdapter(AndroidLogAdapter(formatStrategy))
}
}
/**
* 一览视频
*/
private fun initYL() {
YLUIInit.getInstance()
.setCrashOpen(false)
.setApplication(application)
.setAccessKey("yleoq95t1aro")
.setAccessToken("m8de8rdyqiulcymymijh32pgq9pxgh9x")
.build()
//页面个性化配置
YLUIConfig.getInstance() //抖音样式小视频配置
.littleLikeShow(true) //是否显示点赞
.littleShareShow(false) //是否显示分享
.littleComment(CommentConfig.CommentType.DISMISS_COMMENT) //评论,参数详见文档;
//feed流短视频样式配置
.videoComment(CommentConfig.CommentType.DISMISS_COMMENT) //评论,参数详见文档;
.videoLikeShow(false) //是否显示点赞
.videoShareShow(false) //是否显示分享
.followAvailable(false) //关注功能是否可用
.feedAvatarClickable(true) //头像是否支持点击跳转到作者页面
.feedSwipeRefreshEnable(true) //feed是否可以下拉刷新
FeedConfig.getInstance().playerStyle = FeedConfig.STYLE_NATIVE //FeedConfig.STYLE_STYLE_FEED_PLAY当前页面播放
}
}
\ No newline at end of file
......@@ -2,20 +2,20 @@ package com.mints.goodmoney;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;
import com.mints.library.utils.CommonUtils;
import com.bun.miitmdid.core.JLibrary;
import com.mints.goodmoney.manager.TtCsjAdManager;
import com.mints.goodmoney.manager.YlhAdManager;
import com.mints.goodmoney.utils.LogUtil;
import com.mints.goodmoney.common.Constant;
import com.mints.goodmoney.net.LoanService;
import com.mints.goodmoney.utils.ForegroundOrBackground;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.FormatStrategy;
import com.orhanobut.logger.Logger;
import com.orhanobut.logger.PrettyFormatStrategy;
import com.umeng.commonsdk.UMConfigure;
import com.mints.goodmoney.utils.SystemUtils;
import rx.Scheduler;
import rx.schedulers.Schedulers;
......@@ -23,8 +23,7 @@ import rx.schedulers.Schedulers;
/**
* 描述:Application
* 作者:孟崔广
* 时间:2020/9/20 11:40
* 邮箱:mengcuiguang@cashbang.cn
* 时间:2020/10/09 11:40
*/
public class MintsApplication extends MultiDexApplication {
......@@ -34,9 +33,6 @@ public class MintsApplication extends MultiDexApplication {
private Scheduler defaultSubscribeScheduler;
private LoanService loanService;
/**
* 获取全局context
*/
public static Context getContext() {
return mContext;
}
......@@ -45,7 +41,8 @@ public class MintsApplication extends MultiDexApplication {
public void onCreate() {
super.onCreate();
mContext = this.getApplicationContext();
// 判断应用是否在前台
ForegroundOrBackground.init(this);
// 三方配置
thirdConfig();
}
......@@ -60,77 +57,50 @@ public class MintsApplication extends MultiDexApplication {
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
// 移动安全联盟
try {
JLibrary.InitEntry(base);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 三方配置
*/
private void thirdConfig() {
// TalkingData数据埋点与错误日志
// TalkingDataConfig();
// 判断应用是否在前台
ForegroundOrBackground.init(this);
// 初始化ShareSDK
// MobSDK.init(this);
// 友盟初始化
// initUm(this);
// 子线程初始化三方SDK
String processName = SystemUtils.INSTANCE.getProcessName(this, android.os.Process.myPid());
if (processName != null) {
// 判断onCreate方法执行是否在当前应用的application上
boolean defaultProcess = TextUtils.equals(processName, Constant.MINTS_PKG_NAME);
if (defaultProcess) {
InitAppService.Companion.start(this); //初始化数据
}
}
//logger
BindLogger();
// 优量汇
// initYlh();
// 穿山甲
// initCsj();
}
/**
* 友盟初始化
* 优量汇
*/
public void initUm(Context context) {
// System.out.println("mcg __ init um");
/**
* 参数4:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机。
* 参数5:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空。
*/
UMConfigure.init(context, "5db5876b570df381430007da", CommonUtils.getAppMetaData(context, "CHANNEL_NAME"), UMConfigure.DEVICE_TYPE_PHONE, "");
private void initYlh() {
YlhAdManager.INSTANCE.initYlhAd(this);
}
/**
* 自定义logger
* 穿山甲
*/
private void BindLogger() {
//自定义logger
FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
.showThreadInfo(false) //是否选择显示线程信息,默认为true
.methodCount(0) //方法数显示多少行,默认2行
.methodOffset(7) //隐藏方法内部调用到偏移量,默认5
// .logStrategy(customLog) //打印日志的策略,默认LogCat
.tag("mints---network") //自定义TAG全部标签,默认PRETTY_LOGGER
.build();
Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));
private void initCsj() {
TtCsjAdManager.init(this);
}
/**
* 设置TalkingData
*/
// private void TalkingDataConfig() {
// //TalkingData配置
// if (BuildConfig.DEBUG) {
// TCAgent.LOG_ON = true;
// } else {
// TCAgent.LOG_ON = false;
// }
//// String td_channel_id = CommonUtils.getAppMetaData(mContext, "TD_CHANNEL_ID");
// String talkingData_id = CommonUtils.getAppMetaData(mContext, "TD_KEY");
// String td_channel_id = CommonUtils.getAppMetaData(mContext, "CHANNEL_NAME");
// TCAgent.init(this, talkingData_id, td_channel_id);
// TCAgent.setReportUncaughtExceptions(true);
// }
/**
* app退出
*/
......@@ -145,8 +115,6 @@ public class MintsApplication extends MultiDexApplication {
/**
* 获得LocalBroadcastManager对象
*
* @return LocalBroadcastManager对象
*/
public static LocalBroadcastManager getLocalBroadcastManager() {
if (mLocalBroadcatManager == null) {
......@@ -157,15 +125,11 @@ public class MintsApplication extends MultiDexApplication {
public LoanService getLoanService() {
if (loanService == null) {
loanService = LoanService.Factory.create(this);
loanService = LoanService.Factory.create();
}
return loanService;
}
public void setLoanService(LoanService loanService) {
this.loanService = loanService;
}
public Scheduler defaultSubscribeScheduler() {
if (defaultSubscribeScheduler == null) {
defaultSubscribeScheduler = Schedulers.io();
......
//package com.mints.highgold.ad
//
//import android.app.Activity
//import android.content.Intent
//import android.os.Bundle
//import com.mints.highgold.common.Constant
//import com.mints.highgold.ui.activitys.CsVedioActivity
//
///**
// * 创神视频
// */
//class ChuangshenVedioAdManager private constructor(activity: Activity) {
// private lateinit var chuangshenVedioAdListener: ChuangshenVedioAdListener
// var activity: Activity? = null
//
// companion object {
// private var _inst: ChuangshenVedioAdManager? = null
// fun getInstance(activity: Activity): ChuangshenVedioAdManager? {
// return if (_inst != null) {
// _inst
// } else {
// _inst = ChuangshenVedioAdManager(activity)
// _inst
// }
// }
// }
//
// init {
// init(activity)
// }
//
// private fun init(activity: Activity) {
// this.activity = activity
// }
//
// fun loadChuangshenAd(downloadCoin: Int = 0, curCoin: Int = 0, carrierType: String?, extraId: String?) {
// chuangshenVedioAdListener?.chuangshenVedioAdSuccess()
//
// val bundle = Bundle().apply {
// putString(Constant.TRY_VEDIO_COIN, curCoin.toString())
// putString(Constant.TRY_TASK_H5DOWNLOADCOIN, downloadCoin.toString())
// putString(Constant.TRY_CARRIER, carrierType)
// putString(Constant.MAIN_EXTRA_ID, extraId)
// }
// readyGo(CsVedioActivity::class.java, bundle)
// }
//
// fun setChuangshenVedioAdListener(chuangshenVedioAdListener: ChuangshenVedioAdListener) {
// this.chuangshenVedioAdListener = chuangshenVedioAdListener
// }
//
// interface ChuangshenVedioAdListener {
// fun chuangshenVedioAdSuccess()
// }
//
// fun readyGo(clazz: Class<*>?, bundle: Bundle) {
// val intent = Intent(activity, clazz)
// intent.putExtras(bundle)
// activity?.startActivity(intent)
// }
//
// fun destory() {
// //退出释放资源
//// Ad.getInstance().onDestroy()
// }
//}
\ No newline at end of file
//package com.mints.highgold.ad
//
//import android.app.Activity
//import com.dm.rvads.common.util.AdError
//import com.dm.rvads.rewardvideo.RewardVideoADListener
//import com.dm.rvads.rewardvideo.RewardVideoAd
//import com.mints.highgold.MintsApplication
//import com.mints.highgold.common.Constant
//import com.mints.highgold.manager.DomobManager
//import com.mints.highgold.manager.TrackManager
//import com.mints.highgold.mvp.presenters.DomobVedioAdPresenter
//import com.mints.highgold.mvp.views.DomobVedioAdView
//import com.mints.highgold.utils.LogUtil
//import java.util.*
//
///**
// * 多盟视频
// */
//class DomobVedioAdManager private constructor(activity: Activity) :
// DomobVedioAdView, RewardVideoADListener {
//
// private val TAG = DomobVedioAdManager::class.java.simpleName
//
// lateinit var rewardVideoAd: RewardVideoAd
//
// lateinit var domobVedioAdPresenter: DomobVedioAdPresenter
// private var domobVedioAdListener: DomobVedioAdListener? = null
// var activity: Activity? = null
//
// private var curCoin = 0
// private var extraId: String? = null
// private var downloadCoin = 10
// private var carrierType = ""
//
// private var isClickScreen: Boolean = true
//
// companion object {
// private var _inst: DomobVedioAdManager? = null
// fun getInstance(activity: Activity): DomobVedioAdManager? {
// return if (_inst != null) {
// _inst
// } else {
// _inst = DomobVedioAdManager(activity)
// _inst
// }
// }
// }
//
// init {
// init(activity)
// }
//
// private fun init(activity: Activity) {
// this.activity = activity
// domobVedioAdPresenter = DomobVedioAdPresenter()
// domobVedioAdPresenter.attachView(this)
// }
//
// fun loadDomobAd(downloadCoin: Int, curCoin: Int, carrierType: String, extraId: String?) {
// if (activity == null) {
// return
// }
// isClickScreen = true
//
// this.downloadCoin = downloadCoin
// this.carrierType = carrierType
// this.curCoin = curCoin
// this.extraId = extraId
//
// var postId: String
// when (carrierType) {
// Constant.CARRIER_DAILY_VIDEO -> postId = DomobManager.DOMOB_AD_VEDIO_MAIN_LOOK
// Constant.CARRIER_VERSUS_VIDEO -> postId = DomobManager.DOMOB_AD_VEDIO_VERSUS_LOOK
// Constant.CARRIER_ONLINE_INCOME_DOUBLE, Constant.CARRIER_HOMEWATER_BUBBLE -> postId = DomobManager.DOMOB_AD_VEDIO_MAIN_POP
// Constant.CARRIER_REDENVELOPE_DOUBLE, Constant.CARRIER_REDENVELOPE -> postId = DomobManager.DOMOB_AD_VEDIO_REDBOX
// else -> postId = DomobManager.DOMOB_AD_VEDIO_MAIN_LOOK
//
// }
// rewardVideoAd = RewardVideoAd(activity, DomobManager.DOMOB_AD_APPID, postId, this)
// rewardVideoAd.loadAD()
// }
//
// override fun onADClick() {
// TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_DOMOB, Constant.EVENT_TYPE_TWO, "", "")
//
// if (isClickScreen) {
// // 防止重复
// TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_DOMOB, Constant.EVENT_TYPE_FOUR, "", "")
// isClickScreen = false
// }
// if (domobVedioAdListener != null) {
// domobVedioAdListener?.domobVedioAdDownload()
// }
// }
//
// override fun onVideoCached() {
// rewardVideoAd.showAd()
// LogUtil.d(TAG, "onVideoCached")
// }
//
// override fun onReward() {
// LogUtil.d(TAG, "onReward")
// }
//
// override fun onADClose() {
// TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_DOMOB, Constant.EVENT_TYPE_THREE, "", "")
//
// if (domobVedioAdListener != null) {
// domobVedioAdListener?.domobVedioAdSuccess()
// }
//
// domobVedioAdPresenter?.reportAddCoinMsg(activity, getAdMapVO())
//
// LogUtil.d(TAG, "onADClose")
// }
//
// override fun onVideoComplete() {
// LogUtil.d(TAG, "onVideoComplete")
// }
//
// override fun onError(error: AdError?) {
// TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_DOMOB, Constant.EVENT_TYPE_ONE, (error?.errorCode).toString(), error?.errorMsg)
//
// if (domobVedioAdListener != null) {
// domobVedioAdListener?.domobVedioAdFail()
// }
//
// LogUtil.d(TAG, "onError code:${error?.errorCode} msg:${error?.errorMsg}")
// }
//
// override fun onADShow() {
// LogUtil.d(TAG, "onADShow")
// TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_DOMOB, Constant.EVENT_TYPE_ZERO, "", "")
// }
//
// fun setDomobVedioAdListener(domobVedioAdListener: DomobVedioAdListener?) {
// this.domobVedioAdListener = domobVedioAdListener
// }
//
// interface DomobVedioAdListener {
// fun domobVedioAdSuccess()
// fun domobVedioAdFail()
// fun domobVedioAdDownload()
// }
//
// override fun showLoading(msg: String?) {
// TODO("Not yet implemented")
// }
//
// override fun showToast(msg: String?) {
// TODO("Not yet implemented")
// }
//
// override fun hideLoading() {
// TODO("Not yet implemented")
// }
//
// override fun getBaseApplication() = activity?.application as MintsApplication
//
// private fun getAdMapVO(): HashMap<String, Any> {
// val vo = HashMap<String, Any>()
// vo["carrierType"] = carrierType
// vo["adtype"] = Constant.ADTYPE_VEDIO
// vo["adsource"] = Constant.AD_SOURCE_DOMOB
// when (carrierType) {
// Constant.CARRIER_VERSUS_VIDEO -> vo["coin"] = curCoin
// Constant.CARRIER_DAILY_DOWNLOAD -> vo["coin"] = curCoin
// Constant.CARRIER_DAILY_VIDEO -> vo["coin"] = curCoin
// Constant.CARRIER_HOMEWATER_BUBBLE -> vo["waterCoin"] = curCoin
// Constant.CARRIER_ONLINE_INCOME_DOUBLE -> vo["online_income"] = curCoin
// Constant.CARRIER_OFFLINE_DOUBLE -> {
// vo["offline_income"] = curCoin
// vo["page"] = Constant.PAGE_TWO
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_ONE
// }
// Constant.CARRIER_SIGNIN_HOMEPAGE_CARD -> {
// vo["page"] = Constant.PAGE_TWO
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_ONE
// }
// Constant.CARRIER_DRINK, Constant.CARRIER_DRINK_PATCH -> {
// vo["page"] = Constant.PAGE_ONE
// vo["block"] = Constant.BLOCK_FOUR
// vo["order"] = Constant.ORDER_ONE
// vo["critId"] = extraId!!
// }
// Constant.CARRIER_VERSUS_DRINKTEA -> {
// vo["page"] = Constant.PAGE_TWO
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_THREE
// vo["critId"] = extraId!!
// }
// Constant.CARRIER_DAILY_TURN -> {
// vo["page"] = Constant.PAGE_ONE
// vo["block"] = Constant.BLOCK_THREE
// vo["order"] = Constant.ORDER_THREE
// vo["turntableKey"] = extraId!!
// }
// Constant.CARRIER_CHALLENGE_TURN -> {
// vo["page"] = Constant.PAGE_TWO
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_FOUR
// vo["turntableKey"] = extraId!!
// }
// Constant.CARRIER_CHALLENGE_CARD -> {
// vo["page"] = Constant.PAGE_TWO
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_FIVE
// vo["turntableKey"] = extraId!!
// }
// Constant.CARRIER_REDENVELOPE_DOUBLE, Constant.CARRIER_REDENVELOPE -> {
// vo["page"] = Constant.PAGE_ONE
// vo["block"] = Constant.BLOCK_ONE
// vo["order"] = Constant.ORDER_ONE
// vo["numKey"] = extraId!!
// }
// else -> {
// vo["page"] = Constant.PAGE_ONE
// if (curCoin != -1) {
// vo["online_income"] = curCoin
// }
// }
// }
// return vo
// }
//
// fun destory() {
// domobVedioAdPresenter?.let {
// domobVedioAdPresenter.dispose()
// domobVedioAdPresenter.detachView()
// }
// }
//}
\ No newline at end of file
//package com.mints.highgold.ad.banner
//
//import android.app.Activity
//import android.view.View
//import com.lechuan.midunovel.view.FoxStreamerView
//import com.mints.highgold.common.AppConfig
//import com.mints.highgold.manager.TaAdManager
//import com.mints.highgold.manager.UserManager
//
//class BannerAdmanager {
// var activity: Activity? = null
// var fsvAward: FoxStreamerView? = null
//
// constructor(activity: Activity?) {
// this.activity = activity
// }
//
// /**
// * 展示banner
// *
// * @param carrierType
// * @param view 要展示的banner
// */
// fun showBannerAd(carrierType: String, view: View?) {
// if (UserManager.getInstance().adShowFlag) initBannerAd(carrierType, view)
// }
//
// /**
// * banner广告显示类型 0-推啊
// *
// * @param carrierType
// * @param view
// */
// private fun initBannerAd(carrierType: String, view: View?) {
//// if (AppConfig.bannerAdType == 0) loadTaBannerAd(carrierType, view)
// loadTaBannerAd(carrierType, view)
// }
//
// private fun loadTaBannerAd(carrierType: String, view: View?) {
// if (view != null) {
// if (view is FoxStreamerView) {
// fsvAward = view
// fsvAward?.loadAd(TaAdManager.TA_AD_AWARD_BANNER, UserManager.getInstance().userID)
// }
// }
// }
//
// fun ondestory() {
// fsvAward?.destroy()
// }
//}
\ No newline at end of file
//package com.mints.goodmoney.ad.inscreenvedio;
//
//import android.app.Activity;
//import android.content.IntentFilter;
//import android.net.ConnectivityManager;
//
//import com.bytedance.sdk.openadsdk.AdSlot;
//import com.bytedance.sdk.openadsdk.TTAdConstant;
//import com.bytedance.sdk.openadsdk.TTAdNative;
//import com.bytedance.sdk.openadsdk.TTFullScreenVideoAd;
//import com.mintegral.msdk.interstitialvideo.out.InterstitialVideoListener;
//import com.mintegral.msdk.interstitialvideo.out.MTGInterstitialVideoHandler;
//import com.mintegral.msdk.videocommon.download.NetStateOnReceive;
//import com.mints.highgold.MintsApplication;
//import com.mints.highgold.common.AppConfig;
//import com.mints.highgold.manager.MintegralManager;
//import com.mints.highgold.manager.TTAdManagerHolder;
//import com.mints.highgold.manager.TTNativeExpressManager;
//import com.mints.highgold.utils.LogUtil;
//
///**
// * Mintegral插屏视频
// */
//public class MintegralInscreenVedioAdManager {
//
// private static final String TAG = MintegralInscreenVedioAdManager.class.getSimpleName();
//
// private static MintegralInscreenVedioAdManager _inst;
// private Activity activity;
//
// private MTGInterstitialVideoHandler mMtgInterstitalVideoHandler;
// private NetStateOnReceive mNetStateOnReceive;
// private String mRewardUnitId = MintegralManager.MINTEGRAL_AD_INSCREEN_VEDIO_POP_DRINK;
//
// private TTAdNative ttAdNative;
// private TTFullScreenVideoAd mttFullVideoAd;
//
// public static MintegralInscreenVedioAdManager getInstance(Activity activity) {
// if (_inst != null) {
// return _inst;
// } else {
// _inst = new MintegralInscreenVedioAdManager(activity);
// return _inst;
// }
// }
//
// private MintegralInscreenVedioAdManager(Activity activity) {
// init(activity);
// return;
// }
//
// private void init(Activity activity) {
// this.activity = activity;
//
// initHandler();
// }
//
// public void loadMintegralInscreen() {
// if (mMtgInterstitalVideoHandler != null) {
// mMtgInterstitalVideoHandler.load();
// }
// }
//
// public void showMintegralInscreen() {
// if (mMtgInterstitalVideoHandler != null && mMtgInterstitalVideoHandler.isReady()) {
// mMtgInterstitalVideoHandler.show();
// } else {
// AppConfig.isMintegralInscreenFlag = false;
// loadCsjFullAd();
// LogUtil.d(TAG, "MintegralInscreenVedioAdManager onVideoLoadFail noReady:");
// }
// }
//
// private void initHandler() {
// if (activity == null) return;
//
// try {
// if (mNetStateOnReceive == null) {
// mNetStateOnReceive = new NetStateOnReceive();
// IntentFilter filter = new IntentFilter();
// filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
// activity.registerReceiver(mNetStateOnReceive, filter);
// }
//
// mMtgInterstitalVideoHandler = new MTGInterstitialVideoHandler(activity, mRewardUnitId);
// mMtgInterstitalVideoHandler.setInterstitialVideoListener(new InterstitialVideoListener() {
// @Override
// public void onLoadSuccess(String unitId) {
// LogUtil.d(TAG, "MintegralInscreenVedioAdManager onLoadSuccess");
// AppConfig.isMintegralInscreenFlag = true;
//
// }
//
// @Override
// public void onVideoLoadSuccess(String unitId) {
// AppConfig.isMintegralInscreenFlag = true;
// LogUtil.d(TAG, "MintegralInscreenVedioAdManager onVideoLoadSuccess");
// }
//
// @Override
// public void onVideoLoadFail(String errorMsg) {
// AppConfig.isMintegralInscreenFlag = false;
// LogUtil.d(TAG, "MintegralInscreenVedioAdManager onVideoLoadFail errorMsg:" + errorMsg);
// }
//
// @Override
// public void onShowFail(String errorMsg) {
// AppConfig.isMintegralInscreenFlag = false;
// LogUtil.d(TAG, "MintegralInscreenVedioAdManager onShowFail errorMsg:" + errorMsg);
// }
//
// @Override
// public void onAdShow() {
// }
//
// @Override
// public void onAdClose(boolean isCompleteView) {
// AppConfig.isMintegralInscreenFlag = false;
// }
//
// @Override
// public void onVideoAdClicked(String unitId) {
// }
//
// @Override
// public void onVideoComplete(String unitId) {
// }
//
// @Override
// public void onEndcardShow(String unitId) {
// }
//
// });
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// public void destory() {
// try {
// if (mNetStateOnReceive != null) {
// activity.unregisterReceiver(mNetStateOnReceive);
// }
// if (mMtgInterstitalVideoHandler != null) {
// mMtgInterstitalVideoHandler.setInterstitialVideoListener(null);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// /**
// * 全屏广告
// */
// @SuppressWarnings("SameParameterValue")
// private void loadCsjFullAd() {
// ttAdNative = new TTNativeExpressManager().initTTAd(activity, false);
// String codeId = TTAdManagerHolder.TT_AD_ALLVEDIO_ID_DRINKTIME;
// AdSlot adSlot = new AdSlot.Builder()
// .setCodeId(codeId)
// .setSupportDeepLink(true)
// .setImageAcceptedSize(1080, 1920)
// .setOrientation(TTAdConstant.VERTICAL)
// .build();
// ttAdNative.loadFullScreenVideoAd(adSlot, new TTAdNative.FullScreenVideoAdListener() {
// @Override
// public void onError(int code, String message) {
// }
//
// @Override
// public void onFullScreenVideoAdLoad(TTFullScreenVideoAd ad) {
// mttFullVideoAd = ad;
// }
//
// @Override
// public void onFullScreenVideoCached() {
// if (activity != null && !activity.isFinishing() && mttFullVideoAd != null) {
// //step6:在获取到广告后展示
// mttFullVideoAd.showFullScreenVideoAd(activity);
// mttFullVideoAd = null;
// }
// }
// });
// }
//}
......@@ -44,4 +44,13 @@ public class TrackManager {
trackPresenter.offline();
}
}
/**
* 广告事件
*/
public void addCallImp(String adSource, String eventType, String errorcode, String errormsg) {
if (trackPresenter != null) {
trackPresenter.addCallImp(adSource, eventType, errorcode, errormsg);
}
}
}
......@@ -18,7 +18,7 @@ public class BaseResponse<T> implements Serializable {
/**
* 内容
*/
private String message;
private String message="";
/**
* 结果
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment