Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
D
Data Recovery 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
Data Recovery White
Commits
3ffa0b02
Commit
3ffa0b02
authored
Aug 26, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
55e94a3f
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
156 additions
and
221 deletions
+156
-221
MyApplication.kt
app/src/main/java/com/base/datarecovery/MyApplication.kt
+2
-2
AdDisplayUtils.java
...c/main/java/com/base/datarecovery/ads/AdDisplayUtils.java
+134
-150
AdmobCommonUtils.kt
.../java/com/base/datarecovery/ads/admob/AdmobCommonUtils.kt
+0
-30
AdmobInterstitialUtils.kt
...com/base/datarecovery/ads/admob/AdmobInterstitialUtils.kt
+0
-3
AdmobNativeUtils.kt
.../java/com/base/datarecovery/ads/admob/AdmobNativeUtils.kt
+0
-3
AdmobOpenUtils.kt
...in/java/com/base/datarecovery/ads/admob/AdmobOpenUtils.kt
+0
-2
AdMaxNativeUtils.kt
...in/java/com/base/datarecovery/ads/max/AdMaxNativeUtils.kt
+0
-5
AdMaxOpenUtils.kt
...main/java/com/base/datarecovery/ads/max/AdMaxOpenUtils.kt
+0
-2
MessagingService.java
...main/java/com/base/datarecovery/fcm/MessagingService.java
+0
-1
InstallHelps.kt
...src/main/java/com/base/datarecovery/utils/InstallHelps.kt
+0
-2
NewComUtils.kt
app/src/main/java/com/base/datarecovery/utils/NewComUtils.kt
+20
-21
No files found.
app/src/main/java/com/base/datarecovery/MyApplication.kt
View file @
3ffa0b02
...
...
@@ -50,8 +50,8 @@ class MyApplication : BaseApplication() {
}
}
fun
initApp
(
is
First
:
Boolean
=
false
)
{
if
(!
is
First
)
{
fun
initApp
(
is
StartClick
:
Boolean
=
false
)
{
if
(!
is
StartClick
)
{
@Suppress
(
"DEPRECATION"
)
FacebookSdk
.
sdkInitialize
(
applicationContext
)
// FacebookSdk.setIsDebugEnabled(true)
...
...
app/src/main/java/com/base/datarecovery/ads/AdDisplayUtils.java
View file @
3ffa0b02
...
...
@@ -2,7 +2,6 @@ package com.base.datarecovery.ads;
import
android.content.SharedPreferences
;
import
android.util.Log
;
import
com.base.datarecovery.BuildConfig
;
import
com.base.datarecovery.MyApplication
;
import
com.base.datarecovery.help.BaseApplication
;
...
...
@@ -10,7 +9,6 @@ import com.base.datarecovery.utils.AppPreferences;
import
com.base.datarecovery.utils.EventUtils
;
import
com.base.datarecovery.utils.LogEx
;
import
com.facebook.appevents.AppEventsLogger
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.text.SimpleDateFormat
;
...
...
@@ -20,40 +18,37 @@ import java.util.Locale;
public
class
AdDisplayUtils
{
private
String
TAG
=
"AdDisplayUtils"
;
p
rivate
static
final
int
DEFAULT_MAX_AD_REQUEST_COUNT
=
100
;
// 广告请求次数限制默认值
p
rivate
static
final
int
DEFAULT_MAX_AD_REQUEST_FAIL_COUNT
=
20
;
// 单个广告点击
次数限制默认值
p
rivate
static
final
int
DEFAULT_MAX_AD_DISPLAY_COUNT
=
45
;
// 总广告展示次数限制默认值
p
rivate
static
final
int
DEFAULT_MAX_AD_CLICK_COUNT
=
10
;
// 单个广告点击次数限制默认值
p
ublic
static
final
int
DEFAULT_MAX_AD_REQUEST_COUNT
=
100
;
// 广告请求次数限制默认值
p
ublic
static
final
int
DEFAULT_MAX_AD_REQUEST_FAIL_COUNT
=
20
;
// 广告请求失败
次数限制默认值
p
ublic
static
final
int
DEFAULT_MAX_AD_DISPLAY_COUNT
=
45
;
// 总广告展示次数限制默认值
p
ublic
static
final
int
DEFAULT_MAX_AD_CLICK_COUNT
=
10
;
// 单个广告点击次数限制默认值
private
static
final
String
AD_PREFS_NAME
=
"ad_prefs"
;
// SharedPreferences 名称
private
static
final
String
MAX_AD_DISPLAY_COUNT_KEY
=
"max_ad_display_count"
;
// 总广告展示次数限制的键
private
static
final
String
MAX_AD_REQUEST_COUNT_KEY
=
"max_ad_request_count"
;
// 广告请求次数限制的键
private
static
final
String
MAX_AD_CLICK_COUNT_KEY
=
"max_ad_click_count"
;
// 单个广告点击次数限制的键
private
static
final
String
MAX_AD_REQUEST_FAIL_COUNT_KEY
=
"max_ad_request_fail_count"
;
// 单个广告点击次数限制的键
private
static
AdDisplayUtils
instance
;
// 单例对象
private
static
final
String
AD_DISPLAY_COUNT_KEY
=
"ad_display_count"
;
// 广告展示次数的键
private
static
final
String
AD_CLICK_COUNT_KEY
=
"ad_click_count"
;
// 广告点击次数的键
private
static
final
String
AD_REQUEST_FAIL_COUNT_KEY
=
"ad_request_fail_count"
;
// 单个广告点击次数限制的键
private
static
final
String
AD_REQUEST_COUNT_KEY
=
"ad_request_count"
;
//广告请求次数
private
String
currentDate
;
// 当前日期
private
static
AdDisplayUtils
instance
;
// 单例对象
private
int
maxAdRequestCount
=
DEFAULT_MAX_AD_REQUEST_COUNT
;
// 最大广告请求次数
private
int
maxAdRequestFailCount
=
DEFAULT_MAX_AD_REQUEST_FAIL_COUNT
;
// 请求失败总
private
int
maxAdDisplayCount
=
DEFAULT_MAX_AD_DISPLAY_COUNT
;
// 总广告展示次数限制
private
int
maxAdClickCount
=
DEFAULT_MAX_AD_CLICK_COUNT
;
// 单个广告点击次数限制
public
void
saveSp
()
{
private
int
adRequestCount
=
0
;
// 当前广告请求次数
private
int
adRequestFailCount
=
0
;
// 请求失败当前
private
int
adDisplayCount
=
0
;
// 当前广告展示次数
private
int
adClickCount
=
0
;
// 当前广告点击次数
this
.
maxAdRequestCount
=
Integer
.
parseInt
(
AppPreferences
.
getInstance
().
getString
(
"adMaxRequestCount"
,
String
.
valueOf
(
DEFAULT_MAX_AD_REQUEST_COUNT
)));
saveMaxAdRequestCount
();
this
.
maxAdRequestFailCount
=
Integer
.
parseInt
(
AppPreferences
.
getInstance
().
getString
(
"adRequestFailCount"
,
String
.
valueOf
(
DEFAULT_MAX_AD_REQUEST_FAIL_COUNT
)));
saveMaxAdRequestFailCount
();
private
String
currentDate
;
// 当前日期
this
.
maxAdDisplayCount
=
Integer
.
parseInt
(
AppPreferences
.
getInstance
().
getString
(
"adShowCount"
,
String
.
valueOf
(
DEFAULT_MAX_AD_DISPLAY_COUNT
)));
saveMaxAdDisplayCount
();
this
.
maxAdClickCount
=
Integer
.
parseInt
(
AppPreferences
.
getInstance
().
getString
(
"adClickCount"
,
String
.
valueOf
(
DEFAULT_MAX_AD_CLICK_COUNT
)));
saveMaxAdClickCount
();
}
private
AdDisplayUtils
()
{
currentDate
=
getCurrentDate
();
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
maxAdRequestCount
=
prefs
.
getInt
(
MAX_AD_REQUEST_COUNT_KEY
,
DEFAULT_MAX_AD_REQUEST_COUNT
);
maxAdRequestFailCount
=
prefs
.
getInt
(
MAX_AD_REQUEST_FAIL_COUNT_KEY
,
DEFAULT_MAX_AD_REQUEST_FAIL_COUNT
);
maxAdDisplayCount
=
prefs
.
getInt
(
MAX_AD_DISPLAY_COUNT_KEY
,
DEFAULT_MAX_AD_DISPLAY_COUNT
);
...
...
@@ -72,41 +67,20 @@ public class AdDisplayUtils {
return
instance
;
}
private
String
getAdRequestCountKey
()
{
return
AD_REQUEST_COUNT_KEY
+
"_"
+
currentDate
;
}
public
boolean
shouldDisplayAd
()
{
return
adDisplayCount
<
getMaxAdDisplayCount
();
}
public
boolean
shouldIncrementRequestFailAd
()
{
return
adRequestFailCount
<
getMaxAdRequestFailCount
();
}
public
boolean
shouldIncrementClickCount
()
{
return
adClickCount
<
getMaxAdClickCount
();
}
public
boolean
shouldSendAdRequest
()
{
return
adRequestCount
<
getMaxAdRequestCount
()
;
return
adRequestCount
<
maxAdRequestCount
;
}
public
void
setMaxAdRequestCount
(
int
maxAdRequestCount
)
{
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"maxAdRequestCount"
+
maxAdRequestCount
,
false
);
this
.
maxAdRequestCount
=
maxAdRequestCount
;
saveMaxAdRequestCount
();
public
boolean
shouldIncrementRequestFailAd
()
{
return
adRequestFailCount
<
maxAdRequestFailCount
;
}
private
void
saveMaxAdRequestCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
MAX_AD_REQUEST_COUNT_KEY
,
maxAdRequestCount
);
editor
.
apply
();
public
boolean
shouldDisplayAd
()
{
return
adDisplayCount
<
maxAdDisplayCount
;
}
public
int
getMaxAdRequest
Count
()
{
return
maxAdRequest
Count
;
public
boolean
shouldIncrementClick
Count
()
{
return
adClickCount
<
maxAdClick
Count
;
}
public
boolean
shouldShowAd
(
String
ad_unit
)
{
...
...
@@ -118,122 +92,108 @@ public class AdDisplayUtils {
boolean
shouldIncrementRequestFailAd
=
shouldIncrementRequestFailAd
();
boolean
shouldSendAdRequest
=
shouldSendAdRequest
();
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldDisplayAd="
+
shouldDisplayAd
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldIncrementClickCount="
+
shouldIncrementClickCount
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldIncrementRequestFailAd="
+
shouldIncrementRequestFailAd
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldSendAdRequest="
+
shouldSendAdRequest
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldIncrementRequestFailAd="
+
shouldIncrementRequestFailAd
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldIncrementClickCount="
+
shouldIncrementClickCount
,
false
);
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"shouldDisplayAd="
+
shouldDisplayAd
,
false
);
boolean
s
=
shouldDisplayAd
&&
shouldIncrementClickCount
&&
shouldIncrementRequestFailAd
&&
shouldSendAdReques
t
;
if
(!
s
)
{
boolean
s
how
=
shouldIncrementRequestFailAd
&&
shouldSendAdRequest
&&
shouldDisplayAd
&&
shouldIncrementClickCoun
t
;
if
(!
s
how
)
{
LogEx
.
INSTANCE
.
logDebug
(
"glc"
,
"!shouldShowAd"
,
false
);
JSONObject
obj2
=
new
JSONObject
();
try
{
obj2
.
put
(
"reason"
,
"ad limit"
);
obj2
.
put
(
"shouldSendAdRequest"
,
shouldSendAdRequest
);
obj2
.
put
(
"shouldIncrementRequestFailAd"
,
shouldIncrementRequestFailAd
);
obj2
.
put
(
"shouldDisplayAd"
,
shouldDisplayAd
);
obj2
.
put
(
"shouldIncrementClickCount"
,
shouldIncrementClickCount
);
obj2
.
put
(
"shouldIncrementRequestFailAd"
,
shouldIncrementRequestFailAd
);
obj2
.
put
(
"shouldSendAdRequest"
,
shouldSendAdRequest
);
obj2
.
put
(
"ad_unit"
,
ad_unit
);
EventUtils
.
INSTANCE
.
event
(
"ad_show_error"
,
null
,
obj2
,
false
);
}
catch
(
JSONException
e
)
{
}
catch
(
JSONException
ignored
)
{
}
}
return
s
;
return
s
how
;
}
public
void
incrementAdDisplayCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
adDisplayCount
=
0
;
}
adDisplayCount
++;
int
max
=
AppPreferences
.
getInstance
().
getInt
(
"facebookAdShowEventCount"
,
3
);
if
(
adClickCount
>=
max
&&
max
!=
-
1
)
{
AppEventsLogger
logger
=
AppEventsLogger
.
newLogger
(
MyApplication
.
context
);
logger
.
logEvent
(
"ad_show"
);
AppPreferences
.
getInstance
().
put
(
"facebookAdShowEventCount"
,
-
1
);
}
saveAdDisplayCount
();
}
public
void
incrementAdClickCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
adClickCount
=
0
;
}
adClickCount
++;
saveAdClickCount
();
}
//region AdRequestCount
private
int
maxAdRequestCount
=
0
;
// 最大广告请求次数
private
int
adRequestCount
=
0
;
// 当前广告请求次数
private
static
final
String
MAX_AD_REQUEST_COUNT_KEY
=
"max_ad_request_count"
;
// 广告请求次数限制的键
private
static
final
String
AD_REQUEST_COUNT_KEY
=
"ad_request_count"
;
//广告请求次数
public
void
incrementAdRequestFailCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
adRequestFailCount
=
0
;
}
adRequestFailCount
++;
saveAdRequestFailCount
();
Log
.
d
(
"glc"
,
"广告请求失败:"
+
adRequestFailCount
);
private
void
saveMaxAdRequestCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
MAX_AD_REQUEST_COUNT_KEY
,
maxAdRequestCount
);
editor
.
apply
();
}
public
void
setAdClickCount
(
int
s
)
{
public
void
incrementAdRequestCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
ad
Click
Count
=
0
;
ad
Request
Count
=
0
;
}
adClickCount
=
s
;
saveAdClickCount
();
}
public
String
getCurrentDate
()
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
,
Locale
.
getDefault
());
Date
currentDate
=
Calendar
.
getInstance
().
getTime
();
return
dateFormat
.
format
(
currentDate
);
}
private
String
getAdDisplayCountKey
()
{
return
AD_DISPLAY_COUNT_KEY
+
"_"
+
currentDate
;
adRequestCount
++;
saveAdRequestCount
();
}
private
String
getAd
Click
CountKey
()
{
return
AD_
CLICK
_COUNT_KEY
+
"_"
+
currentDate
;
private
String
getAd
Request
CountKey
()
{
return
AD_
REQUEST
_COUNT_KEY
+
"_"
+
currentDate
;
}
private
void
saveAd
Display
Count
()
{
private
void
saveAd
Request
Count
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
getAd
DisplayCountKey
(),
adDisplay
Count
);
editor
.
putInt
(
getAd
RequestCountKey
(),
adRequest
Count
);
editor
.
apply
();
}
//endregion
private
void
saveAdClickCount
()
{
//region AdRequestFailCount
private
int
maxAdRequestFailCount
;
// 请求失败总
private
int
adRequestFailCount
=
0
;
// 请求失败当前
private
static
final
String
MAX_AD_REQUEST_FAIL_COUNT_KEY
=
"max_ad_request_fail_count"
;
// 单个广告点击次数限制的键
private
static
final
String
AD_REQUEST_FAIL_COUNT_KEY
=
"ad_request_fail_count"
;
// 单个广告点击次数限制的键
private
void
saveMaxAdRequestFailCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
getAdClickCountKey
(),
adClick
Count
);
editor
.
putInt
(
MAX_AD_REQUEST_FAIL_COUNT_KEY
,
maxAdRequestFail
Count
);
editor
.
apply
();
}
private
int
getMaxAdDisplayCount
()
{
return
maxAdDisplayCount
;
public
void
incrementAdRequestFailCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
adRequestFailCount
=
0
;
}
adRequestFailCount
++;
saveAdRequestFailCount
();
Log
.
d
(
"glc"
,
"广告请求失败:"
+
adRequestFailCount
);
}
public
void
setMaxAdDisplayCount
(
int
maxAdDisplayCount
)
{
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"maxAdDisplayCount"
+
maxAdDisplayCount
,
false
);
this
.
maxAdDisplayCount
=
maxAdDisplayCount
;
saveMaxAdDisplayCount
();
private
String
getAdRequestFailCountKey
()
{
return
AD_REQUEST_FAIL_COUNT_KEY
+
"_"
+
currentDate
;
}
public
int
getMaxAdClickCount
()
{
return
maxAdClickCount
;
private
void
saveAdRequestFailCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
getAdRequestFailCountKey
(),
adRequestFailCount
);
editor
.
apply
();
}
//endregion
public
void
setMaxAdClickCount
(
int
maxAdClickCount
)
{
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"maxAdClickCount"
+
maxAdClickCount
,
false
);
this
.
maxAdClickCount
=
maxAdClickCount
;
saveMaxAdClickCount
();
}
//region AdDisplayCount
private
int
maxAdDisplayCount
;
// 总广告展示次数限制
private
int
adDisplayCount
=
0
;
// 当前广告展示次数
private
static
final
String
MAX_AD_DISPLAY_COUNT_KEY
=
"max_ad_display_count"
;
// 总广告展示次数限制的键
private
static
final
String
AD_DISPLAY_COUNT_KEY
=
"ad_display_count"
;
// 广告展示次数的键
private
void
saveMaxAdDisplayCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
...
...
@@ -242,55 +202,79 @@ public class AdDisplayUtils {
editor
.
apply
();
}
private
void
saveMaxAdClickCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
MAX_AD_CLICK_COUNT_KEY
,
maxAdClickCount
);
editor
.
apply
();
}
public
void
incrementAdDisplayCount
()
{
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
adDisplayCount
=
0
;
}
adDisplayCount
++;
int
max
=
AppPreferences
.
getInstance
().
getInt
(
"facebookAdShowEventCount"
,
3
);
if
(
adClickCount
>=
max
&&
max
!=
-
1
)
{
AppEventsLogger
logger
=
AppEventsLogger
.
newLogger
(
MyApplication
.
context
);
logger
.
logEvent
(
"ad_show"
);
AppPreferences
.
getInstance
().
put
(
"facebookAdShowEventCount"
,
-
1
);
}
public
int
getMaxAdRequestFailCount
()
{
return
maxAdRequestFailCount
;
saveAdDisplayCount
();
}
public
void
setMaxAdRequestFailCount
(
int
maxAdRequestFailCount
)
{
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"maxAdRequestFailCount"
+
maxAdRequestFailCount
,
false
);
this
.
maxAdRequestFailCount
=
maxAdRequestFailCount
;
saveMaxAdRequestFailCount
();
private
String
getAdDisplayCountKey
()
{
return
AD_DISPLAY_COUNT_KEY
+
"_"
+
currentDate
;
}
private
void
save
MaxAdRequestFail
Count
()
{
private
void
save
AdDisplay
Count
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
MAX_AD_REQUEST_FAIL_COUNT_KEY
,
maxAdRequestFail
Count
);
editor
.
putInt
(
getAdDisplayCountKey
(),
adDisplay
Count
);
editor
.
apply
();
}
//endregion
private
void
saveAdRequestFailCount
()
{
//region AdClickCount
public
int
maxAdClickCount
;
// 单个广告点击次数限制
private
int
adClickCount
=
0
;
// 当前广告点击次数
private
static
final
String
MAX_AD_CLICK_COUNT_KEY
=
"max_ad_click_count"
;
// 单个广告点击次数限制的键
private
static
final
String
AD_CLICK_COUNT_KEY
=
"ad_click_count"
;
// 广告点击次数的键
private
void
saveMaxAdClickCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
getAdRequestFailCountKey
(),
adRequestFail
Count
);
editor
.
putInt
(
MAX_AD_CLICK_COUNT_KEY
,
maxAdClick
Count
);
editor
.
apply
();
}
public
void
incrementAdRequestCount
()
{
public
void
incrementAdClickCount
()
{
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"incrementAdClickCount"
,
false
);
if
(!
currentDate
.
equals
(
getCurrentDate
()))
{
currentDate
=
getCurrentDate
();
ad
Request
Count
=
0
;
ad
Click
Count
=
0
;
}
ad
Request
Count
++;
saveAd
Request
Count
();
ad
Click
Count
++;
saveAd
Click
Count
();
}
private
void
saveAdRequestCount
()
{
private
String
getAdClickCountKey
()
{
return
AD_CLICK_COUNT_KEY
+
"_"
+
currentDate
;
}
private
void
saveAdClickCount
()
{
SharedPreferences
prefs
=
BaseApplication
.
context
.
getSharedPreferences
(
AD_PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
prefs
.
edit
();
editor
.
putInt
(
getAd
RequestCountKey
(),
adRequest
Count
);
editor
.
putInt
(
getAd
ClickCountKey
(),
adClick
Count
);
editor
.
apply
();
LogEx
.
INSTANCE
.
logDebug
(
TAG
,
"adClickCount="
+
adClickCount
,
false
);
}
//endregion
private
String
getAdRequestFailCountKey
()
{
return
AD_REQUEST_FAIL_COUNT_KEY
+
"_"
+
currentDate
;
public
String
getCurrentDate
()
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
,
Locale
.
getDefault
());
Date
currentDate
=
Calendar
.
getInstance
().
getTime
();
return
dateFormat
.
format
(
currentDate
);
}
}
app/src/main/java/com/base/datarecovery/ads/admob/AdmobCommonUtils.kt
deleted
100644 → 0
View file @
55e94a3f
package
com.base.datarecovery.ads.admob
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.utils.ActivityManagerUtils
object
AdmobCommonUtils
{
private
var
lastAd
:
Any
?
=
null
private
var
maxMultiClick
=
20
private
var
multiClick
=
0
fun
isMultiClick
(
currentAd
:
Any
?)
{
if
(
currentAd
==
null
)
{
return
}
if
(
lastAd
==
currentAd
)
{
multiClick
++
if
(
multiClick
>=
maxMultiClick
)
{
AdDisplayUtils
.
getInstance
()
.
setAdClickCount
(
AdDisplayUtils
.
getInstance
().
maxAdClickCount
)
ActivityManagerUtils
.
getInstance
().
finishAllActivity
()
return
}
}
else
{
multiClick
=
0
}
lastAd
=
currentAd
}
}
\ No newline at end of file
app/src/main/java/com/base/datarecovery/ads/admob/AdmobInterstitialUtils.kt
View file @
3ffa0b02
...
...
@@ -8,13 +8,11 @@ import com.base.datarecovery.BuildConfig
import
com.base.datarecovery.R
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.ads.AdmobMaxHelper.lastShowedOnHiddenTime
import
com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import
com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import
com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import
com.base.datarecovery.ads.admob.AdmobEvent.showAd
import
com.base.datarecovery.help.BaseApplication
import
com.base.datarecovery.help.ConfigHelper
import
com.base.datarecovery.utils.AppPreferences
import
com.base.datarecovery.utils.EventUtils
import
com.base.datarecovery.view.CustomDialog
import
com.google.android.gms.ads.AdError
...
...
@@ -169,7 +167,6 @@ object AdmobInterstitialUtils {
override
fun
onAdClicked
()
{
clickAd
(
thisInterAd
?.
responseInfo
,
"interAd"
)
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
isMultiClick
(
thisInterAd
)
}
override
fun
onAdDismissedFullScreenContent
()
{
...
...
app/src/main/java/com/base/datarecovery/ads/admob/AdmobNativeUtils.kt
View file @
3ffa0b02
...
...
@@ -6,7 +6,6 @@ import androidx.core.view.isVisible
import
com.base.datarecovery.BuildConfig
import
com.base.datarecovery.R
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import
com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import
com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import
com.base.datarecovery.ads.admob.AdmobEvent.showAd
...
...
@@ -64,11 +63,9 @@ object AdmobNativeUtils {
}.
withAdListener
(
object
:
AdListener
()
{
override
fun
onAdClicked
()
{
clickAd
(
nativeAd
?.
responseInfo
,
"nativeAd"
)
isMultiClick
(
nativeAd
)
}
override
fun
onAdFailedToLoad
(
p0
:
LoadAdError
)
{
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
LogEx
.
logDebug
(
TAG
,
"onAdFailedToLoad=${p0.message}"
)
nativeAd
=
null
isLoading
=
false
...
...
app/src/main/java/com/base/datarecovery/ads/admob/AdmobOpenUtils.kt
View file @
3ffa0b02
...
...
@@ -3,7 +3,6 @@ package com.base.datarecovery.ads.admob
import
android.app.Activity
import
com.base.datarecovery.BuildConfig
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import
com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import
com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import
com.base.datarecovery.ads.admob.AdmobEvent.showAd
...
...
@@ -103,7 +102,6 @@ object AdmobOpenUtils {
thisMOpenAd
?.
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
override
fun
onAdClicked
()
{
clickAd
(
thisMOpenAd
?.
responseInfo
,
"openAd"
)
isMultiClick
(
thisMOpenAd
)
}
override
fun
onAdDismissedFullScreenContent
()
{
...
...
app/src/main/java/com/base/datarecovery/ads/max/AdMaxNativeUtils.kt
View file @
3ffa0b02
...
...
@@ -10,7 +10,6 @@ import com.applovin.mediation.nativeAds.MaxNativeAdView
import
com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import
com.base.datarecovery.R
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.ads.admob.AdmobCommonUtils
import
com.base.datarecovery.ads.max.AdMaxEvent
import
com.base.datarecovery.help.BaseApplication
import
com.base.datarecovery.help.ConfigHelper
...
...
@@ -47,7 +46,6 @@ object AdMaxNativeUtils {
override
fun
onNativeAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
super
.
onNativeAdLoadFailed
(
p0
,
p1
)
LogEx
.
logDebug
(
TAG
,
"onNativeAdLoadFailed"
)
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
val
obj2
=
JSONObject
()
obj2
.
put
(
"reason"
,
"no_ad"
)
obj2
.
put
(
"ad_unit"
,
"nativeAd"
)
...
...
@@ -57,9 +55,7 @@ object AdMaxNativeUtils {
override
fun
onNativeAdClicked
(
p0
:
MaxAd
)
{
super
.
onNativeAdClicked
(
p0
)
LogEx
.
logDebug
(
TAG
,
"onNativeAdClicked"
)
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
nativeAd
?.
let
{
AdMaxEvent
.
clickAd
(
it
,
"nativeAd"
)
}
AdmobCommonUtils
.
isMultiClick
(
nativeAd
)
}
override
fun
onNativeAdExpired
(
p0
:
MaxAd
)
{
...
...
@@ -129,7 +125,6 @@ object AdMaxNativeUtils {
parent
.
removeAllViews
()
parent
.
addView
(
adView
)
nativeAd
?.
let
{
AdMaxEvent
.
showAd
(
it
,
"nativeAd"
,
activityString
)
}
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
}
}
...
...
app/src/main/java/com/base/datarecovery/ads/max/AdMaxOpenUtils.kt
View file @
3ffa0b02
...
...
@@ -7,8 +7,6 @@ import com.applovin.mediation.MaxError
import
com.applovin.mediation.ads.MaxAppOpenAd
import
com.base.datarecovery.MyApplication.Companion.isInterOpenShowing
import
com.base.datarecovery.ads.AdDisplayUtils
import
com.base.datarecovery.ads.AdmobMaxHelper.isAdInit
import
com.base.datarecovery.ads.admob.AdmobCommonUtils
import
com.base.datarecovery.help.ConfigHelper
import
com.base.datarecovery.utils.EventUtils
import
com.base.datarecovery.utils.LogEx
...
...
app/src/main/java/com/base/datarecovery/fcm/MessagingService.java
View file @
3ffa0b02
...
...
@@ -3,7 +3,6 @@ package com.base.datarecovery.fcm;
import
androidx.annotation.NonNull
;
import
com.base.datarecovery.MyApplication
;
import
com.base.datarecovery.ads.AdDisplayUtils
;
import
com.base.datarecovery.utils.AppPreferences
;
import
com.base.datarecovery.utils.EventUtils
;
import
com.base.datarecovery.utils.LogEx
;
...
...
app/src/main/java/com/base/datarecovery/utils/InstallHelps.kt
View file @
3ffa0b02
...
...
@@ -17,7 +17,6 @@ import org.json.JSONObject
*/
object
InstallHelps
{
private
val
TAG
=
"InstallHelps"
@RequiresApi
(
Build
.
VERSION_CODES
.
O
)
fun
init
()
{
//InstallReferrer not empty
...
...
@@ -84,7 +83,6 @@ object InstallHelps {
})
}
@RequiresApi
(
Build
.
VERSION_CODES
.
O
)
fun
requestCfg
(
callBackAd
:
Boolean
)
{
NewComUtils
.
requestCfg
{
if
(
callBackAd
)
{
...
...
app/src/main/java/com/base/datarecovery/utils/NewComUtils.kt
View file @
3ffa0b02
...
...
@@ -13,6 +13,7 @@ import kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.withContext
import
org.json.JSONObject
import
java.io.BufferedReader
import
java.io.InputStreamReader
import
java.net.HttpURLConnection
...
...
@@ -32,24 +33,28 @@ object NewComUtils {
private
val
url
:
String
by
lazy
{
val
packageName
=
ConfigHelper
.
packageName
val
appCode
=
packageName
.
substringAfter
(
PACKAGE_NAME_PREFIX
).
take
(
5
).
toLowerCase
(
Locale
.
getDefault
())
val
baseRefer
=
val
baseRefer
=
Base64
.
getEncoder
().
encodeToString
(
AppPreferences
.
getInstance
().
getString
(
"referrerUrl"
,
""
).
toByteArray
())
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
){
"$API_URL/${appCode}spk?pkg=$packageName"
+
"&referrer=${baseRefer}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}&device=${AppPreferences.getInstance().getString("
gid
", "")}&aid=${AppPreferences.getInstance().getString("
uuid
", "")}"
}
else
{
"$API_URL/${appCode}spk?pkg=$packageName"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}&device=${AppPreferences.getInstance().getString("
gid
", "")}&aid=${AppPreferences.getInstance().getString("
uuid
", "")}"
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
"$API_URL/${appCode}spk?pkg=$packageName"
+
"&referrer=${baseRefer}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}&device=${
AppPreferences
.
getInstance
().
getString
(
"gid"
,
""
)
}&
aid
=
$
{
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)}
"
}
else
{
"$API_URL/${appCode}spk?pkg=$packageName"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}&device=${
AppPreferences
.
getInstance
().
getString
(
"gid"
,
""
)
}&
aid
=
$
{
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)}
"
}
}
fun
requestCfg
(
callback
:
(
ConfigBean
?
)
->
Unit
)
{
fun
requestCfg
(
callback
:
()
->
Unit
)
{
CoroutineScope
(
Dispatchers
.
IO
).
launch
{
val
response
=
doGet
()
if
(
response
==
null
)
{
withContext
(
Dispatchers
.
Main
)
{
callback
(
null
)
callback
()
}
return
@launch
}
...
...
@@ -57,7 +62,7 @@ object NewComUtils {
val
data
=
extractData
(
response
)
if
(
data
==
null
)
{
withContext
(
Dispatchers
.
Main
)
{
callback
(
null
)
callback
()
}
return
@launch
}
...
...
@@ -65,7 +70,7 @@ object NewComUtils {
val
decryptedData
=
AESHelper
.
decrypt
(
data
)
parseConfigBean
(
decryptedData
)
withContext
(
Dispatchers
.
Main
)
{
callback
(
null
)
callback
()
}
}
}
...
...
@@ -105,19 +110,13 @@ object NewComUtils {
// 对于整型值使用parseInt, 长整型使用parseLong
LogEx
.
logDebug
(
TAG
,
"t=$t u=$u"
)
AppPreferences
.
getInstance
().
put
(
t
,
u
)
}
AdDisplayUtils
.
getInstance
().
setMaxAdDisplayCount
(
AppPreferences
.
getInstance
().
getString
(
"adShowCount"
,
"45"
).
toInt
()
)
AdDisplayUtils
.
getInstance
().
maxAdClickCount
=
AppPreferences
.
getInstance
().
getString
(
"adClickCount"
,
"10"
).
toInt
()
AdDisplayUtils
.
getInstance
().
maxAdRequestFailCount
=
AppPreferences
.
getInstance
().
getString
(
"adRequestFailCount"
,
"20"
).
toInt
()
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"ut"
,
AppPreferences
.
getInstance
().
getString
(
"ut"
,
""
))
EventUtils
.
event
(
"user_type"
,
ext
=
jsonObject
)
AdDisplayUtils
.
getInstance
().
maxAdRequestCount
=
AppPreferences
.
getInstance
().
getString
(
"adMaxRequestCount"
,
"100"
).
toInt
()
AdDisplayUtils
.
getInstance
().
saveSp
()
}
}
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