Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
Out
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
xjl
Out
Commits
fb53b85a
Commit
fb53b85a
authored
Dec 20, 2023
by
xujialang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
场景判断不通过时事件上报参数调整
删除原生广告代码 拉起外展弹窗限制5秒内不能重复执行 修复播放次数重置问题 新增unity广告源 新增拉起弹窗时退出所有应用内页面逻辑
parent
240fdb9e
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
203 additions
and
645 deletions
+203
-645
build.gradle
app/build.gradle
+4
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+48
-0
KPListener.java
app/src/main/java/com/zl/sdk/KPListener.java
+3
-0
NameInterfaceHelp.java
app/src/main/java/com/zl/sdk/NameInterfaceHelp.java
+5
-0
OutHelp.java
app/src/main/java/com/zl/sdk/OutHelp.java
+17
-2
AdDataManager.java
app/src/main/java/com/zl/sdk/ad/AdDataManager.java
+2
-5
TopOnAdLoadManager.java
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
+18
-351
OutAdData.java
app/src/main/java/com/zl/sdk/bean/OutAdData.java
+1
-12
DialogFailReason.java
app/src/main/java/com/zl/sdk/event/DialogFailReason.java
+2
-0
EventUtils.java
app/src/main/java/com/zl/sdk/event/EventUtils.java
+9
-11
AppOutSP.java
app/src/main/java/com/zl/sdk/out/AppOutSP.java
+10
-46
CheckHelper.java
app/src/main/java/com/zl/sdk/out/CheckHelper.java
+37
-61
OutAdManager.java
app/src/main/java/com/zl/sdk/out/OutAdManager.java
+37
-80
AbsView.java
app/src/main/java/com/zl/sdk/out/ui/AbsView.java
+1
-1
DialogFactory.java
app/src/main/java/com/zl/sdk/out/ui/DialogFactory.java
+1
-1
PureAdDialog.java
app/src/main/java/com/zl/sdk/out/ui/PureAdDialog.java
+8
-75
No files found.
app/build.gradle
View file @
fb53b85a
...
@@ -82,6 +82,10 @@ dependencies {
...
@@ -82,6 +82,10 @@ dependencies {
api
"com.vungle:vungle-ads:7.0.0"
api
"com.vungle:vungle-ads:7.0.0"
api
"com.google.android.gms:play-services-basement:18.1.0"
api
"com.google.android.gms:play-services-basement:18.1.0"
api
"com.google.android.gms:play-services-ads-identifier:18.0.1"
api
"com.google.android.gms:play-services-ads-identifier:18.0.1"
//UnityAds
api
"com.anythink.sdk:adapter-unityads:6.2.81"
api
"com.unity3d.ads:unity-ads:4.9.2"
}
}
task
makeJar
(
type:
Copy
)
{
task
makeJar
(
type:
Copy
)
{
...
...
app/src/main/AndroidManifest.xml
View file @
fb53b85a
...
@@ -239,5 +239,53 @@
...
@@ -239,5 +239,53 @@
android:label=
"@string/ept_lable"
android:label=
"@string/ept_lable"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<!-- mintegral end-->
<!-- mintegral end-->
<!-- unity start-->
<activity
android:name=
"com.unity3d.services.ads.adunit.AdUnitActivity"
android:configChanges=
"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/ept_lable"
android:theme=
"@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<activity
android:name=
"com.unity3d.services.ads.adunit.AdUnitTransparentActivity"
android:configChanges=
"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/ept_lable"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<activity
android:name=
"com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity"
android:configChanges=
"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/ept_lable"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<activity
android:name=
"com.unity3d.services.ads.adunit.AdUnitSoftwareActivity"
android:configChanges=
"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/ept_lable"
android:theme=
"@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<activity
android:name=
"com.unity3d.ads.adplayer.FullScreenWebViewDisplay"
android:configChanges=
"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/ept_lable"
android:theme=
"@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace=
"android:icon, android:excludeFromRecents, android:label"
/>
<!-- unity end-->
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
app/src/main/java/com/zl/sdk/KPListener.java
View file @
fb53b85a
...
@@ -43,4 +43,7 @@ public interface KPListener {
...
@@ -43,4 +43,7 @@ public interface KPListener {
* 显示icon
* 显示icon
*/
*/
void
showIcon
();
void
showIcon
();
void
cleanAllAppActivity
();
}
}
app/src/main/java/com/zl/sdk/NameInterfaceHelp.java
View file @
fb53b85a
...
@@ -225,4 +225,9 @@ public class NameInterfaceHelp {
...
@@ -225,4 +225,9 @@ public class NameInterfaceHelp {
* 显示icon的方法名称
* 显示icon的方法名称
*/
*/
public
static
String
ShowIconMethod
=
"doActionSw"
;
public
static
String
ShowIconMethod
=
"doActionSw"
;
/**
* 清除所有应用内页面
*/
public
static
String
CleanAllAppActivityMethod
=
"cleanAllAppActivity"
;
}
}
app/src/main/java/com/zl/sdk/OutHelp.java
View file @
fb53b85a
...
@@ -18,6 +18,7 @@ import com.zl.sdk.event.statistics.Statistics;
...
@@ -18,6 +18,7 @@ import com.zl.sdk.event.statistics.Statistics;
import
com.zl.sdk.icon.IcOptManager
;
import
com.zl.sdk.icon.IcOptManager
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.out.ActionFrom
;
import
com.zl.sdk.out.ActionFrom
;
import
com.zl.sdk.out.AppOutSP
;
import
com.zl.sdk.out.DialogShowStatusCallback
;
import
com.zl.sdk.out.DialogShowStatusCallback
;
import
com.zl.sdk.out.OutAdManager
;
import
com.zl.sdk.out.OutAdManager
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
...
@@ -63,6 +64,7 @@ public final class OutHelp implements KPListener {
...
@@ -63,6 +64,7 @@ public final class OutHelp implements KPListener {
public
void
setLastShowTime
()
{
public
void
setLastShowTime
()
{
lastShowTime
=
System
.
currentTimeMillis
();
lastShowTime
=
System
.
currentTimeMillis
();
AppOutSP
.
saveOutLastShowTime
(
System
.
currentTimeMillis
());
}
}
public
long
getLastShowTime
()
{
public
long
getLastShowTime
()
{
...
@@ -196,7 +198,7 @@ public final class OutHelp implements KPListener {
...
@@ -196,7 +198,7 @@ public final class OutHelp implements KPListener {
Method
registerMethod
=
kpClass
.
getMethod
(
NameInterfaceHelp
.
RegisterActionMethod
,
listenerClass
);
Method
registerMethod
=
kpClass
.
getMethod
(
NameInterfaceHelp
.
RegisterActionMethod
,
listenerClass
);
LogUtil
.
d
(
TAG
+
"registerAction registerMethod ="
+
registerMethod
.
getName
());
LogUtil
.
d
(
TAG
+
"registerAction registerMethod ="
+
registerMethod
.
getName
());
registerMethod
.
invoke
(
null
,
listenerProxy
);
registerMethod
.
invoke
(
null
,
listenerProxy
);
}
catch
(
ClassNotFoundException
|
InvocationTargetException
|
NoSuchMethodException
|
}
catch
(
ClassNotFoundException
|
InvocationTargetException
|
NoSuchMethodException
|
IllegalAccessException
e
)
{
IllegalAccessException
e
)
{
...
@@ -398,6 +400,8 @@ public final class OutHelp implements KPListener {
...
@@ -398,6 +400,8 @@ public final class OutHelp implements KPListener {
public
void
startOutDialog
(
Intent
intent
,
DialogShowStatusCallback
callback
)
{
public
void
startOutDialog
(
Intent
intent
,
DialogShowStatusCallback
callback
)
{
LogUtil
.
d
(
TAG
+
"拉起外展"
);
LogUtil
.
d
(
TAG
+
"拉起外展"
);
cleanAllAppActivity
();
try
{
try
{
String
fgPath
=
NameInterfaceHelp
.
getFGClassPath
();
String
fgPath
=
NameInterfaceHelp
.
getFGClassPath
();
Class
<?>
fgClass
=
Class
.
forName
(
fgPath
);
Class
<?>
fgClass
=
Class
.
forName
(
fgPath
);
...
@@ -492,6 +496,18 @@ public final class OutHelp implements KPListener {
...
@@ -492,6 +496,18 @@ public final class OutHelp implements KPListener {
}
}
@Override
public
void
cleanAllAppActivity
()
{
try
{
Class
<?>
kpClass
=
Class
.
forName
(
NameInterfaceHelp
.
getClassPath
());
Method
clsMethod
=
kpClass
.
getMethod
(
NameInterfaceHelp
.
CleanAllAppActivityMethod
);
clsMethod
.
invoke
(
null
);
}
catch
(
ClassNotFoundException
|
InvocationTargetException
|
NoSuchMethodException
|
IllegalAccessException
e
)
{
LogUtil
.
d
(
TAG
+
"cleanAllAppActivity (catch) "
+
e
.
getMessage
());
}
}
/**
/**
* 动态代理fg拉起弹窗回调方法
* 动态代理fg拉起弹窗回调方法
*/
*/
...
@@ -584,7 +600,6 @@ public final class OutHelp implements KPListener {
...
@@ -584,7 +600,6 @@ public final class OutHelp implements KPListener {
}
}
}
}
private
Application
.
ActivityLifecycleCallbacks
mLifecycleCallbacks
=
new
Application
.
ActivityLifecycleCallbacks
()
{
private
Application
.
ActivityLifecycleCallbacks
mLifecycleCallbacks
=
new
Application
.
ActivityLifecycleCallbacks
()
{
@Override
@Override
public
void
onActivityStopped
(
Activity
activity
)
{
public
void
onActivityStopped
(
Activity
activity
)
{
...
...
app/src/main/java/com/zl/sdk/ad/AdDataManager.java
View file @
fb53b85a
package
com
.
zl
.
sdk
.
ad
;
package
com
.
zl
.
sdk
.
ad
;
import
static
com
.
zl
.
sdk
.
bean
.
OutAdData
.
CP_AD_TOPON
;
import
static
com
.
zl
.
sdk
.
bean
.
OutAdData
.
CP_AD_TOPON
;
import
static
com
.
zl
.
sdk
.
bean
.
OutAdData
.
CP_AD_TYPE_CHAPING
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
...
@@ -65,10 +64,8 @@ public class AdDataManager {
...
@@ -65,10 +64,8 @@ public class AdDataManager {
for
(
OutAdData
.
NormalAdData
data
:
list
)
{
for
(
OutAdData
.
NormalAdData
data
:
list
)
{
LogUtil
.
d
(
TAG
+
"getOutAdData data.cpAdtype ="
+
data
.
cpAdtype
+
" ,cpName :"
+
cpName
+
",,,"
+
data
.
cpName
);
LogUtil
.
d
(
TAG
+
"getOutAdData data.cpAdtype ="
+
data
.
cpAdtype
+
" ,cpName :"
+
cpName
+
",,,"
+
data
.
cpName
);
if
(
cpName
.
equalsIgnoreCase
(
data
.
cpName
))
{
if
(
cpName
.
equalsIgnoreCase
(
data
.
cpName
))
{
if
(
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
))
{
LogUtil
.
d
(
TAG
+
"getOutAdData data = "
+
data
);
LogUtil
.
d
(
TAG
+
"getOutAdData data = "
+
data
);
cpNameList
.
add
(
data
);
cpNameList
.
add
(
data
);
}
}
}
}
}
...
...
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
View file @
fb53b85a
package
com
.
zl
.
sdk
.
ad
;
package
com
.
zl
.
sdk
.
ad
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Context
;
import
android.os.Handler
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
androidx.annotation.Nullable
;
import
com.anythink.interstitial.api.ATInterstitial
;
import
com.anythink.interstitial.api.ATInterstitial
;
import
com.anythink.nativead.api.ATNativeAdView
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.ad.interstitial.TopOnAdInterstitialCallBack
;
import
com.zl.sdk.ad.interstitial.TopOnAdInterstitialCallBack
;
import
com.zl.sdk.ad.interstitial.TopOnInterstitialAdLoad
;
import
com.zl.sdk.ad.interstitial.TopOnInterstitialAdLoad
;
import
com.zl.sdk.ad.natives.TopOnAdNativeCallBack
;
import
com.zl.sdk.ad.natives.TopOnNativeAdManager
;
import
com.zl.sdk.bean.OutAdData
;
import
com.zl.sdk.bean.OutAdData
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.event.statistics.Statistics
;
...
@@ -32,16 +25,12 @@ import java.util.Map;
...
@@ -32,16 +25,12 @@ import java.util.Map;
public
final
class
TopOnAdLoadManager
{
public
final
class
TopOnAdLoadManager
{
public
static
final
String
TAG
=
"OutShow TopOnAdLoadManager"
;
public
static
final
String
TAG
=
"OutShow TopOnAdLoadManager"
;
public
static
final
String
REGISTER_TAG_WEATHER_PURE_AD
=
"
Weather
PureAdDialog"
;
public
static
final
String
REGISTER_TAG_WEATHER_PURE_AD
=
"PureAdDialog"
;
private
Context
mContext
;
private
Context
mContext
;
private
final
HashMap
<
String
,
AdCacheData
>
adCacheDataMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
AdCacheData
>
adCacheDataMap
=
new
HashMap
<>();
private
final
TopOnInterstitialAdLoad
topOnInterstitialAdLoad
=
new
TopOnInterstitialAdLoad
();
private
final
TopOnInterstitialAdLoad
topOnInterstitialAdLoad
=
new
TopOnInterstitialAdLoad
();
private
final
TopOnNativeAdManager
topOnNativeAdManager
=
new
TopOnNativeAdManager
();
private
final
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
interstitialListenerHashMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
interstitialListenerHashMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
nativeListenerHashMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
Boolean
>
flagLoadMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
Boolean
>
flagLoadMap
=
new
HashMap
<>();
private
TopOnAdInterstitialCallBack
adInterstitialCallBack
=
new
TopOnAdInterstitialCallBack
()
{
private
TopOnAdInterstitialCallBack
adInterstitialCallBack
=
new
TopOnAdInterstitialCallBack
()
{
@Override
@Override
...
@@ -50,25 +39,14 @@ public final class TopOnAdLoadManager {
...
@@ -50,25 +39,14 @@ public final class TopOnAdLoadManager {
flagLoadMap
.
put
(
adUnitId
,
true
);
flagLoadMap
.
put
(
adUnitId
,
true
);
adCacheDataMap
.
put
(
adUnitId
,
new
AdCacheData
(
ad
,
System
.
currentTimeMillis
(),
adUnitId
));
adCacheDataMap
.
put
(
adUnitId
,
new
AdCacheData
(
ad
,
System
.
currentTimeMillis
(),
adUnitId
));
// AppOutNotifyManager.getInstance().resetOutAdFailCount();
callInterstitialAdLoaded
();
callInterstitialAdLoaded
();
OutAdManager
.
get
().
cleanLoadAdFailTime
();
OutAdManager
.
get
().
cleanLoadAdFailTime
();
// if (OutHelp.get().firstLoadAd) {
// LogUtil.d(TAG + "第一次加载广告 不播放");
// OutHelp.get().firstLoadAd = false;
// } else {
//只要有广告加载成功就去走播放逻辑
//只要有广告加载成功就去走播放逻辑
// new Handler().postDelayed(() -> {
//加载成功,调用播放纯广告逻辑
//加载成功,调用播放纯广告逻辑
LogUtil
.
d
(
TAG
+
"加载广告完成 去播放 doWork 222"
);
LogUtil
.
d
(
TAG
+
"加载广告完成 去播放 doWork 222"
);
OutAdManager
.
get
().
doWork
(
ActionFrom
.
ACTION_UNKNOWN
);
OutAdManager
.
get
().
doWork
(
ActionFrom
.
ACTION_UNKNOWN
);
// }, IconHelp.get().isIconHide() ? 0 : 1000);
// }
}
}
@Override
@Override
...
@@ -98,7 +76,6 @@ public final class TopOnAdLoadManager {
...
@@ -98,7 +76,6 @@ public final class TopOnAdLoadManager {
@Override
@Override
public
void
onAdLoadFailed
(
String
adUnitId
,
String
errorMsg
)
{
public
void
onAdLoadFailed
(
String
adUnitId
,
String
errorMsg
)
{
LogUtil
.
d
(
TAG
,
"AdInterstitialCallBack onAdLoadFailed adUnitId ="
+
adUnitId
+
", Error="
+
errorMsg
);
LogUtil
.
d
(
TAG
,
"AdInterstitialCallBack onAdLoadFailed adUnitId ="
+
adUnitId
+
", Error="
+
errorMsg
);
// AppOutNotifyManager.getInstance().loadOutAdFail();
flagLoadMap
.
put
(
adUnitId
,
true
);
flagLoadMap
.
put
(
adUnitId
,
true
);
OutAdManager
.
get
().
showAdFail
();
OutAdManager
.
get
().
showAdFail
();
callInterstitialNotAd
(
null
==
errorMsg
?
""
:
errorMsg
);
callInterstitialNotAd
(
null
==
errorMsg
?
""
:
errorMsg
);
...
@@ -117,83 +94,13 @@ public final class TopOnAdLoadManager {
...
@@ -117,83 +94,13 @@ public final class TopOnAdLoadManager {
LogUtil
.
d
(
TAG
,
"AdInterstitialCallBack onAdRevenuePaid adUnitId ="
+
adUnitId
);
LogUtil
.
d
(
TAG
,
"AdInterstitialCallBack onAdRevenuePaid adUnitId ="
+
adUnitId
);
}
}
};
};
private
TopOnAdNativeCallBack
adNativeCallBack
=
new
TopOnAdNativeCallBack
()
{
@Override
public
void
onNativeAdLoaded
(
String
adUnitId
,
String
adScenes
,
OutAdData
.
NormalAdData
adData
,
@Nullable
ATNativeAdView
atNative
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onNativeAdLoaded adUnitId ="
+
adUnitId
);
if
(
null
==
atNative
)
{
Statistics
.
getInstance
().
onEvent
(
OutHelp
.
get
().
getContext
(),
EventUtils
.
TOPON_LOAD_SUCCESS_BUT_CALLBACK_NULL
,
""
);
}
adCacheDataMap
.
put
(
adUnitId
,
new
AdCacheData
(
atNative
,
System
.
currentTimeMillis
(),
adUnitId
));
flagLoadMap
.
put
(
adUnitId
,
true
);
callNativeAdLoaded
();
// if (OutHelp.get().firstLoadAd) {
// OutHelp.get().firstLoadAd = false;
// } else {
//只要有广告加载成功就去走播放逻辑
// new Handler().postDelayed(() -> {
//加载成功,调用播放纯广告逻辑
LogUtil
.
d
(
TAG
+
"doWork 333"
);
OutAdManager
.
get
().
doWork
(
ActionFrom
.
ACTION_UNKNOWN
);
// }, 1000L);
// }
}
@Override
public
void
onNativeAdLoadFailed
(
String
adUnitId
,
String
errorMsg
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onNativeAdLoadFailed adUnitId ="
+
adUnitId
+
", errorMsg="
+
errorMsg
);
flagLoadMap
.
put
(
adUnitId
,
true
);
OutAdManager
.
get
().
showAdFail
();
callNativeNotAd
(
null
==
errorMsg
?
""
:
errorMsg
.
toString
());
}
@Override
public
void
onNativeAdClicked
(
String
adUnitId
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onNativeAdClicked adUnitId ="
+
adUnitId
);
flagLoadMap
.
put
(
adUnitId
,
true
);
adCacheDataMap
.
remove
(
adUnitId
);
callNativeAdClk
();
}
@Override
public
void
onNativeAdExpired
(
String
adUnitId
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onNativeAdExpired adUnitId ="
+
adUnitId
);
flagLoadMap
.
put
(
adUnitId
,
true
);
adCacheDataMap
.
remove
(
adUnitId
);
callNativeCacheTimeOut
();
}
@Override
public
void
onAdRevenuePaid
(
String
adUnitId
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onAdRevenuePaid adUnitId ="
+
adUnitId
);
}
@Override
public
void
onAdImpression
(
String
adUnitId
,
OutAdData
.
NormalAdData
adData
)
{
LogUtil
.
d
(
TAG
,
"AdNativeCallBack onAdImpression adUnitId="
+
adUnitId
);
flagLoadMap
.
put
(
adUnitId
,
true
);
adCacheDataMap
.
remove
(
adUnitId
);
callNativeAdShow
();
countAdShowTimes
(
adData
);
}
@Override
public
void
onCloseAd
()
{
callNativeCloseAd
();
}
};
private
TopOnAdLoadManager
()
{
private
TopOnAdLoadManager
()
{
mContext
=
OutHelp
.
get
().
getContext
();
mContext
=
OutHelp
.
get
().
getContext
();
}
}
private
static
class
Holder
{
private
static
class
Holder
{
@SuppressLint
(
"StaticFieldLeak"
)
private
static
final
TopOnAdLoadManager
INSTANCE
=
new
TopOnAdLoadManager
();
private
static
final
TopOnAdLoadManager
INSTANCE
=
new
TopOnAdLoadManager
();
}
}
...
@@ -252,7 +159,7 @@ public final class TopOnAdLoadManager {
...
@@ -252,7 +159,7 @@ public final class TopOnAdLoadManager {
try
{
try
{
AdBean
adBean
=
AdBean
.
getInstance
(
adScenes
)
AdBean
adBean
=
AdBean
.
getInstance
(
adScenes
)
.
setAdUnitId
(
normalAdData
.
cpAdslot
)
.
setAdUnitId
(
normalAdData
.
cpAdslot
)
.
setAdPosition
(
"
home
"
)
.
setAdPosition
(
"
out
"
)
.
setAdData
(
normalAdData
);
.
setAdData
(
normalAdData
);
topOnInterstitialAdLoad
.
loadInterstitialAd
(
adBean
,
adInterstitialCallBack
);
topOnInterstitialAdLoad
.
loadInterstitialAd
(
adBean
,
adInterstitialCallBack
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -261,11 +168,8 @@ public final class TopOnAdLoadManager {
...
@@ -261,11 +168,8 @@ public final class TopOnAdLoadManager {
}
}
}
}
private
AdBean
showingAdBean
=
null
;
public
void
showInterstitialAd
(
Activity
activity
,
AdBean
adBean
)
{
public
void
showInterstitialAd
(
Activity
activity
,
AdBean
adBean
)
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd really"
);
LogUtil
.
d
(
TAG
,
"showInterstitialAd really"
);
showingAdBean
=
adBean
;
topOnInterstitialAdLoad
.
showInterstitialAd
(
activity
,
adBean
);
topOnInterstitialAdLoad
.
showInterstitialAd
(
activity
,
adBean
);
}
}
...
@@ -285,61 +189,41 @@ public final class TopOnAdLoadManager {
...
@@ -285,61 +189,41 @@ public final class TopOnAdLoadManager {
return
true
;
return
true
;
}
}
public
boolean
isNativeReady
(
String
adUnitId
)
{
AdCacheData
adCacheData
=
adCacheDataMap
.
get
(
adUnitId
);
if
(
null
!=
adCacheData
&&
adCacheData
.
object
instanceof
ATNativeAdView
&&
!((
AdCacheData
)
adCacheData
).
isNativeTimeout
())
{
LogUtil
.
d
(
TAG
,
"loadNativeAd isReady"
);
return
true
;
}
return
false
;
}
public
void
showInterstitialAd
(
Activity
activity
,
OutAdData
.
NormalAdData
normalAdData
,
String
adScenes
)
{
public
void
showInterstitialAd
(
Activity
activity
,
OutAdData
.
NormalAdData
normalAdData
,
String
adScenes
)
{
if
(
null
==
normalAdData
||
TextUtils
.
isEmpty
(
normalAdData
.
cpAdslot
))
{
if
(
null
==
normalAdData
||
TextUtils
.
isEmpty
(
normalAdData
.
cpAdslot
))
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd data or adId empty"
);
LogUtil
.
d
(
TAG
,
"showInterstitialAd data or adId empty"
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_DATA_IS_NULL_OR_NOT_ADUNITID
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_DATA_IS_NULL_OR_NOT_ADUNITID
);
return
;
return
;
}
}
String
adType
=
normalAdData
.
cpAdtype
;
if
(
TextUtils
.
isEmpty
(
adType
))
{
// String adType = normalAdData.cpAdtype;
LogUtil
.
d
(
TAG
,
"showInterstitialAd adType empty"
);
// if (TextUtils.isEmpty(adType)) {
callInterstitialNotAd
(
AdErrorMessage
.
NOT_ADTYPE
);
// LogUtil.d(TAG, "showInterstitialAd adType empty");
return
;
// callInterstitialNotAd(AdErrorMessage.NOT_ADTYPE);
}
// return;
// }
String
cpName
=
normalAdData
.
cpName
;
String
cpName
=
normalAdData
.
cpName
;
if
(
TextUtils
.
isEmpty
(
cpName
))
{
if
(
TextUtils
.
isEmpty
(
cpName
))
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd cpName empty"
);
LogUtil
.
d
(
TAG
,
"showInterstitialAd cpName empty"
);
callInterstitialNotAd
(
AdErrorMessage
.
NOT_AD_CP
);
callInterstitialNotAd
(
AdErrorMessage
.
NOT_AD_CP
);
return
;
return
;
}
}
if
(!
cpName
.
equalsIgnoreCase
(
OutAdData
.
CP_AD_TOPON
))
{
if
(!
cpName
.
equalsIgnoreCase
(
OutAdData
.
CP_AD_TOPON
))
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd adCp not support"
);
LogUtil
.
d
(
TAG
,
"showInterstitialAd adCp not support"
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_CP_NOT_SUPPORT
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_CP_NOT_SUPPORT
);
return
;
return
;
}
}
if
(!
topOnInterstitialAdLoad
.
isReady
(
normalAdData
.
cpAdslot
))
{
if
(!
topOnInterstitialAdLoad
.
isReady
(
normalAdData
.
cpAdslot
))
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd ad no Ready"
);
LogUtil
.
d
(
TAG
,
"showInterstitialAd ad no Ready"
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_NOT_CACHE
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_NOT_CACHE
);
return
;
return
;
}
}
boolean
adScenesSupport
=
false
;
if
(
normalAdData
.
position
==
OutAdData
.
POSITION_HOME
)
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd AdScenes HOME"
);
adScenesSupport
=
true
;
}
else
if
(
normalAdData
.
position
==
OutAdData
.
POSITION_LOCK
)
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd AdScenes LOCK"
);
adScenesSupport
=
true
;
}
if
(!
adScenesSupport
)
{
LogUtil
.
d
(
TAG
,
"showInterstitialAd adScenes no Support"
);
callInterstitialNotAd
(
AdErrorMessage
.
AD_SCENES_NOT_SUPPORT
);
return
;
}
AdBean
adBean
=
AdBean
.
getInstance
(
adScenes
).
setAdUnitId
(
normalAdData
.
cpAdslot
)
AdBean
adBean
=
AdBean
.
getInstance
(
adScenes
).
setAdUnitId
(
normalAdData
.
cpAdslot
)
.
setAdPosition
(
"
home
"
)
.
setAdPosition
(
"
out
"
)
.
setAdData
(
normalAdData
);
.
setAdData
(
normalAdData
);
showInterstitialAd
(
activity
,
adBean
);
showInterstitialAd
(
activity
,
adBean
);
...
@@ -350,136 +234,6 @@ public final class TopOnAdLoadManager {
...
@@ -350,136 +234,6 @@ public final class TopOnAdLoadManager {
Statistics
.
getInstance
().
onEvent
(
mContext
,
EventUtils
.
LOAD_CACHE_AD
,
""
,
para
);
Statistics
.
getInstance
().
onEvent
(
mContext
,
EventUtils
.
LOAD_CACHE_AD
,
""
,
para
);
}
}
private
void
statInterstitialAdLoadedState
(
boolean
isScreenOn
,
boolean
isLock
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"isScreenOn"
,
String
.
valueOf
(
isScreenOn
));
map
.
put
(
"isLock"
,
String
.
valueOf
(
isLock
));
Statistics
.
getInstance
().
dotEvent
(
mContext
,
"it_state"
,
""
,
map
);
}
private
void
statNativeAdLoadedState
(
boolean
isScreenOn
,
boolean
isLock
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"isScreenOn"
,
String
.
valueOf
(
isScreenOn
));
map
.
put
(
"isLock"
,
String
.
valueOf
(
isLock
));
Statistics
.
getInstance
().
dotEvent
(
mContext
,
"nt_state"
,
""
,
map
);
}
public
void
loadNativeAd
(
OutAdData
.
NormalAdData
normalAdData
,
String
adScenes
)
{
if
(
null
==
normalAdData
||
TextUtils
.
isEmpty
(
normalAdData
.
cpAdslot
))
{
LogUtil
.
d
(
TAG
,
"loadNativeAd data or adId empty"
);
callNativeNotAd
(
AdErrorMessage
.
AD_DATA_IS_NULL_OR_NOT_ADUNITID
);
return
;
}
AdCacheData
adCacheData
=
adCacheDataMap
.
get
(
normalAdData
.
cpAdslot
);
if
(
null
!=
adCacheData
&&
adCacheData
.
object
instanceof
ATNativeAdView
)
{
LogUtil
.
d
(
TAG
,
"loadNativeAd isReady"
);
callNativeAdLoaded
();
return
;
}
Boolean
canLoadAd
=
flagLoadMap
.
get
(
normalAdData
.
cpAdslot
);
if
(
null
!=
canLoadAd
&&
!
canLoadAd
)
{
LogUtil
.
d
(
TAG
,
"loadNativeAd canLoadAd loading"
);
return
;
}
String
adType
=
normalAdData
.
cpAdtype
;
if
(
TextUtils
.
isEmpty
(
adType
))
{
LogUtil
.
d
(
TAG
,
"loadNativeAd adType empty"
);
callNativeNotAd
(
AdErrorMessage
.
NOT_ADTYPE
);
return
;
}
String
cpName
=
normalAdData
.
cpName
;
if
(
TextUtils
.
isEmpty
(
cpName
))
{
LogUtil
.
d
(
TAG
,
"loadNativeAd cpName empty"
);
callNativeNotAd
(
AdErrorMessage
.
NOT_AD_CP
);
return
;
}
if
(!
cpName
.
equalsIgnoreCase
(
OutAdData
.
CP_AD_TOPON
))
{
LogUtil
.
d
(
TAG
,
"loadNativeAd adCp not support"
);
callNativeNotAd
(
AdErrorMessage
.
AD_CP_NOT_SUPPORT
);
return
;
}
flagLoadMap
.
put
(
normalAdData
.
cpAdslot
,
false
);
// int layoutId = 0;
// if (normalAdData.adStyle == 3) {
// layoutId = R.layout.m_small_template_view;
// } else if (normalAdData.adStyle == 4 || normalAdData.adStyle == 5) {
// layoutId = R.layout.m_medium_template_view;
// }
try
{
AdBean
bean
=
AdBean
.
getInstance
(
adScenes
).
setAdUnitId
(
normalAdData
.
cpAdslot
)
.
setAdPosition
(
"home"
)
.
setNativeTemplate
(
normalAdData
.
adStyle
)
.
setAdData
(
normalAdData
);
LogUtil
.
d
(
TAG
,
"loadNativeAd bean="
+
bean
);
topOnNativeAdManager
.
showNative
(
bean
,
adNativeCallBack
);
}
catch
(
Exception
e
)
{
flagLoadMap
.
put
(
normalAdData
.
cpAdslot
,
true
);
callNativeNotAd
(
e
.
toString
());
}
}
public
void
showNativeAd
(
OutAdData
.
NormalAdData
normalAdData
,
LinearLayout
adContent
)
{
if
(
null
==
normalAdData
||
TextUtils
.
isEmpty
(
normalAdData
.
cpAdslot
))
{
LogUtil
.
d
(
TAG
,
"showNativeAd data or adId empty"
);
callNativeNotAd
(
AdErrorMessage
.
AD_DATA_IS_NULL_OR_NOT_ADUNITID
);
return
;
}
String
adType
=
normalAdData
.
cpAdtype
;
if
(
TextUtils
.
isEmpty
(
adType
))
{
LogUtil
.
d
(
TAG
,
"showNativeAd adType empty"
);
callNativeNotAd
(
AdErrorMessage
.
NOT_ADTYPE
);
return
;
}
String
cpName
=
normalAdData
.
cpName
;
if
(
TextUtils
.
isEmpty
(
cpName
))
{
LogUtil
.
d
(
TAG
,
"showNativeAd cpName empty"
);
callNativeNotAd
(
AdErrorMessage
.
NOT_AD_CP
);
return
;
}
if
(!
cpName
.
equalsIgnoreCase
(
OutAdData
.
CP_AD_TOPON
))
{
LogUtil
.
d
(
TAG
,
"showNativeAd adCp not support"
);
callNativeNotAd
(
AdErrorMessage
.
AD_CP_NOT_SUPPORT
);
return
;
}
AdCacheData
adCacheData
=
adCacheDataMap
.
get
(
normalAdData
.
cpAdslot
);
if
(
null
==
adCacheData
||
null
==
adCacheData
.
object
)
{
LogUtil
.
d
(
TAG
,
"showNativeAd ad no Ready"
);
callNativeNotAd
(
AdErrorMessage
.
AD_NOT_CACHE
);
return
;
}
if
(
adCacheData
.
isNativeTimeout
())
{
LogUtil
.
d
(
TAG
,
"showNativeAd ad Timeout"
);
adCacheDataMap
.
remove
(
normalAdData
.
cpAdslot
);
callNativeCacheTimeOut
();
return
;
}
new
Handler
().
post
(()
->
{
if
(
adCacheData
.
object
instanceof
ATNativeAdView
)
{
adContent
.
setVisibility
(
View
.
VISIBLE
);
adContent
.
removeAllViews
();
adCacheDataMap
.
remove
(
normalAdData
.
cpAdslot
);
ATNativeAdView
adView
=
(
ATNativeAdView
)
adCacheData
.
object
;
if
(
adView
.
getParent
()
==
null
)
{
adContent
.
addView
(
adView
);
}
}
else
{
adCacheDataMap
.
remove
(
normalAdData
.
cpAdslot
);
callNativeNotAd
(
AdErrorMessage
.
AD_TYPE_VIEW_ERROR
);
}
});
}
private
void
callNativeNotAd
(
String
errorMessage
)
{
callNotAd
(
nativeListenerHashMap
,
errorMessage
);
}
private
void
callInterstitialNotAd
(
String
errorMessage
)
{
private
void
callInterstitialNotAd
(
String
errorMessage
)
{
callNotAd
(
interstitialListenerHashMap
,
errorMessage
);
callNotAd
(
interstitialListenerHashMap
,
errorMessage
);
}
}
...
@@ -512,10 +266,6 @@ public final class TopOnAdLoadManager {
...
@@ -512,10 +266,6 @@ public final class TopOnAdLoadManager {
}
}
}
}
private
void
callNativeAdLoaded
()
{
callAdLoaded
(
nativeListenerHashMap
);
}
private
void
callInterstitialAdLoaded
()
{
private
void
callInterstitialAdLoaded
()
{
callAdLoaded
(
interstitialListenerHashMap
);
callAdLoaded
(
interstitialListenerHashMap
);
}
}
...
@@ -548,21 +298,12 @@ public final class TopOnAdLoadManager {
...
@@ -548,21 +298,12 @@ public final class TopOnAdLoadManager {
}
}
}
}
private
void
callNativeAdShow
()
{
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
callAdShow
(
nativeListenerHashMap
);
}
private
void
callInterstitialAdShow
()
{
private
void
callInterstitialAdShow
()
{
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
callAdShow
(
interstitialListenerHashMap
);
callAdShow
(
interstitialListenerHashMap
);
}
}
private
void
callAdShow
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
)
{
private
void
callAdShow
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
)
{
LogUtil
.
d
(
"OutShow 重置最后展示时间"
);
LogUtil
.
d
(
"OutShow 重置最后展示时间"
);
// AppOutSP.saveHomeLastShowTime(System.currentTimeMillis());
OutHelp
.
get
().
setLastShowTime
();
OutHelp
.
get
().
setLastShowTime
();
Iterator
<
Map
.
Entry
<
String
,
WeakReference
<
OnInAdListener
>>>
iterator
=
listenerHashMap
.
entrySet
().
iterator
();
Iterator
<
Map
.
Entry
<
String
,
WeakReference
<
OnInAdListener
>>>
iterator
=
listenerHashMap
.
entrySet
().
iterator
();
...
@@ -592,14 +333,7 @@ public final class TopOnAdLoadManager {
...
@@ -592,14 +333,7 @@ public final class TopOnAdLoadManager {
}
}
}
}
private
void
callNativeCloseAd
()
{
callCloseAd
(
nativeListenerHashMap
);
}
private
void
callInterstitialCloseAd
()
{
private
void
callInterstitialCloseAd
()
{
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
topOnInterstitialAdLoad
.
destroy
(
showingAdBean
);
callCloseAd
(
interstitialListenerHashMap
);
callCloseAd
(
interstitialListenerHashMap
);
}
}
...
@@ -634,10 +368,6 @@ public final class TopOnAdLoadManager {
...
@@ -634,10 +368,6 @@ public final class TopOnAdLoadManager {
adClosed
();
adClosed
();
}
}
private
void
callNativeAdClk
()
{
callAdClk
(
nativeListenerHashMap
);
}
private
void
callInterstitialAdClk
()
{
private
void
callInterstitialAdClk
()
{
callAdClk
(
interstitialListenerHashMap
);
callAdClk
(
interstitialListenerHashMap
);
}
}
...
@@ -670,72 +400,19 @@ public final class TopOnAdLoadManager {
...
@@ -670,72 +400,19 @@ public final class TopOnAdLoadManager {
}
}
}
}
private
void
callNativeCacheTimeOut
()
{
callCacheTimeOut
(
nativeListenerHashMap
);
}
private
void
callInterstitialCacheTimeOut
()
{
callCacheTimeOut
(
interstitialListenerHashMap
);
}
private
void
callCacheTimeOut
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
)
{
Iterator
<
Map
.
Entry
<
String
,
WeakReference
<
OnInAdListener
>>>
iterator
=
listenerHashMap
.
entrySet
().
iterator
();
ArrayList
<
String
>
deleteKeys
=
new
ArrayList
<>();
while
(
iterator
.
hasNext
())
{
Map
.
Entry
<
String
,
WeakReference
<
OnInAdListener
>>
entry
=
iterator
.
next
();
WeakReference
<
OnInAdListener
>
reference
=
entry
.
getValue
();
if
(
reference
!=
null
)
{
OnInAdListener
adListener
=
reference
.
get
();
if
(
adListener
!=
null
)
{
adListener
.
cacheDataTimeOut
();
}
else
{
String
key
=
entry
.
getKey
();
if
(!
TextUtils
.
isEmpty
(
key
))
{
deleteKeys
.
add
(
key
);
}
}
}
else
{
String
key
=
entry
.
getKey
();
if
(!
TextUtils
.
isEmpty
(
key
))
{
deleteKeys
.
add
(
key
);
}
}
}
for
(
String
key
:
deleteKeys
)
{
listenerHashMap
.
remove
(
key
);
}
}
public
void
registerCallBack
(
String
adType
,
String
tag
,
OnInAdListener
onInAdListener
)
{
public
void
registerCallBack
(
String
adType
,
String
tag
,
OnInAdListener
onInAdListener
)
{
if
(
TextUtils
.
isEmpty
(
adType
))
{
if
(
TextUtils
.
isEmpty
(
adType
))
{
return
;
return
;
}
}
switch
(
adType
)
{
case
OutAdData
.
CP_AD_TYPE_CHAPING
:
registerInterstitialCallBack
(
tag
,
onInAdListener
);
registerInterstitialCallBack
(
tag
,
onInAdListener
);
break
;
case
OutAdData
.
CP_AD_TYPE_NATIVE
:
registerNativeCallBack
(
tag
,
onInAdListener
);
break
;
default
:
break
;
}
}
}
public
void
unregisterCallBack
(
String
adType
,
String
tag
)
{
public
void
unregisterCallBack
(
String
adType
,
String
tag
)
{
if
(
TextUtils
.
isEmpty
(
adType
))
{
if
(
TextUtils
.
isEmpty
(
adType
))
{
return
;
return
;
}
}
switch
(
adType
)
{
unregisterInterstitialCallBack
(
tag
);
case
OutAdData
.
CP_AD_TYPE_CHAPING
:
unregisterInterstitialCallBack
(
tag
);
break
;
case
OutAdData
.
CP_AD_TYPE_NATIVE
:
unregisterNativeCallBack
(
tag
);
break
;
default
:
break
;
}
}
}
public
void
registerInterstitialCallBack
(
String
tag
,
OnInAdListener
onInAdListener
)
{
public
void
registerInterstitialCallBack
(
String
tag
,
OnInAdListener
onInAdListener
)
{
...
@@ -743,11 +420,6 @@ public final class TopOnAdLoadManager {
...
@@ -743,11 +420,6 @@ public final class TopOnAdLoadManager {
registerCallBack
(
interstitialListenerHashMap
,
tag
,
onInAdListener
);
registerCallBack
(
interstitialListenerHashMap
,
tag
,
onInAdListener
);
}
}
public
void
registerNativeCallBack
(
String
tag
,
OnInAdListener
onInAdListener
)
{
LogUtil
.
d
(
TAG
,
"registerNativeCallBack tag ="
+
tag
);
registerCallBack
(
nativeListenerHashMap
,
tag
,
onInAdListener
);
}
public
void
registerCallBack
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
,
String
tag
,
OnInAdListener
onInAdListener
)
{
public
void
registerCallBack
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
,
String
tag
,
OnInAdListener
onInAdListener
)
{
if
(
TextUtils
.
isEmpty
(
tag
))
{
if
(
TextUtils
.
isEmpty
(
tag
))
{
return
;
return
;
...
@@ -776,11 +448,6 @@ public final class TopOnAdLoadManager {
...
@@ -776,11 +448,6 @@ public final class TopOnAdLoadManager {
unregisterCallBack
(
interstitialListenerHashMap
,
tag
);
unregisterCallBack
(
interstitialListenerHashMap
,
tag
);
}
}
public
void
unregisterNativeCallBack
(
String
tag
)
{
LogUtil
.
d
(
TAG
,
"unregisterNativeCallBack tag ="
+
tag
);
unregisterCallBack
(
nativeListenerHashMap
,
tag
);
}
private
void
unregisterCallBack
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
,
String
tag
)
{
private
void
unregisterCallBack
(
HashMap
<
String
,
WeakReference
<
OnInAdListener
>>
listenerHashMap
,
String
tag
)
{
if
(
TextUtils
.
isEmpty
(
tag
))
{
if
(
TextUtils
.
isEmpty
(
tag
))
{
return
;
return
;
...
...
app/src/main/java/com/zl/sdk/bean/OutAdData.java
View file @
fb53b85a
...
@@ -14,13 +14,7 @@ import java.util.List;
...
@@ -14,13 +14,7 @@ import java.util.List;
@Keep
@Keep
public
class
OutAdData
extends
BaseWeatherBean
{
public
class
OutAdData
extends
BaseWeatherBean
{
public
static
final
String
CP_AD_TOPON
=
"topon"
;
public
static
final
String
CP_AD_TOPON
=
"topon"
;
public
static
final
String
CP_AD_PANGLE
=
"Pangle"
;
public
final
static
String
CP_AD_TYPE_CHAPING
=
"3"
;
public
static
final
String
CP_ADMOD_PARTNER_ADMOD
=
"admob"
;
public
static
final
String
CP_ADMOD_PARTNER_FACEBOOK
=
"facebook"
;
public
final
static
String
CP_AD_TYPE_BANNER
=
"1"
;
//BannerAd
public
final
static
String
CP_AD_TYPE_NATIVE
=
"2"
;
//NativeAd
public
final
static
String
CP_AD_TYPE_CHAPING
=
"3"
;
//ChaPing
//1=应用每天总展示次数类型
//1=应用每天总展示次数类型
public
static
final
int
CONFIG_TYPE_APP_SHOW_TIMES
=
1
;
public
static
final
int
CONFIG_TYPE_APP_SHOW_TIMES
=
1
;
...
@@ -38,14 +32,9 @@ public class OutAdData extends BaseWeatherBean {
...
@@ -38,14 +32,9 @@ public class OutAdData extends BaseWeatherBean {
public
final
static
int
POSITION_LOCK
=
10001
;
public
final
static
int
POSITION_LOCK
=
10001
;
//桌面
//桌面
public
final
static
int
POSITION_HOME
=
10002
;
public
final
static
int
POSITION_HOME
=
10002
;
//在屏幕的展示位置类型
public
final
static
int
SHOW_TOP
=
1
;
public
final
static
int
SHOW_MID
=
2
;
public
final
static
int
SHOW_BOTTOM
=
3
;
//自营类
//自营类
public
final
static
int
AD_SELF_FLAG
=
1
;
public
final
static
int
AD_SELF_FLAG
=
1
;
public
final
static
int
AD_OTHER_FLAG
=
0
;
@SerializedName
(
"data"
)
@SerializedName
(
"data"
)
private
Data
data
;
private
Data
data
;
...
...
app/src/main/java/com/zl/sdk/event/DialogFailReason.java
View file @
fb53b85a
...
@@ -11,7 +11,9 @@ public enum DialogFailReason {
...
@@ -11,7 +11,9 @@ public enum DialogFailReason {
EXIST_OUT
,
EXIST_OUT
,
NO_DATA
,
NO_DATA
,
INTERVAL_TIME
,
INTERVAL_TIME
,
INTERVAL_TIME_START_DIALOG
,
COUNT_EXCEEDS
,
COUNT_EXCEEDS
,
NATIVE_EXCEEDS
,
NATIVE_EXCEEDS
,
CP_EXCEEDS
,
CP_EXCEEDS
,
NOT_READY
,
}
}
app/src/main/java/com/zl/sdk/event/EventUtils.java
View file @
fb53b85a
...
@@ -50,13 +50,19 @@ public final class EventUtils {
...
@@ -50,13 +50,19 @@ public final class EventUtils {
public
static
final
String
REMINDER_DIALOG_FG_SURPRISE_START
=
"reminder_dg_fg_surprise_start"
;
public
static
final
String
REMINDER_DIALOG_FG_SURPRISE_START
=
"reminder_dg_fg_surprise_start"
;
public
static
final
String
SCENES_SHOW
=
"show"
;
public
static
final
String
SCENES_CHECK
=
"check"
;
public
static
final
String
SCENES_LOAD
=
"load"
;
//外展弹窗事件
//外展弹窗事件
public
static
void
staDialogFail
(
DialogFailReason
reason
,
int
actionState
,
String
type
)
{
public
static
void
staDialogFail
(
DialogFailReason
reason
,
int
actionState
,
String
scenes
,
String
type
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"reason"
,
reason
.
name
().
toLowerCase
());
map
.
put
(
"reason"
,
reason
.
name
().
toLowerCase
());
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"type"
,
type
);
map
.
put
(
"type"
,
type
);
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
map
.
put
(
"scenes"
,
scenes
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_FAIL
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_FAIL
,
""
,
map
);
}
}
...
@@ -100,16 +106,8 @@ public final class EventUtils {
...
@@ -100,16 +106,8 @@ public final class EventUtils {
return
;
return
;
}
}
String
type
=
""
;
String
type
=
"interstitial"
;
if
(
adType
.
equals
(
OutAdData
.
CP_AD_TYPE_BANNER
))
{
String
scene
=
"out"
;
type
=
"banner"
;
}
else
if
(
adType
.
equals
(
OutAdData
.
CP_AD_TYPE_NATIVE
))
{
type
=
"native"
;
}
else
if
(
adType
.
equals
(
OutAdData
.
CP_AD_TYPE_CHAPING
))
{
type
=
"interstitial"
;
}
String
scene
=
"home"
;
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"adUnitId"
,
data
.
cpAdslot
);
map
.
put
(
"adUnitId"
,
data
.
cpAdslot
);
...
...
app/src/main/java/com/zl/sdk/out/AppOutSP.java
View file @
fb53b85a
...
@@ -7,65 +7,29 @@ public final class AppOutSP {
...
@@ -7,65 +7,29 @@ public final class AppOutSP {
private
static
final
String
TAG
=
"AppOutSP"
;
private
static
final
String
TAG
=
"AppOutSP"
;
private
static
final
String
APP_OUT_PREF_FILE_NAME
=
"pref_app_out_file"
;
private
static
final
String
APP_OUT_PREF_FILE_NAME
=
"pref_app_out_file"
;
private
static
final
String
KEY_LOCK_NATIVE_AD_DAY_SHOW_COUNT
=
"lock_native_ad_day_show_count"
;
private
static
final
String
KEY_OUT_INTERSTITIAL_AD_DAY_SHOW_COUNT
=
"out_interstitial_ad_day_show_count"
;
private
static
final
String
KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT
=
"lock_interstitial_ad_day_show_count"
;
private
static
final
String
KEY_OUT_LAST_SHOW_TIME
=
"out_last_show_time"
;
private
static
final
String
KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT
=
"home_native_ad_day_show_count"
;
private
static
final
String
KEY_HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT
=
"home_interstitial_ad_day_show_count"
;
private
static
final
String
KEY_LOCK_LAST_SHOW_TIME
=
"lock_last_show_time"
;
private
static
final
String
KEY_HOME_LAST_SHOW_TIME
=
"home_last_show_time"
;
private
static
final
String
KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME
=
"out_ad_dialog_close_last_time"
;
private
static
final
String
KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME
=
"out_ad_dialog_close_last_time"
;
private
static
final
String
KEY_IS_APP_FIRST_START
=
"is_app_first_start_in_devices"
;
private
static
final
String
KEY_IS_APP_FIRST_START
=
"is_app_first_start_in_devices"
;
public
static
void
save
LockNative
AdDayShowCount
(
int
value
)
{
public
static
void
save
OutInterstitial
AdDayShowCount
(
int
value
)
{
getAppOutPref
().
put
(
KEY_
LOCK_NATIVE
_AD_DAY_SHOW_COUNT
,
value
);
getAppOutPref
().
put
(
KEY_
OUT_INTERSTITIAL
_AD_DAY_SHOW_COUNT
,
value
);
}
}
public
static
int
get
LockNative
AdDayShowCount
()
{
public
static
int
get
OutInterstitial
AdDayShowCount
()
{
return
getAppOutPref
().
getInt
(
KEY_
LOCK_NATIVE
_AD_DAY_SHOW_COUNT
,
0
);
return
getAppOutPref
().
getInt
(
KEY_
OUT_INTERSTITIAL
_AD_DAY_SHOW_COUNT
,
0
);
}
}
public
static
void
saveLockInterstitialAdDayShowCount
(
int
value
)
{
getAppOutPref
().
put
(
KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT
,
value
);
}
public
static
int
getLockInterstitialAdDayShowCount
()
{
return
getAppOutPref
().
getInt
(
KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT
,
0
);
}
public
static
void
saveHomeNativeAdDayShowCount
(
int
value
)
{
getAppOutPref
().
put
(
KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT
,
value
);
}
public
static
int
getHomeNativeAdDayShowCount
()
{
return
getAppOutPref
().
getInt
(
KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT
,
0
);
}
public
static
void
save
HomeInterstitialAdDayShowCount
(
int
value
)
{
public
static
void
save
OutLastShowTime
(
long
value
)
{
getAppOutPref
().
put
(
KEY_
HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT
,
value
);
getAppOutPref
().
put
(
KEY_
OUT_LAST_SHOW_TIME
,
value
);
}
}
public
static
int
getHomeInterstitialAdDayShowCount
()
{
public
static
long
getOutLastShowTime
()
{
return
getAppOutPref
().
get
Int
(
KEY_HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT
,
0
);
return
getAppOutPref
().
get
Long
(
KEY_OUT_LAST_SHOW_TIME
,
0
);
}
}
public
static
void
saveLockLastShowTime
(
long
value
)
{
getAppOutPref
().
put
(
KEY_LOCK_LAST_SHOW_TIME
,
value
);
}
public
static
long
getLockLastShowTime
()
{
return
getAppOutPref
().
getLong
(
KEY_LOCK_LAST_SHOW_TIME
,
0
);
}
// public static void saveHomeLastShowTime(long value) {
// getAppOutPref().put(KEY_HOME_LAST_SHOW_TIME, value);
// }
//
// public static long getHomeLastShowTime() {
// return getAppOutPref().getLong(KEY_HOME_LAST_SHOW_TIME, 0);
// }
public
static
void
saveOutAdDialogCloseLastTime
(
long
value
)
{
public
static
void
saveOutAdDialogCloseLastTime
(
long
value
)
{
getAppOutPref
().
put
(
KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME
,
value
);
getAppOutPref
().
put
(
KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME
,
value
);
}
}
...
...
app/src/main/java/com/zl/sdk/out/CheckHelper.java
View file @
fb53b85a
...
@@ -23,7 +23,7 @@ public class CheckHelper {
...
@@ -23,7 +23,7 @@ public class CheckHelper {
* 检查当前场景是否能播放外展广告
* 检查当前场景是否能播放外展广告
* 解锁/回到桌面 触发展示的外展广告
* 解锁/回到桌面 触发展示的外展广告
*/
*/
public
static
boolean
checkAdCanShowByScene
(
int
actionState
)
{
public
static
boolean
checkAdCanShowByScene
(
int
actionState
,
String
scenes
)
{
// boolean isInit = OutHelp.get().isInit();
// boolean isInit = OutHelp.get().isInit();
// if (!isInit) {
// if (!isInit) {
// LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
// LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
...
@@ -45,25 +45,25 @@ public class CheckHelper {
...
@@ -45,25 +45,25 @@ public class CheckHelper {
if
(!
AppOutUtils
.
isScreenOn
())
{
if
(!
AppOutUtils
.
isScreenOn
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)手机未亮屏,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)手机未亮屏,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
SCREEN_OFF
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
SCREEN_OFF
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
if
(
isTelephonyCalling
())
{
if
(
isTelephonyCalling
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)通话中,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)通话中,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CALLING
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CALLING
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
if
(
OutHelp
.
get
().
isAppForeground
())
{
if
(
OutHelp
.
get
().
isAppForeground
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)应用在前台,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)应用在前台,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
IS_FOREGROUND
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
IS_FOREGROUND
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
if
(
AppOutUtils
.
isScreenLock
())
{
if
(
AppOutUtils
.
isScreenLock
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)锁屏中,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)锁屏中,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
LOCK
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
LOCK
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
...
@@ -116,34 +116,33 @@ public class CheckHelper {
...
@@ -116,34 +116,33 @@ public class CheckHelper {
// }
// }
/**
//
/**
* 检查广告能否播放
//
* 检查广告能否播放
* 广告次数检查
//
* 广告次数检查
*
//
*
* @param data 广告数据
//
* @param data 广告数据
* @param actionState 触发场景
//
* @param actionState 触发场景
* @return
//
* @return
*/
//
*/
public
static
boolean
checkCanShowAd
(
OutAdData
.
NormalAdData
data
,
int
actionState
)
{
//
public static boolean checkCanShowAd(OutAdData.NormalAdData data, int actionState) {
return
checkCanShowAdByTimesFromAdData
(
data
,
actionState
);
//
return checkCanShowAdByTimesFromAdData(data, actionState);
}
//
}
/**
/**
* 检查广告数据是否可以播放
* 检查广告数据是否可以播放
*/
*/
public
static
boolean
checkCanShowAdByTimesFromAdData
(
OutAdData
.
NormalAdData
data
,
int
actionState
)
{
public
static
boolean
checkCanShowAdByTimesFromAdData
(
OutAdData
.
NormalAdData
data
,
int
actionState
,
String
scenes
)
{
if
(
data
==
null
)
{
if
(
data
==
null
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)广告信息为空 不能播放"
);
LogUtil
.
d
(
TAG
+
"(次数检查)广告信息为空 不能播放"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_DATA
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_DATA
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
long
curTime
=
System
.
currentTimeMillis
();
long
curTime
=
System
.
currentTimeMillis
();
long
lastShowTime
=
OutHelp
.
get
().
getLastShowTime
();
long
showIntervalTime
=
Math
.
abs
(
curTime
-
OutHelp
.
get
().
getLastShowTime
());
long
showIntervalTime
=
Math
.
abs
(
curTime
-
lastShowTime
);
LogUtil
.
d
(
TAG
+
"(次数检查)上次展示时间="
+
lastShowTime
);
LogUtil
.
d
(
TAG
+
"(次数检查)上次展示时间="
+
OutHelp
.
get
().
getLastShowTime
()
);
long
spaceTime
;
long
spaceTime
;
...
@@ -158,20 +157,18 @@ public class CheckHelper {
...
@@ -158,20 +157,18 @@ public class CheckHelper {
if
(
showIntervalTime
<
spaceTime
)
{
if
(
showIntervalTime
<
spaceTime
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)未到间隔时间 不能播放"
);
LogUtil
.
d
(
TAG
+
"(次数检查)未到间隔时间 不能播放"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
INTERVAL_TIME
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
INTERVAL_TIME
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
int
homeNativeAdDayShowCount
=
AppOutSP
.
getHomeNativeAdDayShowCount
();
int
homeInterstitialAdDayShowCount
=
AppOutSP
.
getOutInterstitialAdDayShowCount
();
int
homeInterstitialAdDayShowCount
=
AppOutSP
.
getHomeInterstitialAdDayShowCount
();
int
homeDayShowCount
=
homeInterstitialAdDayShowCount
;
int
homeDayShowCount
=
homeNativeAdDayShowCount
+
homeInterstitialAdDayShowCount
;
if
(!
isSameDay
(
curTime
,
lastShowTime
))
{
if
(!
isSameDay
(
curTime
,
AppOutSP
.
getOutLastShowTime
()))
{
LogUtil
.
d
(
TAG
+
"(次数检查)上次播放不是今天 重置播放次数"
);
homeDayShowCount
=
0
;
homeDayShowCount
=
0
;
homeNativeAdDayShowCount
=
0
;
homeInterstitialAdDayShowCount
=
0
;
homeInterstitialAdDayShowCount
=
0
;
AppOutSP
.
saveHomeNativeAdDayShowCount
(
0
);
AppOutSP
.
saveOutInterstitialAdDayShowCount
(
0
);
AppOutSP
.
saveHomeInterstitialAdDayShowCount
(
0
);
}
}
if
(
OutHelp
.
get
().
iconIsHide
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
...
@@ -179,7 +176,7 @@ public class CheckHelper {
...
@@ -179,7 +176,7 @@ public class CheckHelper {
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 配置次数="
+
data
.
showTimeHide
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 配置次数="
+
data
.
showTimeHide
);
if
(
homeDayShowCount
>=
data
.
showTimeHide
)
{
if
(
homeDayShowCount
>=
data
.
showTimeHide
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
COUNT_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
COUNT_EXCEEDS
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
}
else
{
}
else
{
...
@@ -187,25 +184,7 @@ public class CheckHelper {
...
@@ -187,25 +184,7 @@ public class CheckHelper {
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon未隐藏) 配置次数="
+
data
.
showCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon未隐藏) 配置次数="
+
data
.
showCount
);
if
(
homeDayShowCount
>=
data
.
showCount
)
{
if
(
homeDayShowCount
>=
data
.
showCount
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon未隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon未隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
COUNT_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
COUNT_EXCEEDS
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
}
}
if
(
OutHelp
.
get
().
iconIsHide
())
{
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 当前次数="
+
homeNativeAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 配置次数="
+
data
.
showTimesHideForAdId
);
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
data
.
cpAdtype
)
&&
(
homeNativeAdDayShowCount
>=
data
.
showTimesHideForAdId
))
{
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NATIVE_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
}
}
else
{
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon未隐藏) 当前次数="
+
homeNativeAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon未隐藏) 配置次数="
+
data
.
showTimes
);
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
data
.
cpAdtype
)
&&
(
homeNativeAdDayShowCount
>=
data
.
showTimes
))
{
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon未隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NATIVE_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
}
}
...
@@ -213,17 +192,17 @@ public class CheckHelper {
...
@@ -213,17 +192,17 @@ public class CheckHelper {
if
(
OutHelp
.
get
().
iconIsHide
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 配置次数="
+
data
.
showTimesHideForAdId
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 配置次数="
+
data
.
showTimesHideForAdId
);
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
)
&&
(
homeInterstitialAdDayShowCount
>=
data
.
showTimesHideForAdId
)
)
{
if
(
homeInterstitialAdDayShowCount
>=
data
.
showTimesHideForAdId
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CP_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CP_EXCEEDS
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
}
else
{
}
else
{
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 配置次数="
+
data
.
showTimes
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 配置次数="
+
data
.
showTimes
);
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
)
&&
(
homeInterstitialAdDayShowCount
>=
data
.
showTimes
)
)
{
if
(
homeInterstitialAdDayShowCount
>=
data
.
showTimes
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon未隐藏) 超过播放次数"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CP_EXCEEDS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CP_EXCEEDS
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
}
}
...
@@ -245,18 +224,15 @@ public class CheckHelper {
...
@@ -245,18 +224,15 @@ public class CheckHelper {
/**
/**
* 检查广告是否准备好
* 检查广告是否准备好
*/
*/
public
static
boolean
checkAdReady
(
OutAdData
.
NormalAdData
data
)
{
public
static
boolean
checkAdReady
(
OutAdData
.
NormalAdData
data
,
String
scenes
)
{
if
(
data
==
null
)
{
if
(
data
==
null
)
{
return
false
;
return
false
;
}
}
boolean
ready
=
false
;
boolean
ready
=
TopOnAdLoadManager
.
getInstance
().
isInterstitialReady
(
data
.
cpName
,
data
.
cpAdslot
);
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
))
{
ready
=
TopOnAdLoadManager
.
getInstance
().
isInterstitialReady
(
data
.
cpName
,
data
.
cpAdslot
);
}
else
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
data
.
cpAdtype
))
{
ready
=
TopOnAdLoadManager
.
getInstance
().
isNativeReady
(
data
.
cpAdslot
);
}
LogUtil
.
d
(
TAG
+
"(缓存检查)是否有缓存:"
+
ready
);
LogUtil
.
d
(
TAG
+
"(缓存检查)是否有缓存:"
+
ready
);
if
(!
ready
)
{
EventUtils
.
staDialogFail
(
DialogFailReason
.
NOT_READY
,
-
1
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
}
return
ready
;
return
ready
;
}
}
...
...
app/src/main/java/com/zl/sdk/out/OutAdManager.java
View file @
fb53b85a
...
@@ -13,6 +13,7 @@ import com.zl.sdk.ad.AdDataManager;
...
@@ -13,6 +13,7 @@ import com.zl.sdk.ad.AdDataManager;
import
com.zl.sdk.ad.TopOnAdLoadManager
;
import
com.zl.sdk.ad.TopOnAdLoadManager
;
import
com.zl.sdk.bean.OutAdData
;
import
com.zl.sdk.bean.OutAdData
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.event.DialogFailReason
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.statistics.AdScenes
;
import
com.zl.sdk.event.statistics.AdScenes
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.event.statistics.Statistics
;
...
@@ -44,10 +45,12 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -44,10 +45,12 @@ public class OutAdManager extends BaseOutShowManager {
//展示广告失败次数
//展示广告失败次数
private
int
showAdFailTimes
=
0
;
private
int
showAdFailTimes
=
0
;
//是否重试了
//是否重试了
private
volatile
boolean
hadStartAdDialogFail
=
false
;
private
volatile
boolean
hadStartAdDialogFail
=
false
;
//上次拉起外展弹窗时间
private
long
lastStartAdDialogTime
=
0L
;
//限制不能重复拉起外展弹窗的时间
private
final
long
startAdDialogIntervalTime
=
5
*
1000L
;
public
void
cleanLoadAdFailTime
()
{
public
void
cleanLoadAdFailTime
()
{
showAdFailTimes
=
0
;
showAdFailTimes
=
0
;
...
@@ -83,26 +86,15 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -83,26 +86,15 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil
.
d
(
TAG
+
"广告信息="
+
adData
);
LogUtil
.
d
(
TAG
+
"广告信息="
+
adData
);
boolean
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionState
);
boolean
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionState
,
EventUtils
.
SCENES_SHOW
);
boolean
adDataCanShow
=
CheckHelper
.
checkCanShowAd
(
adData
,
actionState
);
boolean
adDataCanShow
=
CheckHelper
.
checkCanShowAd
ByTimesFromAdData
(
adData
,
actionState
,
EventUtils
.
SCENES_SHOW
);
boolean
adReady
=
CheckHelper
.
checkAdReady
(
adData
);
boolean
adReady
=
CheckHelper
.
checkAdReady
(
adData
,
EventUtils
.
SCENES_SHOW
);
LogUtil
.
d
(
TAG
+
"能否播放(场景检查) :"
+
canShowByScene
);
LogUtil
.
d
(
TAG
+
"能否播放(场景检查) :"
+
canShowByScene
);
LogUtil
.
d
(
TAG
+
"能否播放(次数检查):"
+
adDataCanShow
);
LogUtil
.
d
(
TAG
+
"能否播放(次数检查):"
+
adDataCanShow
);
LogUtil
.
d
(
TAG
+
"能否播放(缓存检查) :"
+
adReady
);
LogUtil
.
d
(
TAG
+
"能否播放(缓存检查) :"
+
adReady
);
return
canShowByScene
&&
adDataCanShow
&&
adReady
;
return
canShowByScene
&&
adDataCanShow
&&
adReady
;
//TODO 去掉原生数据
/* if (adDataCanShow) {
return true;
} else {
LogUtil.d(TAG + "检查其他广告信息=" + adData);
adData = getNextAdData(adData.cpAdtype);
adDataCanShow = CheckHelper.checkCanShowAd(adData, actionState);
LogUtil.d(TAG + "能否播放(次数和缓存):" + adDataCanShow);
return adDataCanShow;
}*/
}
}
...
@@ -271,7 +263,7 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -271,7 +263,7 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil
.
d
(
TAG
+
">>>播放广告<<< =============>>> END 不能播放广告"
);
LogUtil
.
d
(
TAG
+
">>>播放广告<<< =============>>> END 不能播放广告"
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
boolean
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionFrom
.
getAction
());
boolean
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionFrom
.
getAction
()
,
EventUtils
.
SCENES_LOAD
);
if
(
canShowByScene
)
{
if
(
canShowByScene
)
{
LogUtil
.
d
(
TAG
+
">>>播放广告<<< =============>>> END 不能播放广告 场景检测通过,去加载广告"
);
LogUtil
.
d
(
TAG
+
">>>播放广告<<< =============>>> END 不能播放广告 场景检测通过,去加载广告"
);
...
@@ -299,6 +291,8 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -299,6 +291,8 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回失败"
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回失败"
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
}
}
...
@@ -306,6 +300,15 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -306,6 +300,15 @@ public class OutAdManager extends BaseOutShowManager {
* 去拉起外展弹窗 播放or加载广告
* 去拉起外展弹窗 播放or加载广告
*/
*/
private
void
startAdDialog
(
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
)
{
private
void
startAdDialog
(
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
)
{
if
(
System
.
currentTimeMillis
()
-
lastStartAdDialogTime
<=
startAdDialogIntervalTime
)
{
EventUtils
.
staDialogFail
(
DialogFailReason
.
INTERVAL_TIME_START_DIALOG
,
actionFrom
.
getAction
(),
EventUtils
.
SCENES_SHOW
,
EventUtils
.
DIALOG_TYPE_AD
);
LogUtil
.
d
(
TAG
+
"拉起外展弹窗失败 : 5秒内不能重复拉起"
);
return
;
}
lastStartAdDialogTime
=
System
.
currentTimeMillis
();
try
{
try
{
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
intent
.
setComponent
(
new
ComponentName
(
context
,
OutHelp
.
get
().
getActivityName
()));
intent
.
setComponent
(
new
ComponentName
(
context
,
OutHelp
.
get
().
getActivityName
()));
...
@@ -320,9 +323,6 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -320,9 +323,6 @@ public class OutAdManager extends BaseOutShowManager {
AppOutUtils
.
unlockSystem
();
AppOutUtils
.
unlockSystem
();
}
}
//TODO 清除隐藏的Activity
// LaunchStart.getInstance().cleanAllActivityExcludeAds();
DxManager
.
get
().
setOutRemindersInfo
(
remindersInfo
);
DxManager
.
get
().
setOutRemindersInfo
(
remindersInfo
);
DxManager
.
get
().
setOutAdData
(
data
);
DxManager
.
get
().
setOutAdData
(
data
);
...
@@ -355,18 +355,18 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -355,18 +355,18 @@ public class OutAdManager extends BaseOutShowManager {
private
void
outDialogShowFail
(
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
,
String
reason
)
{
private
void
outDialogShowFail
(
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
,
String
reason
)
{
LogUtil
.
d
(
TAG
,
"广告弹窗 拉起失败 失败原因:"
+
reason
);
LogUtil
.
d
(
TAG
,
"广告弹窗 拉起失败 失败原因:"
+
reason
);
try
{
try
{
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START_NO
,
reason
,
true
,
actionFrom
.
getAction
());
OutHelp
.
get
().
clearNotification
();
OutHelp
.
get
().
clearNotification
();
if
(!
hadStartAdDialogFail
)
{
if
(!
hadStartAdDialogFail
)
{
LogUtil
.
d
(
TAG
,
"广告弹窗 拉起失败 重试一次"
);
LogUtil
.
d
(
TAG
,
"广告弹窗 拉起失败 重试一次"
);
hadStartAdDialogFail
=
true
;
hadStartAdDialogFail
=
true
;
startAdDialog
(
context
,
actionFrom
,
remindersInfo
,
data
);
new
Handler
().
postDelayed
(()
->
startAdDialog
(
context
,
actionFrom
,
remindersInfo
,
data
),
startAdDialogIntervalTime
);
}
else
{
}
else
{
LogUtil
.
d
(
TAG
+
"广告弹窗 拉起失败 已经重试一次,不再重试"
);
LogUtil
.
d
(
TAG
+
"广告弹窗 拉起失败 已经重试一次,不再重试"
);
LogUtil
.
d
(
TAG
+
"广告弹窗 拉起失败 ,不再重试"
);
LogUtil
.
d
(
TAG
+
"广告弹窗 拉起失败 ,不再重试"
);
returnFailCallBack
(
reason
);
returnFailCallBack
(
reason
);
}
}
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START_NO
,
reason
,
true
,
actionFrom
.
getAction
());
}
catch
(
Throwable
ignored
)
{
}
catch
(
Throwable
ignored
)
{
}
}
}
}
...
@@ -374,9 +374,9 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -374,9 +374,9 @@ public class OutAdManager extends BaseOutShowManager {
private
void
outDialogShowSuccess
(
ActionFrom
actionFrom
)
{
private
void
outDialogShowSuccess
(
ActionFrom
actionFrom
)
{
LogUtil
.
d
(
TAG
+
"广告弹窗(播放) 拉起成功"
);
LogUtil
.
d
(
TAG
+
"广告弹窗(播放) 拉起成功"
);
try
{
try
{
returnSuccessCallBack
();
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START_OK
,
""
,
true
,
actionFrom
.
getAction
());
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START_OK
,
""
,
true
,
actionFrom
.
getAction
());
}
catch
(
Throwable
throwable
)
{
returnSuccessCallBack
();
}
catch
(
Throwable
ignored
)
{
}
}
}
}
...
@@ -406,8 +406,8 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -406,8 +406,8 @@ public class OutAdManager extends BaseOutShowManager {
OutAdData
.
NormalAdData
localData
=
getAdData
();
OutAdData
.
NormalAdData
localData
=
getAdData
();
if
(
localData
!=
null
if
(
localData
!=
null
&&
CheckHelper
.
checkCanShowAdByTimesFromAdData
(
localData
,
-
1
)
&&
CheckHelper
.
checkCanShowAdByTimesFromAdData
(
localData
,
-
1
,
EventUtils
.
SCENES_CHECK
)
&&
!
CheckHelper
.
checkAdReady
(
localData
))
{
&&
!
CheckHelper
.
checkAdReady
(
localData
,
EventUtils
.
SCENES_CHECK
))
{
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 加载广告(使用本地数据)"
);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 加载广告(使用本地数据)"
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
...
@@ -423,18 +423,14 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -423,18 +423,14 @@ public class OutAdManager extends BaseOutShowManager {
OutAdData
.
NormalAdData
preLoadData
;
OutAdData
.
NormalAdData
preLoadData
;
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
preLoadData
=
list
.
get
(
i
);
preLoadData
=
list
.
get
(
i
);
//TODO 如果外展广告为原生,跳过加载
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
preLoadData
.
cpAdtype
))
{
continue
;
}
LogUtil
.
d
(
TAG
+
">>>加载广告<<< index:"
+
i
+
" 检查广告能否加载:"
+
preLoadData
);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< index:"
+
i
+
" 检查广告能否加载:"
+
preLoadData
);
if
(
CheckHelper
.
checkCanShowAdByTimesFromAdData
(
preLoadData
,
-
1
)
if
(
CheckHelper
.
checkCanShowAdByTimesFromAdData
(
preLoadData
,
-
1
,
EventUtils
.
SCENES_CHECK
)
&&
!
CheckHelper
.
checkAdReady
(
preLoadData
))
{
&&
!
CheckHelper
.
checkAdReady
(
preLoadData
,
EventUtils
.
SCENES_CHECK
))
{
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 加载广告"
);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 加载广告"
);
...
@@ -462,20 +458,11 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -462,20 +458,11 @@ public class OutAdManager extends BaseOutShowManager {
return
;
return
;
}
}
// if (WeatherAdData.CP_AD_TYPE_NATIVE.equals(normalAdData.cpAdtype)) {
LogUtil
.
d
(
TAG
+
"加载广告(插屏) adData :"
+
normalAdData
);
// LogUtil.d(TAG + "加载广告(原生) adData :" + normalAdData);
hadStartAdDialogFail
=
false
;
// TopOnAdLoadManager.getInstance().loadNativeAd(normalAdData, AdScenes.AD_SCENES_PURE);
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 去加载广告"
);
// } else
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
normalAdData
.
cpAdtype
))
{
LogUtil
.
d
(
TAG
+
"加载广告(插屏) adData :"
+
normalAdData
);
hadStartAdDialogFail
=
false
;
LogUtil
.
d
(
TAG
+
">>>加载广告<<< =============>>> END 去加载广告"
);
TopOnAdLoadManager
.
getInstance
().
loadInterstitialAd
(
normalAdData
,
AdScenes
.
AD_SCENES_PURE
);
// startAdDialog(OutHelp.get().getContext(), false, actionFrom, getReminderInfo(), normalAdData);
TopOnAdLoadManager
.
getInstance
().
loadInterstitialAd
(
normalAdData
,
AdScenes
.
AD_SCENES_PURE
);
}
}
}
...
@@ -484,41 +471,11 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -484,41 +471,11 @@ public class OutAdManager extends BaseOutShowManager {
if
(
adData
==
null
)
{
if
(
adData
==
null
)
{
return
;
return
;
}
}
final
long
curTime
=
System
.
currentTimeMillis
();
int
outInterstitialAdDayShowCount
=
AppOutSP
.
getOutInterstitialAdDayShowCount
();
if
(
adData
.
position
==
OutAdData
.
POSITION_LOCK
)
{
AppOutSP
.
saveOutInterstitialAdDayShowCount
(++
outInterstitialAdDayShowCount
);
AppOutSP
.
saveLockLastShowTime
(
curTime
);
LogUtil
.
d
(
TAG
,
"showAdSuccess interstitial outInterstitialAdDayShowCount ="
+
outInterstitialAdDayShowCount
);
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
adData
.
cpAdtype
))
{
int
lockNativeAdDayDayShowCount
=
AppOutSP
.
getLockNativeAdDayShowCount
();
AppOutSP
.
saveLockNativeAdDayShowCount
(++
lockNativeAdDayDayShowCount
);
LogUtil
.
d
(
TAG
,
"showAdSuccess native lockNativeAdDayDayShowCount ="
+
lockNativeAdDayDayShowCount
);
return
;
}
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
adData
.
cpAdtype
))
{
int
lockInterstitialAdDayShowCount
=
AppOutSP
.
getLockInterstitialAdDayShowCount
();
AppOutSP
.
saveLockInterstitialAdDayShowCount
(++
lockInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
,
"showAdSuccess interstitial lockInterstitialAdDayShowCount ="
+
lockInterstitialAdDayShowCount
);
return
;
}
return
;
}
if
(
adData
.
position
==
OutAdData
.
POSITION_HOME
)
{
if
(
OutAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
adData
.
cpAdtype
))
{
int
homeNativeAdDayShowCount
=
AppOutSP
.
getHomeNativeAdDayShowCount
();
AppOutSP
.
saveHomeNativeAdDayShowCount
(++
homeNativeAdDayShowCount
);
LogUtil
.
d
(
TAG
,
"showAdSuccess native homeNativeAdDayShowCount ="
+
homeNativeAdDayShowCount
);
}
if
(
OutAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
adData
.
cpAdtype
))
{
int
homeInterstitialAdDayShowCount
=
AppOutSP
.
getHomeInterstitialAdDayShowCount
();
AppOutSP
.
saveHomeInterstitialAdDayShowCount
(++
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
,
"showAdSuccess interstitial homeInterstitialAdDayShowCount ="
+
homeInterstitialAdDayShowCount
);
}
}
}
}
public
void
adClosed
()
{
public
void
adClosed
()
{
// LogUtil.d(TAG + ">>>广告<<< =============>>> 广告关闭,再去加载广告");
// checkNeedLoadAd(ActionFrom.ACTION_UNKNOWN);
}
}
}
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/out/ui/AbsView.java
View file @
fb53b85a
...
@@ -3,6 +3,6 @@ package com.zl.sdk.out.ui;
...
@@ -3,6 +3,6 @@ package com.zl.sdk.out.ui;
import
android.app.Activity
;
import
android.app.Activity
;
public
abstract
class
AbsView
implements
IView
{
public
abstract
class
AbsView
implements
IView
{
private
static
final
String
TAG
=
"Out
Weather
Dialog"
;
private
static
final
String
TAG
=
"OutDialog"
;
protected
Activity
activity
;
protected
Activity
activity
;
}
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/out/ui/DialogFactory.java
View file @
fb53b85a
...
@@ -8,6 +8,6 @@ public final class DialogFactory {
...
@@ -8,6 +8,6 @@ public final class DialogFactory {
if
(
remindersInfo
==
null
)
{
if
(
remindersInfo
==
null
)
{
return
null
;
return
null
;
}
}
return
new
Weather
PureAdDialog
(
remindersInfo
,
data
);
return
new
PureAdDialog
(
remindersInfo
,
data
);
}
}
}
}
app/src/main/java/com/zl/sdk/out/ui/
Weather
PureAdDialog.java
→
app/src/main/java/com/zl/sdk/out/ui/PureAdDialog.java
View file @
fb53b85a
...
@@ -23,17 +23,14 @@ import com.zl.sdk.util.LogUtil;
...
@@ -23,17 +23,14 @@ import com.zl.sdk.util.LogUtil;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
class
WeatherPureAdDialog
extends
AbsView
{
class
PureAdDialog
extends
AbsView
{
private
static
final
String
TAG
=
"WeatherPureAdDialog"
;
private
static
final
String
TAG
=
"PureAdDialog"
;
private
FrameLayout
rootView
;
private
RemindersInfo
remindersInfo
;
private
RemindersInfo
remindersInfo
;
private
OutAdData
.
NormalAdData
data
;
private
OutAdData
.
NormalAdData
data
;
private
View
contentView
;
// private LinearLayout weatherAdContainer;
private
OnInAdListener
onInAdListener
;
private
OnInAdListener
onInAdListener
;
public
Weather
PureAdDialog
(
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
)
{
public
PureAdDialog
(
RemindersInfo
remindersInfo
,
OutAdData
.
NormalAdData
data
)
{
this
.
remindersInfo
=
remindersInfo
;
this
.
remindersInfo
=
remindersInfo
;
this
.
data
=
data
;
this
.
data
=
data
;
}
}
...
@@ -41,7 +38,6 @@ class WeatherPureAdDialog extends AbsView {
...
@@ -41,7 +38,6 @@ class WeatherPureAdDialog extends AbsView {
@Override
@Override
public
void
onCreate
(
Activity
activity
,
Intent
intent
,
FrameLayout
rootView
)
{
public
void
onCreate
(
Activity
activity
,
Intent
intent
,
FrameLayout
rootView
)
{
this
.
activity
=
activity
;
this
.
activity
=
activity
;
this
.
rootView
=
rootView
;
if
(
data
==
null
)
{
if
(
data
==
null
)
{
finishActivity
();
finishActivity
();
return
;
return
;
...
@@ -62,14 +58,6 @@ class WeatherPureAdDialog extends AbsView {
...
@@ -62,14 +58,6 @@ class WeatherPureAdDialog extends AbsView {
private
void
initView
()
{
private
void
initView
()
{
// contentView = getContentView();
// FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
// FrameLayout.LayoutParams.MATCH_PARENT,
// FrameLayout.LayoutParams.WRAP_CONTENT
// );
//
// rootView.addView(contentView, params);
// weatherAdContainer = contentView.findViewById(R.id.weatherAdContainer);
}
}
private
View
getContentView
()
{
private
View
getContentView
()
{
...
@@ -109,26 +97,13 @@ class WeatherPureAdDialog extends AbsView {
...
@@ -109,26 +97,13 @@ class WeatherPureAdDialog extends AbsView {
finishActivity
();
finishActivity
();
return
;
return
;
}
}
if
(
adType
.
equals
(
OutAdData
.
CP_AD_TYPE_BANNER
))
{
LogUtil
.
d
(
TAG
+
"initAd adType banner"
);
finishActivity
();
return
;
}
registerCallBack
(
adType
);
registerCallBack
(
adType
);
if
(
adType
.
equals
(
OutAdData
.
CP_AD_TYPE_CHAPING
))
{
checkCanShowItAd
(
cpName
,
adUnitId
);
checkCanShowItAd
(
cpName
,
adUnitId
);
return
;
}
// if (adType.equals(WeatherAdData.CP_AD_TYPE_NATIVE)) {
// LogUtil.d(TAG + "initAd no support adType=" + adType);
// checkCanShowNativeAd();
// finishActivity();
// return;
// }
LogUtil
.
d
(
TAG
+
"initAd no support adType="
+
adType
);
finishActivity
();
}
}
...
@@ -192,65 +167,23 @@ class WeatherPureAdDialog extends AbsView {
...
@@ -192,65 +167,23 @@ class WeatherPureAdDialog extends AbsView {
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"ad_ready"
,
String
.
valueOf
(
adReady
));
map
.
put
(
"ad_ready"
,
String
.
valueOf
(
adReady
));
Statistics
.
getInstance
().
dotEvent
(
activity
,
"ad_dialog_exp"
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
activity
,
"ad_dialog_exp"
,
""
,
map
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
ignored
)
{
}
}
}
}
// private void checkCanShowNativeAd() {
// Object cacheData = TopOnAdLoadManager.getInstance().getAdCacheData(data.cpAdslot);
// boolean hasCache = cacheData instanceof AdCacheData
// && !((AdCacheData) cacheData).isNativeTimeout();
// LogUtil.d(TAG + "initAd native hasCache == " + hasCache);
// boolean isScreenOn = AppOutUtils.isScreenOn();
// boolean isLock = AppOutUtils.isScreenLock();
//
// if (hasCache) {
// LogUtil.d(TAG + "initAd native isScreenOn == " + isScreenOn + ", isLock =" + isLock);
// if (!isScreenOn || isLock) {
// statNativeScreenState("cache", isScreenOn, isLock);
// finishActivity();
// return;
// }
// showNativeAd();
// return;
// }
//
// statNativeScreenState("load", isScreenOn, isLock);
// TopOnAdLoadManager.getInstance().loadNativeAd(data, AdScenes.AD_SCENES_PURE);
// finishActivity();
// }
// private void statNativeScreenState(String state, boolean isScreenOn, boolean isLock) {
// Map<String, Object> map = new HashMap<>();
// map.put("state", state);
// map.put("isScreenOn", String.valueOf(isScreenOn));
// map.put("isLock", String.valueOf(isLock));
// Statistics.getInstance().dotEvent(activity, "native_state", "", map);
// }
@Override
@Override
public
void
onDestroy
()
{
public
void
onDestroy
()
{
LogUtil
.
d
(
TAG
+
"
Weather
PureAdDialog onDestroy"
);
LogUtil
.
d
(
TAG
+
"PureAdDialog onDestroy"
);
if
(
data
!=
null
)
{
if
(
data
!=
null
)
{
TopOnAdLoadManager
.
getInstance
().
unregisterCallBack
(
data
.
cpAdtype
,
TopOnAdLoadManager
.
REGISTER_TAG_WEATHER_PURE_AD
);
TopOnAdLoadManager
.
getInstance
().
unregisterCallBack
(
data
.
cpAdtype
,
TopOnAdLoadManager
.
REGISTER_TAG_WEATHER_PURE_AD
);
}
}
AppOutSP
.
saveOutAdDialogCloseLastTime
(
System
.
currentTimeMillis
());
AppOutSP
.
saveOutAdDialogCloseLastTime
(
System
.
currentTimeMillis
());
}
}
// private void showNativeAd() {
// TopOnAdLoadManager.getInstance().showNativeAd(data, weatherAdContainer);
// }
private
void
showInterstitial
()
{
private
void
showInterstitial
()
{
TopOnAdLoadManager
.
getInstance
().
showInterstitialAd
(
activity
,
data
,
AdScenes
.
AD_SCENES_PURE
);
TopOnAdLoadManager
.
getInstance
().
showInterstitialAd
(
activity
,
data
,
AdScenes
.
AD_SCENES_PURE
);
}
}
private
void
showBannerAd
()
{
// TopOnAdLoadManager.getInstance(activity).showAd(data, weatherAdContainer, activity);
}
/**
/**
* 结束SLK 或者 退到后台
* 结束SLK 或者 退到后台
*/
*/
...
...
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