Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
L
location share white
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
location share white
Commits
fc5034df
Commit
fc5034df
authored
Oct 24, 2024
by
周文华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【新增&调整】1.新增开屏和插屏的间隔时间逻辑。 2.调整部分逻辑
parent
f69c5e44
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
10 deletions
+24
-10
AdsMgr.kt
app/src/main/java/com/base/locationsharewhite/ads/AdsMgr.kt
+1
-1
AdInsertMgr.kt
...java/com/base/locationsharewhite/ads/admob/AdInsertMgr.kt
+7
-4
AdOpenMgr.kt
...n/java/com/base/locationsharewhite/ads/admob/AdOpenMgr.kt
+8
-4
LimitUtils.kt
.../java/com/base/locationsharewhite/ads/admob/LimitUtils.kt
+8
-1
No files found.
app/src/main/java/com/base/locationsharewhite/ads/AdsMgr.kt
View file @
fc5034df
...
@@ -48,8 +48,8 @@ object AdsMgr {
...
@@ -48,8 +48,8 @@ object AdsMgr {
* @param context 这里最好是appContext,因为是耗时操作,等它初始化完毕马上加载开屏和插屏广告
* @param context 这里最好是appContext,因为是耗时操作,等它初始化完毕马上加载开屏和插屏广告
*/
*/
fun
init
(
context
:
Context
,
adsConfigBean
:
AdsConfigBean
)
{
fun
init
(
context
:
Context
,
adsConfigBean
:
AdsConfigBean
)
{
this
.
adsConfigBean
=
adsConfigBean
if
(
adsConfigBean
.
isInBlackList
)
return
if
(
adsConfigBean
.
isInBlackList
)
return
this
.
adsConfigBean
=
adsConfigBean
MobileAds
.
initialize
(
context
)
{
MobileAds
.
initialize
(
context
)
{
val
readyAdapter
=
it
.
adapterStatusMap
.
entries
.
find
{
entry
->
val
readyAdapter
=
it
.
adapterStatusMap
.
entries
.
find
{
entry
->
entry
.
value
.
initializationState
==
AdapterStatus
.
State
.
READY
entry
.
value
.
initializationState
==
AdapterStatus
.
State
.
READY
...
...
app/src/main/java/com/base/locationsharewhite/ads/admob/AdInsertMgr.kt
View file @
fc5034df
...
@@ -19,6 +19,8 @@ import java.lang.ref.WeakReference
...
@@ -19,6 +19,8 @@ import java.lang.ref.WeakReference
*/
*/
class
AdInsertMgr
:
BaseAdMgr
<
InterstitialAd
>()
{
class
AdInsertMgr
:
BaseAdMgr
<
InterstitialAd
>()
{
private
var
lastOpenDate
:
Long
=
0
private
val
adLoadCallback
=
object
:
InterstitialAdLoadCallback
()
{
private
val
adLoadCallback
=
object
:
InterstitialAdLoadCallback
()
{
override
fun
onAdLoaded
(
ad
:
InterstitialAd
)
{
override
fun
onAdLoaded
(
ad
:
InterstitialAd
)
{
super
.
onAdLoaded
(
ad
)
super
.
onAdLoaded
(
ad
)
...
@@ -60,7 +62,9 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
...
@@ -60,7 +62,9 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
}
}
override
fun
show
(
activity
:
Activity
,
showCallBack
:
AdsShowCallBack
?)
{
override
fun
show
(
activity
:
Activity
,
showCallBack
:
AdsShowCallBack
?)
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
||
!
LimitUtils
.
isAdShow
())
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
||
!
LimitUtils
.
isAdShow
()||
LimitUtils
.
isIntervalLimited
(
lastOpenDate
))
{
showCallBack
?.
failed
()
showCallBack
?.
failed
()
return
return
}
}
...
@@ -88,6 +92,7 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
...
@@ -88,6 +92,7 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
override
fun
onAdShowedFullScreenContent
()
{
override
fun
onAdShowedFullScreenContent
()
{
super
.
onAdShowedFullScreenContent
()
super
.
onAdShowedFullScreenContent
()
lastOpenDate
=
System
.
currentTimeMillis
()
// 广告展示
// 广告展示
currentAd
=
null
currentAd
=
null
activityRef
=
null
activityRef
=
null
...
@@ -128,7 +133,5 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
...
@@ -128,7 +133,5 @@ class AdInsertMgr : BaseAdMgr<InterstitialAd>() {
}
}
}
}
override
fun
adAvailable
():
Boolean
{
override
fun
adAvailable
()=((
System
.
currentTimeMillis
()
-
lastTime
)
/
1000
/
60
).
toInt
()
<
30
return
((
System
.
currentTimeMillis
()
-
lastTime
)
/
1000
/
60
).
toInt
()
<
30
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ads/admob/AdOpenMgr.kt
View file @
fc5034df
...
@@ -18,6 +18,8 @@ import java.lang.ref.WeakReference
...
@@ -18,6 +18,8 @@ import java.lang.ref.WeakReference
*/
*/
class
AdOpenMgr
:
BaseAdMgr
<
AppOpenAd
>()
{
class
AdOpenMgr
:
BaseAdMgr
<
AppOpenAd
>()
{
private
var
lastOpenDate
:
Long
=
0
private
val
adLoadCallback
=
object
:
AppOpenAd
.
AppOpenAdLoadCallback
()
{
private
val
adLoadCallback
=
object
:
AppOpenAd
.
AppOpenAdLoadCallback
()
{
override
fun
onAdLoaded
(
appOpenAd
:
AppOpenAd
)
{
override
fun
onAdLoaded
(
appOpenAd
:
AppOpenAd
)
{
super
.
onAdLoaded
(
appOpenAd
)
super
.
onAdLoaded
(
appOpenAd
)
...
@@ -59,7 +61,10 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
...
@@ -59,7 +61,10 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
}
}
override
fun
show
(
activity
:
Activity
,
showCallBack
:
AdsShowCallBack
?)
{
override
fun
show
(
activity
:
Activity
,
showCallBack
:
AdsShowCallBack
?)
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
||
!
LimitUtils
.
isAdShow
())
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
||
!
LimitUtils
.
isAdShow
()
||
LimitUtils
.
isIntervalLimited
(
lastOpenDate
)
)
{
showCallBack
?.
failed
()
showCallBack
?.
failed
()
return
return
}
}
...
@@ -87,6 +92,7 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
...
@@ -87,6 +92,7 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
override
fun
onAdShowedFullScreenContent
()
{
override
fun
onAdShowedFullScreenContent
()
{
super
.
onAdShowedFullScreenContent
()
super
.
onAdShowedFullScreenContent
()
lastOpenDate
=
System
.
currentTimeMillis
()
// 广告展示
// 广告展示
currentAd
=
null
currentAd
=
null
activityRef
=
null
activityRef
=
null
...
@@ -126,7 +132,5 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
...
@@ -126,7 +132,5 @@ class AdOpenMgr : BaseAdMgr<AppOpenAd>() {
}
}
}
}
override
fun
adAvailable
():
Boolean
{
override
fun
adAvailable
()
=
((
System
.
currentTimeMillis
()
-
lastTime
)
/
1000
/
60
).
toInt
()
<
30
return
((
System
.
currentTimeMillis
()
-
lastTime
)
/
1000
/
60
).
toInt
()
<
30
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ads/admob/LimitUtils.kt
View file @
fc5034df
...
@@ -95,5 +95,12 @@ object LimitUtils {
...
@@ -95,5 +95,12 @@ object LimitUtils {
addNum
(
NUM_CLICK
)
addNum
(
NUM_CLICK
)
}
}
/**
* 开屏和插页广告的显示间隔限制
*
* @param lastTime 上一次显示的时间
*/
fun
isIntervalLimited
(
lastTime
:
Long
)
=
((
System
.
currentTimeMillis
()
-
lastTime
)
/
1000
/
60
).
toInt
()
<
(
AdsMgr
.
adsConfigBean
?.
timeInterval
?:
1
)
}
}
\ 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