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
Hide 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
import
com.simplecleaner.app.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import
com.simplecleaner.app.ui.splash.SplashActivity
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.PackageReceiver
import
com.simplecleaner.app.business.push.timer.TimerManager.Companion.changeTimer
import
com.simplecleaner.app.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
import
kotlinx.coroutines.Dispatchers
...
...
@@ -101,8 +103,8 @@ class MyApplication : Application() {
private
fun
initGid
()
=
MainScope
().
launch
(
Dispatchers
.
IO
)
{
try
{
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
advertisingId
=
info
.
id
AppPreferences
.
getInstance
().
put
(
"gid"
,
advertisingId
)
val
advertisingId
=
info
.
id
?:
"null"
SpConstObject
.
gid
=
advertisingId
}
catch
(
e
:
Exception
)
{
EventUtils
.
event
(
"gid_exception"
)
}
...
...
@@ -114,10 +116,10 @@ class MyApplication : Application() {
}
private
fun
initUUid
()
{
uuid
=
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
uuid
=
appUuid
if
(
TextUtils
.
isEmpty
(
uuid
))
{
uuid
=
UUID
.
randomUUID
().
toString
()
+
System
.
currentTimeMillis
()
AppPreferences
.
getInstance
().
put
(
"uuid"
,
uuid
)
appUuid
=
uuid
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
}
LogEx
.
logDebug
(
TAG
,
"uuid=${AppPreferences.getInstance().getString("
uuid
", "")}"
)
...
...
@@ -155,15 +157,13 @@ class MyApplication : Application() {
startStayJobService
()
}
// val token = AppPreferences.getInstance().getString("token", "")
val
topic
=
GlobalConfig
.
PACKAGE_NAME
+
"_push"
// LogEx.logDebug(TAG, "topic=${topic} token=$token")
FCMManager
.
initFirebase
(
this
)
FCMManager
.
subscribeToTopic
(
topic
)
changeTimer
()
ScreenStatusReceiver
.
registerScreenStatusReceiver
(
this
)
// PackageStatusReceiver.registerPackageStatusReceiv
er(this)
PackageReceiver
.
regist
er
(
this
)
registerBatteryReceiver
(
this
)
//workManager
...
...
app/src/main/java/com/simplecleaner/app/SpConstObject.kt
View file @
6b5d46a8
...
...
@@ -5,6 +5,24 @@ import java.util.Locale
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
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
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.SpConstObject.ifAgreePrivacy
import
com.simplecleaner.app.GlobalConfig
import
com.simplecleaner.app.SpConstObject
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
okhttp3.Call
import
okhttp3.Callback
...
...
@@ -50,8 +51,8 @@ object EventUtils {
jsonObject
.
put
(
"${packageName}_4"
,
Build
.
MANUFACTURER
)
// 手机厂商
jsonObject
.
put
(
"${packageName}_5"
,
Build
.
VERSION
.
SDK_INT
)
// android系统版本号
jsonObject
.
put
(
"${packageName}_8"
,
BuildConfig
.
VERSION_NAME
)
// APP版本号,如:1.1.2
jsonObject
.
put
(
"${packageName}_9"
,
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
)
// Android id
jsonObject
.
put
(
"${packageName}_10"
,
AppPreferences
.
getInstance
().
getString
(
"gid"
,
""
)
)
// Google advertiser id
jsonObject
.
put
(
"${packageName}_9"
,
SpConstObject
.
appUuid
)
// Android id
jsonObject
.
put
(
"${packageName}_10"
,
SpConstObject
.
gid
)
// Google advertiser id
jsonObject
.
put
(
"${packageName}_13"
,
"android"
)
// platform 默认android
jsonObject
.
put
(
"${packageName}_14"
,
BuildConfig
.
VERSION_CODE
)
// android版本,如:13
jsonObject
.
put
(
"${packageName}_15"
,
"google"
)
// 渠道标识
...
...
@@ -97,6 +98,9 @@ object EventUtils {
override
fun
onResponse
(
call
:
Call
,
response
:
Response
)
{
if
(
response
.
code
==
200
&&
response
.
isSuccessful
)
{
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
import
com.android.installreferrer.api.InstallReferrerClient
import
com.android.installreferrer.api.InstallReferrerStateListener
import
com.android.installreferrer.api.ReferrerDetails
import
com.simplecleaner.app.BuildConfig
import
com.simplecleaner.app.MyApplication
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.LogEx
import
org.json.JSONObject
/**
...
...
@@ -15,14 +15,53 @@ object 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
)
{
val
installReferrer
=
AppPreferences
.
getInstance
().
getString
(
"install_referrer"
,
""
)
if
(
installReferrer
.
isNotEmpty
())
{
if
(
installEvent
)
{
requestCfg
.
invoke
()
return
}
val
referrerClient
=
InstallReferrerClient
.
newBuilder
(
MyApplication
.
appContext
).
build
()
referrerClient
.
startConnection
(
object
:
InstallReferrerStateListener
{
override
fun
onInstallReferrerSetupFinished
(
responseCode
:
Int
)
{
...
...
@@ -30,31 +69,26 @@ object InstallHelps {
when
(
responseCode
)
{
InstallReferrerClient
.
InstallReferrerResponse
.
OK
->
{
val
response
=
referrerClient
.
installReferrer
val
installInfo
=
response
.
installReferrer
val
obj
=
JSONObject
()
obj
.
put
(
"referrerUrl"
,
response
.
installReferrer
)
obj
.
put
(
"referrerClickTime"
,
response
.
referrerClickTimestampSeconds
)
obj
.
put
(
"appInstallTime"
,
response
.
installBeginTimestampSeconds
)
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
(
installReferrer
=
response
.
installReferrer
eventInstallReferrer
(
response
)
installSource
=
if
(
listOf
(
"gclid"
,
"facebook"
,
"instagram"
).
all
{
!
installInfo
.
contains
(
it
,
true
)
}
).
all
{
!
response
.
installReferrer
.
contains
(
it
,
true
)
}
)
{
//自然用户
if
(
BuildConfig
.
DEBUG
)
{
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"channel"
)
"channel"
}
else
{
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"origin"
)
"origin"
}
}
else
{
//渠道用户
AppPreferences
.
getInstance
().
put
(
"install_source"
,
"channel"
)
"channel"
}
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
import
com.simplecleaner.app.utils.AppPreferences
import
com.simplecleaner.app.utils.LogEx
import
com.google.gson.Gson
import
com.simplecleaner.app.SpConstObject
import
okhttp3.Call
import
okhttp3.Callback
import
okhttp3.OkHttpClient
...
...
@@ -63,8 +64,8 @@ object NewComUtils {
"&referrer=${bRefer}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}"
+
"&device=${
AppPreferences.getInstance().getString("
gid
", "")
}"
+
"&aid=${
AppPreferences.getInstance().getString("
uuid
", "")
}"
"&device=${
SpConstObject.gid
}"
+
"&aid=${
SpConstObject.appUuid
}"
if
(
BuildConfig
.
DEBUG
)
{
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