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 {
*/
@POST("na/getMapChargeConfig")
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 {
return HttpManager.getInstance().execute(lifecycleProvider,
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
import android.os.Bundle
import android.view.View
import android.os.Handler
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.api.AdError
import com.bytedance.msdk.api.AdSlot
......@@ -12,6 +12,7 @@ import com.bytedance.msdk.api.splash.TTSplashAd
import com.bytedance.msdk.api.splash.TTSplashAdListener
import com.bytedance.msdk.api.splash.TTSplashAdLoadCallback
import com.fry.base.base.BaseActivity
import com.mints.street.AppApplication
import com.mints.street.BR
import com.mints.street.R
import com.mints.street.ad.CsjGroMoreManager
......@@ -20,11 +21,9 @@ import com.mints.street.common.DeviceInfo
import com.mints.street.databinding.ActivitySplashBinding
import com.mints.street.main.MainActivity
import com.mints.street.main.my.PermissionsActivity
import com.mints.street.webview.MintsWebViewActivity
import com.mints.street.widget.dialog.DialogListener
import com.mints.street.utils.CommonUtils
import com.mints.street.widget.dialog.PowerDialog
import com.tencent.mmkv.MMKV
import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil
/**
* 描述:gromore开屏页
......@@ -48,10 +47,23 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
override fun initVariableId() = BR.viewModel
override fun getStatusBarHeightView()=binding.viewSplash
override fun getStatusBarHeightView() = binding.viewSplash
override fun 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模式下,一切正常,
// 但是把打完包的apk(Release)安装在其他手机上时,回到桌面后点击图标会重新打开启动页
if (!isTaskRoot) {
......@@ -94,6 +106,19 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
// msplash = null
}
override fun initViewObservable() {
viewModel.vivoShow.observe(this, Observer {
it?.let {
if (it){
isInterceptAd = false
loadSplashAd()
}else{
goToMainActivity()
}
}
})
}
/**
* 校验App签名
*/
......@@ -118,7 +143,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
/**
* 加载开屏广告
*/
private var isInterceptAd = false
private fun loadSplashAd() {
if (isInterceptAd) {
return
}
/**
* 注:每次加载开屏广告的时候需要新建一个TTSplashAd,否则可能会出现广告填充问题
* ( 例如:mTTSplashAd = new TTSplashAd(this, mAdUnitId);)
......@@ -134,7 +164,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
//自定义兜底方案 选择使用
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:请求广告,调用开屏广告异步请求接口,对请求回调的广告作渲染处理
mTTSplashAd?.loadAd(adSlot, ttNetworkRequestInfo, object : TTSplashAdLoadCallback {
// mTTSplashAd.loadAd(adSlot, new TTSplashAdLoadCallback() {
......@@ -172,68 +205,13 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
* 跳转到主页面
*/
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)
} else {
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
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.utils.KLog
import me.goldze.mvvmhabit.utils.ToastUtils
/**
* Created by 冯瑞雨 on 2021/7/5.
*/
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