Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_street
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_street
Commits
ebbbce24
Commit
ebbbce24
authored
Sep 22, 2021
by
fengruiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改百度SDK初始化问题(为初始化)
parent
12395cff
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
113 additions
and
67 deletions
+113
-67
output-metadata.json
app/freeworld/release/output-metadata.json
+18
-0
MainApi.kt
app/src/main/java/com/mints/street/api/MainApi.kt
+7
-0
VivoShowBean.kt
app/src/main/java/com/mints/street/bean/VivoShowBean.kt
+8
-0
ApiModel.kt
app/src/main/java/com/mints/street/model/ApiModel.kt
+9
-0
SplashActivity.kt
app/src/main/java/com/mints/street/splash/SplashActivity.kt
+45
-67
SplashViewModel.kt
app/src/main/java/com/mints/street/splash/SplashViewModel.kt
+26
-0
No files found.
app/freeworld/release/output-metadata.json
0 → 100644
View file @
ebbbce24
{
"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
app/src/main/java/com/mints/street/api/MainApi.kt
View file @
ebbbce24
...
...
@@ -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
app/src/main/java/com/mints/street/bean/VivoShowBean.kt
0 → 100644
View file @
ebbbce24
package
com.mints.street.bean
/**
* Created by 冯瑞雨 on 2021/9/17.
*/
class
VivoShowBean
{
var
showAd
:
Boolean
?
=
null
}
\ No newline at end of file
app/src/main/java/com/mints/street/model/ApiModel.kt
View file @
ebbbce24
...
...
@@ -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
app/src/main/java/com/mints/street/splash/SplashActivity.kt
View file @
ebbbce24
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);)
...
...
@@ -128,13 +158,16 @@ class SplashActivity : BaseActivity<ActivitySplashBinding, SplashViewModel>() {
//step3:创建开屏广告请求参数AdSlot,具体参数含义参考文档
val
adSlot
=
AdSlot
.
Builder
()
.
setImageAdSize
(
1080
,
1920
)
// 既适用于原生类型,也适用于模版类型。
.
build
()
.
setImageAdSize
(
1080
,
1920
)
// 既适用于原生类型,也适用于模版类型。
.
build
()
//自定义兜底方案 选择使用
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
app/src/main/java/com/mints/street/splash/SplashViewModel.kt
View file @
ebbbce24
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment