Commit ebbbce24 authored by fengruiyu's avatar fengruiyu

修改百度SDK初始化问题(为初始化)

parent 12395cff
{
"version": 2,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.mints.freeworld",
"variantName": "processFreeworldReleaseResources",
"elements": [
{
"type": "SINGLE",
"filters": [],
"versionCode": 1,
"versionName": "1.1.0",
"outputFile": "freeworld_1.1.0.apk"
}
]
}
\ No newline at end of file
...@@ -156,4 +156,11 @@ interface MainApi { ...@@ -156,4 +156,11 @@ interface MainApi {
*/ */
@POST("na/getMapChargeConfig") @POST("na/getMapChargeConfig")
fun getMapChargeConfig():Observable<Response<BaseResponse<MapStyleSort>>> fun getMapChargeConfig():Observable<Response<BaseResponse<MapStyleSort>>>
/**
* 是否展示开屏视频
* 只针对vivo
*/
@POST("na/showAds")
fun vivoShow(@Body vo:@JvmSuppressWildcards Map<String,Any>):Observable<Response<BaseResponse<VivoShowBean>>>
} }
\ No newline at end of file
package com.mints.street.bean
/**
* Created by 冯瑞雨 on 2021/9/17.
*/
class VivoShowBean {
var showAd:Boolean? = null
}
\ No newline at end of file
...@@ -168,5 +168,14 @@ object ApiModel { ...@@ -168,5 +168,14 @@ object ApiModel {
return HttpManager.getInstance().execute(lifecycleProvider, return HttpManager.getInstance().execute(lifecycleProvider,
MainApi.newInstance().getMapChargeConfig()) MainApi.newInstance().getMapChargeConfig())
} }
/**
* 是否展示开屏视频
* 只针对vivo
*/
fun vivoShow(lifecycleProvider: LifecycleProvider<Any>?,map: HashMap<String, Any>)
:Observable<Response<BaseResponse<VivoShowBean>>>{
return HttpManager.getInstance().execute(lifecycleProvider,
MainApi.newInstance().vivoShow(map))
}
} }
\ No newline at end of file
package com.mints.street.splash package com.mints.street.splash
import android.os.Bundle import android.os.Bundle
import android.view.View import android.os.Handler
import android.widget.FrameLayout import android.widget.FrameLayout
import com.blankj.utilcode.util.ToastUtils import androidx.lifecycle.Observer
import com.bytedance.msdk.adapter.pangle.PangleNetworkRequestInfo import com.bytedance.msdk.adapter.pangle.PangleNetworkRequestInfo
import com.bytedance.msdk.api.AdError import com.bytedance.msdk.api.AdError
import com.bytedance.msdk.api.AdSlot import com.bytedance.msdk.api.AdSlot
...@@ -12,6 +12,7 @@ import com.bytedance.msdk.api.splash.TTSplashAd ...@@ -12,6 +12,7 @@ import com.bytedance.msdk.api.splash.TTSplashAd
import com.bytedance.msdk.api.splash.TTSplashAdListener import com.bytedance.msdk.api.splash.TTSplashAdListener
import com.bytedance.msdk.api.splash.TTSplashAdLoadCallback import com.bytedance.msdk.api.splash.TTSplashAdLoadCallback
import com.fry.base.base.BaseActivity import com.fry.base.base.BaseActivity
import com.mints.street.AppApplication
import com.mints.street.BR import com.mints.street.BR
import com.mints.street.R import com.mints.street.R
import com.mints.street.ad.CsjGroMoreManager import com.mints.street.ad.CsjGroMoreManager
...@@ -20,11 +21,9 @@ import com.mints.street.common.DeviceInfo ...@@ -20,11 +21,9 @@ import com.mints.street.common.DeviceInfo
import com.mints.street.databinding.ActivitySplashBinding import com.mints.street.databinding.ActivitySplashBinding
import com.mints.street.main.MainActivity import com.mints.street.main.MainActivity
import com.mints.street.main.my.PermissionsActivity import com.mints.street.main.my.PermissionsActivity
import com.mints.street.webview.MintsWebViewActivity import com.mints.street.utils.CommonUtils
import com.mints.street.widget.dialog.DialogListener
import com.mints.street.widget.dialog.PowerDialog import com.mints.street.widget.dialog.PowerDialog
import com.tencent.mmkv.MMKV import com.tencent.mmkv.MMKV
import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil
/** /**
* 描述:gromore开屏页 * 描述:gromore开屏页
...@@ -48,10 +47,23 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() { ...@@ -48,10 +47,23 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
override fun initVariableId() = BR.viewModel override fun initVariableId() = BR.viewModel
override fun getStatusBarHeightView()=binding.viewSplash override fun getStatusBarHeightView() = binding.viewSplash
override fun initData() { override fun initData() {
super.initData() super.initData()
if (CommonUtils.getAppMetaData(AppApplication.getContext(), "CHANNEL_NAME")
.equals("vivo")
) {
isInterceptAd = true
viewModel.isShowVivo()
handler.postDelayed({
if (isInterceptAd) {
isInterceptAd = false
goToMainActivity()
}
}, 5000) //延迟5秒执行
}
//点击Home键后再点击App图标,会回到原来的界面。今天重新打包后,但是在Debug模式下,一切正常, //点击Home键后再点击App图标,会回到原来的界面。今天重新打包后,但是在Debug模式下,一切正常,
// 但是把打完包的apk(Release)安装在其他手机上时,回到桌面后点击图标会重新打开启动页 // 但是把打完包的apk(Release)安装在其他手机上时,回到桌面后点击图标会重新打开启动页
if (!isTaskRoot) { if (!isTaskRoot) {
...@@ -94,6 +106,19 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() { ...@@ -94,6 +106,19 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
// msplash = null // msplash = null
} }
override fun initViewObservable() {
viewModel.vivoShow.observe(this, Observer {
it?.let {
if (it){
isInterceptAd = false
loadSplashAd()
}else{
goToMainActivity()
}
}
})
}
/** /**
* 校验App签名 * 校验App签名
*/ */
...@@ -118,7 +143,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() { ...@@ -118,7 +143,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
/** /**
* 加载开屏广告 * 加载开屏广告
*/ */
private var isInterceptAd = false
private fun loadSplashAd() { private fun loadSplashAd() {
if (isInterceptAd) {
return
}
/** /**
* 注:每次加载开屏广告的时候需要新建一个TTSplashAd,否则可能会出现广告填充问题 * 注:每次加载开屏广告的时候需要新建一个TTSplashAd,否则可能会出现广告填充问题
* ( 例如:mTTSplashAd = new TTSplashAd(this, mAdUnitId);) * ( 例如:mTTSplashAd = new TTSplashAd(this, mAdUnitId);)
...@@ -134,7 +164,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() { ...@@ -134,7 +164,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
//自定义兜底方案 选择使用 //自定义兜底方案 选择使用
val ttNetworkRequestInfo: TTNetworkRequestInfo val ttNetworkRequestInfo: TTNetworkRequestInfo
//穿山甲兜底 //穿山甲兜底
ttNetworkRequestInfo = PangleNetworkRequestInfo(CsjGroMoreManager.TT_AD_APPID, CsjGroMoreManager.AD_CSJ_SPLASH_ID) ttNetworkRequestInfo = PangleNetworkRequestInfo(
CsjGroMoreManager.TT_AD_APPID,
CsjGroMoreManager.AD_CSJ_SPLASH_ID
)
//step4:请求广告,调用开屏广告异步请求接口,对请求回调的广告作渲染处理 //step4:请求广告,调用开屏广告异步请求接口,对请求回调的广告作渲染处理
mTTSplashAd?.loadAd(adSlot, ttNetworkRequestInfo, object : TTSplashAdLoadCallback { mTTSplashAd?.loadAd(adSlot, ttNetworkRequestInfo, object : TTSplashAdLoadCallback {
// mTTSplashAd.loadAd(adSlot, new TTSplashAdLoadCallback() { // mTTSplashAd.loadAd(adSlot, new TTSplashAdLoadCallback() {
...@@ -172,68 +205,13 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() { ...@@ -172,68 +205,13 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
* 跳转到主页面 * 跳转到主页面
*/ */
private fun goToMainActivity() { private fun goToMainActivity() {
if (MMKV.mmkvWithID(Constant.FIRST_OPEN_PERMISSIONS).decodeBool(Constant.FIRST_OPEN_PERMISSIONS, false)) { if (MMKV.mmkvWithID(Constant.FIRST_OPEN_PERMISSIONS)
.decodeBool(Constant.FIRST_OPEN_PERMISSIONS, false)
) {
// 非新用户 // 非新用户
startActivityThenKill(MainActivity::class.java) startActivityThenKill(MainActivity::class.java)
} else { } else {
startActivityThenKill(PermissionsActivity::class.java) startActivityThenKill(PermissionsActivity::class.java)
} }
} }
private fun showPowerDialog() {
if (MMKV.mmkvWithID(Constant.LOAN_PERMISSION_FLAG).decodeBool(Constant.LOAN_PERMISSION_FLAG, true)) {
powerDialog()
} else {
isClickAgree = true
try {
msplash = findViewById(R.id.fl_splash)
//加载开屏广告
loadSplashAd()
} catch (e: Exception) {
goToMainActivity()
}
}
}
/**
* 权限弹窗
*/
private fun powerDialog() {
powerDialog = PowerDialog(this, object : DialogListener() {
override fun onClick(v: View) {
when (v.id) {
R.id.tv_dialogper_agreement -> {
MintsWebViewActivity.startWebView(name = "用户协议", url = Constant.REGISTER_URL)
}
R.id.tv_dialogper_policy -> {
MintsWebViewActivity.startWebView(name = "隐私协议", url = Constant.PRIVACY_URL)
}
R.id.btn_dialogper_back -> {
if (powerDialog != null && powerDialog!!.isShowing) {
ToastUtils.showLong("请您同意授权,否则将无法使用APP功能")
}
}
R.id.btn_dialogper_next -> {
if (powerDialog != null && powerDialog!!.isShowing) {
powerDialog!!.dismiss()
try {
msplash = findViewById(R.id.fl_splash)
//加载开屏广告
loadSplashAd()
} catch (e: Exception) {
goToMainActivity()
}
isClickAgree = true
MMKV.mmkvWithID(Constant.LOAN_PERMISSION_FLAG).encode(Constant.LOAN_PERMISSION_FLAG, false)
}
}
}
}
})
powerDialog?.show()
}
} }
\ No newline at end of file
package com.mints.street.splash package com.mints.street.splash
import android.app.Application import android.app.Application
import androidx.lifecycle.MutableLiveData
import com.mints.street.api.MainApi
import com.mints.street.bean.BaseResponse
import com.mints.street.bean.VivoShowBean
import com.mints.street.bean.VreperienceBean
import com.mints.street.model.ApiModel
import com.mints.street.netwrok.base.HttpSubscribeImpl
import me.goldze.mvvmhabit.base.BaseViewModel import me.goldze.mvvmhabit.base.BaseViewModel
import me.goldze.mvvmhabit.utils.KLog
import me.goldze.mvvmhabit.utils.ToastUtils
/** /**
* Created by 冯瑞雨 on 2021/7/5. * Created by 冯瑞雨 on 2021/7/5.
*/ */
class SplashViewModel(application: Application):BaseViewModel(application) { class SplashViewModel(application: Application):BaseViewModel(application) {
val vivoShow = MutableLiveData<Boolean>()
fun isShowVivo(){
val vo = HashMap<String, Any>()
vo["type"] = 1
ApiModel.vivoShow(lifecycleProvider,vo).safeSubscribe(
object : HttpSubscribeImpl<BaseResponse<VivoShowBean>>(
null,false){
override fun onBusinessSuccess(response: BaseResponse<VivoShowBean>) {
vivoShow.value = response.result?.showAd?:false
}
override fun onError(e: Throwable) {
}
}
)
}
} }
\ No newline at end of file
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