Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
A
appzxhy
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
appzxhy
Commits
6b5d46a8
Commit
6b5d46a8
authored
Jul 11, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[迭代]
parent
033b8e0a
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
119 additions
and
30 deletions
+119
-30
MyApplication.kt
app/src/main/java/com/simplecleaner/app/MyApplication.kt
+7
-7
SpConstObject.kt
app/src/main/java/com/simplecleaner/app/SpConstObject.kt
+18
-0
EventUtils.kt
.../java/com/simplecleaner/app/business/helper/EventUtils.kt
+7
-3
InstallHelper.kt
...va/com/simplecleaner/app/business/helper/InstallHelper.kt
+52
-18
NewComUtils.kt
...java/com/simplecleaner/app/business/helper/NewComUtils.kt
+3
-2
PackageReceiver.kt
...mplecleaner/app/business/push/receiver/PackageReceiver.kt
+32
-0
No files found.
app/src/main/java/com/simplecleaner/app/MyApplication.kt
View file @
6b5d46a8
...
@@ -33,7 +33,9 @@ import com.simplecleaner.app.push.receiver.ScreenStatusReceiver
...
@@ -33,7 +33,9 @@ import com.simplecleaner.app.push.receiver.ScreenStatusReceiver
import
com.simplecleaner.app.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import
com.simplecleaner.app.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import
com.simplecleaner.app.ui.splash.SplashActivity
import
com.simplecleaner.app.ui.splash.SplashActivity
import
com.facebook.appevents.AppEventsLogger
import
com.facebook.appevents.AppEventsLogger
import
com.simplecleaner.app.SpConstObject.appUuid
import
com.simplecleaner.app.business.push.receiver.AlarmReceiver.Companion.startAlarm
import
com.simplecleaner.app.business.push.receiver.AlarmReceiver.Companion.startAlarm
import
com.simplecleaner.app.business.push.receiver.PackageReceiver
import
com.simplecleaner.app.business.push.timer.TimerManager.Companion.changeTimer
import
com.simplecleaner.app.business.push.timer.TimerManager.Companion.changeTimer
import
com.simplecleaner.app.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
import
com.simplecleaner.app.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
@@ -101,8 +103,8 @@ class MyApplication : Application() {
...
@@ -101,8 +103,8 @@ class MyApplication : Application() {
private
fun
initGid
()
=
MainScope
().
launch
(
Dispatchers
.
IO
)
{
private
fun
initGid
()
=
MainScope
().
launch
(
Dispatchers
.
IO
)
{
try
{
try
{
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
advertisingId
=
info
.
id
val
advertisingId
=
info
.
id
?:
"null"
AppPreferences
.
getInstance
().
put
(
"gid"
,
advertisingId
)
SpConstObject
.
gid
=
advertisingId
}
catch
(
e
:
Exception
)
{
}
catch
(
e
:
Exception
)
{
EventUtils
.
event
(
"gid_exception"
)
EventUtils
.
event
(
"gid_exception"
)
}
}
...
@@ -114,10 +116,10 @@ class MyApplication : Application() {
...
@@ -114,10 +116,10 @@ class MyApplication : Application() {
}
}
private
fun
initUUid
()
{
private
fun
initUUid
()
{
uuid
=
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
uuid
=
appUuid
if
(
TextUtils
.
isEmpty
(
uuid
))
{
if
(
TextUtils
.
isEmpty
(
uuid
))
{
uuid
=
UUID
.
randomUUID
().
toString
()
+
System
.
currentTimeMillis
()
uuid
=
UUID
.
randomUUID
().
toString
()
+
System
.
currentTimeMillis
()
AppPreferences
.
getInstance
().
put
(
"uuid"
,
uuid
)
appUuid
=
uuid
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
}
}
LogEx
.
logDebug
(
TAG
,
"uuid=${AppPreferences.getInstance().getString("
uuid
", "")}"
)
LogEx
.
logDebug
(
TAG
,
"uuid=${AppPreferences.getInstance().getString("
uuid
", "")}"
)
...
@@ -155,15 +157,13 @@ class MyApplication : Application() {
...
@@ -155,15 +157,13 @@ class MyApplication : Application() {
startStayJobService
()
startStayJobService
()
}
}
// val token = AppPreferences.getInstance().getString("token", "")
val
topic
=
GlobalConfig
.
PACKAGE_NAME
+
"_push"
val
topic
=
GlobalConfig
.
PACKAGE_NAME
+
"_push"
// LogEx.logDebug(TAG, "topic=${topic} token=$token")
FCMManager
.
initFirebase
(
this
)
FCMManager
.
initFirebase
(
this
)
FCMManager
.
subscribeToTopic
(
topic
)
FCMManager
.
subscribeToTopic
(
topic
)
changeTimer
()
changeTimer
()
ScreenStatusReceiver
.
registerScreenStatusReceiver
(
this
)
ScreenStatusReceiver
.
registerScreenStatusReceiver
(
this
)
// PackageStatusReceiver.registerPackageStatusReceiv
er(this)
PackageReceiver
.
regist
er
(
this
)
registerBatteryReceiver
(
this
)
registerBatteryReceiver
(
this
)
//workManager
//workManager
...
...
app/src/main/java/com/simplecleaner/app/SpConstObject.kt
View file @
6b5d46a8
...
@@ -5,6 +5,24 @@ import java.util.Locale
...
@@ -5,6 +5,24 @@ import java.util.Locale
object
SpConstObject
{
object
SpConstObject
{
var
appUuid
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"uuid"
,
value
,
true
)
}
var
gid
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"gid"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"gid"
,
value
,
true
)
}
//是否已经点击start
//是否已经点击start
var
ifAgreePrivacy
=
false
var
ifAgreePrivacy
=
false
...
...
app/src/main/java/com/simplecleaner/app/business/helper/EventUtils.kt
View file @
6b5d46a8
...
@@ -4,8 +4,9 @@ import android.os.Build
...
@@ -4,8 +4,9 @@ import android.os.Build
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.SpConstObject.ifAgreePrivacy
import
com.simplecleaner.app.SpConstObject.ifAgreePrivacy
import
com.simplecleaner.app.GlobalConfig
import
com.simplecleaner.app.GlobalConfig
import
com.simplecleaner.app.SpConstObject
import
com.simplecleaner.app.bean.config.ConfigBean
import
com.simplecleaner.app.bean.config.ConfigBean
import
com.simplecleaner.app.
utils.AppPreferences
import
com.simplecleaner.app.
business.helper.InstallHelps.installEvent
import
com.simplecleaner.app.utils.LogEx
import
com.simplecleaner.app.utils.LogEx
import
okhttp3.Call
import
okhttp3.Call
import
okhttp3.Callback
import
okhttp3.Callback
...
@@ -50,8 +51,8 @@ object EventUtils {
...
@@ -50,8 +51,8 @@ object EventUtils {
jsonObject
.
put
(
"${packageName}_4"
,
Build
.
MANUFACTURER
)
// 手机厂商
jsonObject
.
put
(
"${packageName}_4"
,
Build
.
MANUFACTURER
)
// 手机厂商
jsonObject
.
put
(
"${packageName}_5"
,
Build
.
VERSION
.
SDK_INT
)
// android系统版本号
jsonObject
.
put
(
"${packageName}_5"
,
Build
.
VERSION
.
SDK_INT
)
// android系统版本号
jsonObject
.
put
(
"${packageName}_8"
,
BuildConfig
.
VERSION_NAME
)
// APP版本号,如:1.1.2
jsonObject
.
put
(
"${packageName}_8"
,
BuildConfig
.
VERSION_NAME
)
// APP版本号,如:1.1.2
jsonObject
.
put
(
"${packageName}_9"
,
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
)
// Android id
jsonObject
.
put
(
"${packageName}_9"
,
SpConstObject
.
appUuid
)
// Android id
jsonObject
.
put
(
"${packageName}_10"
,
AppPreferences
.
getInstance
().
getString
(
"gid"
,
""
)
)
// Google advertiser id
jsonObject
.
put
(
"${packageName}_10"
,
SpConstObject
.
gid
)
// Google advertiser id
jsonObject
.
put
(
"${packageName}_13"
,
"android"
)
// platform 默认android
jsonObject
.
put
(
"${packageName}_13"
,
"android"
)
// platform 默认android
jsonObject
.
put
(
"${packageName}_14"
,
BuildConfig
.
VERSION_CODE
)
// android版本,如:13
jsonObject
.
put
(
"${packageName}_14"
,
BuildConfig
.
VERSION_CODE
)
// android版本,如:13
jsonObject
.
put
(
"${packageName}_15"
,
"google"
)
// 渠道标识
jsonObject
.
put
(
"${packageName}_15"
,
"google"
)
// 渠道标识
...
@@ -97,6 +98,9 @@ object EventUtils {
...
@@ -97,6 +98,9 @@ object EventUtils {
override
fun
onResponse
(
call
:
Call
,
response
:
Response
)
{
override
fun
onResponse
(
call
:
Call
,
response
:
Response
)
{
if
(
response
.
code
==
200
&&
response
.
isSuccessful
)
{
if
(
response
.
code
==
200
&&
response
.
isSuccessful
)
{
LogEx
.
logDebug
(
TAG
,
"onResponse 200"
)
LogEx
.
logDebug
(
TAG
,
"onResponse 200"
)
if
(
key
==
"install_referrer"
)
{
installEvent
=
true
}
}
}
}
}
})
})
...
...
app/src/main/java/com/simplecleaner/app/business/helper/InstallHelper.kt
View file @
6b5d46a8
...
@@ -2,10 +2,10 @@ package com.simplecleaner.app.business.helper
...
@@ -2,10 +2,10 @@ package com.simplecleaner.app.business.helper
import
com.android.installreferrer.api.InstallReferrerClient
import
com.android.installreferrer.api.InstallReferrerClient
import
com.android.installreferrer.api.InstallReferrerStateListener
import
com.android.installreferrer.api.InstallReferrerStateListener
import
com.android.installreferrer.api.ReferrerDetails
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.MyApplication
import
com.simplecleaner.app.MyApplication
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.LogEx
import
org.json.JSONObject
import
org.json.JSONObject
/**
/**
...
@@ -15,14 +15,53 @@ object InstallHelps {
...
@@ -15,14 +15,53 @@ object InstallHelps {
private
val
TAG
=
"InstallHelps"
private
val
TAG
=
"InstallHelps"
var
installReferrer
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"install_referrer"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"install_referrer"
,
value
,
true
)
}
//用户来源
var
installSource
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"install_source"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"install_source"
,
value
,
true
)
}
//用户是否上报过
var
installEvent
=
false
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"installEvent"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"installEvent"
,
value
,
true
)
}
fun
eventInstallReferrer
(
response
:
ReferrerDetails
)
{
val
obj
=
JSONObject
()
obj
.
put
(
"referrerUrl"
,
response
.
installReferrer
)
obj
.
put
(
"referrerClickTime"
,
response
.
referrerClickTimestampSeconds
)
obj
.
put
(
"appInstallTime"
,
response
.
installBeginTimestampSeconds
)
obj
.
put
(
"instantExperienceLaunched"
,
response
.
installReferrer
.
toString
())
EventUtils
.
event
(
"install_referrer"
,
ext
=
obj
)
}
fun
init
(
requestCfg
:
()
->
Unit
)
{
fun
init
(
requestCfg
:
()
->
Unit
)
{
val
installReferrer
=
AppPreferences
.
getInstance
().
getString
(
"install_referrer"
,
""
)
if
(
installEvent
)
{
if
(
installReferrer
.
isNotEmpty
())
{
requestCfg
.
invoke
()
requestCfg
.
invoke
()
return
return
}
}
val
referrerClient
=
InstallReferrerClient
.
newBuilder
(
MyApplication
.
appContext
).
build
()
val
referrerClient
=
InstallReferrerClient
.
newBuilder
(
MyApplication
.
appContext
).
build
()
referrerClient
.
startConnection
(
object
:
InstallReferrerStateListener
{
referrerClient
.
startConnection
(
object
:
InstallReferrerStateListener
{
override
fun
onInstallReferrerSetupFinished
(
responseCode
:
Int
)
{
override
fun
onInstallReferrerSetupFinished
(
responseCode
:
Int
)
{
...
@@ -30,31 +69,26 @@ object InstallHelps {
...
@@ -30,31 +69,26 @@ object InstallHelps {
when
(
responseCode
)
{
when
(
responseCode
)
{
InstallReferrerClient
.
InstallReferrerResponse
.
OK
->
{
InstallReferrerClient
.
InstallReferrerResponse
.
OK
->
{
val
response
=
referrerClient
.
installReferrer
val
response
=
referrerClient
.
installReferrer
val
installInfo
=
response
.
installReferrer
val
obj
=
JSONObject
()
installReferrer
=
response
.
installReferrer
obj
.
put
(
"referrerUrl"
,
response
.
installReferrer
)
eventInstallReferrer
(
response
)
obj
.
put
(
"referrerClickTime"
,
response
.
referrerClickTimestampSeconds
)
obj
.
put
(
"appInstallTime"
,
response
.
installBeginTimestampSeconds
)
installSource
=
if
(
listOf
(
obj
.
put
(
"instantExperienceLaunched"
,
installInfo
.
toString
())
EventUtils
.
event
(
"install_referrer"
,
ext
=
obj
)
LogEx
.
logDebug
(
TAG
,
"referrerUrl=${response.installReferrer}"
)
AppPreferences
.
getInstance
().
put
(
"install_referrer"
,
response
.
installReferrer
)
if
(
listOf
(
"gclid"
,
"gclid"
,
"facebook"
,
"facebook"
,
"instagram"
"instagram"
).
all
{
!
installInfo
.
contains
(
it
,
true
)
}
).
all
{
!
response
.
installReferrer
.
contains
(
it
,
true
)
}
)
{
)
{
//自然用户
//自然用户
if
(
BuildConfig
.
DEBUG
)
{
if
(
BuildConfig
.
DEBUG
)
{
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"channel"
)
"channel"
}
else
{
}
else
{
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"origin"
)
"origin"
}
}
}
else
{
}
else
{
//渠道用户
"channel"
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"channel"
)
}
}
requestCfg
()
requestCfg
()
}
}
...
...
app/src/main/java/com/simplecleaner/app/business/helper/NewComUtils.kt
View file @
6b5d46a8
...
@@ -11,6 +11,7 @@ import com.simplecleaner.app.bean.config.PopupConfigBean
...
@@ -11,6 +11,7 @@ import com.simplecleaner.app.bean.config.PopupConfigBean
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.LogEx
import
com.simplecleaner.app.utils.LogEx
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.simplecleaner.app.SpConstObject
import
okhttp3.Call
import
okhttp3.Call
import
okhttp3.Callback
import
okhttp3.Callback
import
okhttp3.OkHttpClient
import
okhttp3.OkHttpClient
...
@@ -63,8 +64,8 @@ object NewComUtils {
...
@@ -63,8 +64,8 @@ object NewComUtils {
"&referrer=${bRefer}"
+
"&referrer=${bRefer}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}"
+
"&vc=${BuildConfig.VERSION_CODE}"
+
"&device=${
AppPreferences.getInstance().getString("
gid
", "")
}"
+
"&device=${
SpConstObject.gid
}"
+
"&aid=${
AppPreferences.getInstance().getString("
uuid
", "")
}"
"&aid=${
SpConstObject.appUuid
}"
if
(
BuildConfig
.
DEBUG
)
{
if
(
BuildConfig
.
DEBUG
)
{
s
=
"$s&mode=4"
s
=
"$s&mode=4"
...
...
app/src/main/java/com/simplecleaner/app/business/push/receiver/PackageReceiver.kt
0 → 100644
View file @
6b5d46a8
package
com.simplecleaner.app.business.push.receiver
import
android.content.BroadcastReceiver
import
android.content.Context
import
android.content.Intent
import
android.content.IntentFilter
import
android.os.Build
import
com.simplecleaner.app.bean.push.NotificationSendBean
import
com.simplecleaner.app.bean.push.NotificationSendBean.Companion.POPUP_WHERE_PACKAGE
import
com.simplecleaner.app.business.push.notification.MyNotificationManager
class
PackageReceiver
:
BroadcastReceiver
()
{
companion
object
{
fun
register
(
context
:
Context
)
{
val
intentFilter
=
IntentFilter
().
apply
{
addAction
(
Intent
.
ACTION_PACKAGE_REMOVED
)
addAction
(
Intent
.
ACTION_PACKAGE_ADDED
)
addDataScheme
(
"package"
)
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
context
.
registerReceiver
(
PackageReceiver
(),
intentFilter
,
Context
.
RECEIVER_EXPORTED
)
}
else
{
context
.
registerReceiver
(
PackageReceiver
(),
intentFilter
)
}
}
}
override
fun
onReceive
(
context
:
Context
,
intent
:
Intent
?)
{
MyNotificationManager
.
submitSendBean
(
NotificationSendBean
(
context
,
POPUP_WHERE_PACKAGE
))
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment