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
696c0bd9
Commit
696c0bd9
authored
Jul 03, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[归因]归因
parent
0110c796
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
125 additions
and
9 deletions
+125
-9
build.gradle.kts
app/build.gradle.kts
+6
-0
proguard-rules.pro
app/proguard-rules.pro
+16
-2
GlobalConfig.kt
app/src/main/java/com/ritoq/quickphone/GlobalConfig.kt
+4
-0
MyApplication.kt
app/src/main/java/com/ritoq/quickphone/MyApplication.kt
+3
-0
ConfigBean.kt
.../main/java/com/ritoq/quickphone/bean/config/ConfigBean.kt
+2
-1
AdjustUtils.kt
.../java/com/ritoq/quickphone/business/helper/AdjustUtils.kt
+84
-0
InstallHelper.kt
...ava/com/ritoq/quickphone/business/helper/InstallHelper.kt
+2
-2
NewComUtils.kt
.../java/com/ritoq/quickphone/business/helper/NewComUtils.kt
+8
-4
No files found.
app/build.gradle.kts
View file @
696c0bd9
...
...
@@ -207,4 +207,10 @@ dependencies {
//implementation ('com.pangle.global:ads-sdk:6.5.0.6')
// If you use version 7.1.0.0 and above, it depends on 'pag-sdk'
implementation
(
"com.pangle.global:pag-sdk:7.1.0.4"
)
//adjust
// https://dev.adjust.com/en/sdk/android
implementation
(
"com.adjust.sdk:adjust-android:5.4.1"
)
implementation
(
"com.android.installreferrer:installreferrer:2.2"
)
}
\ No newline at end of file
app/proguard-rules.pro
View file @
696c0bd9
...
...
@@ -49,7 +49,6 @@
-
keep
class
com
.
squareup
.
okhttp
.
**
{
*
;
}
-
keep
class
com
.
bytedance
.
sdk
.
**
{
*
;
}
# 保持 Facebook SDK 的类和方法
-
keep
class
com
.
facebook
.
**
{
*
;
}
...
...
@@ -64,4 +63,19 @@
# public static *** e(...);
#}
#pangle 防混淆
-
keep
class
com
.
bytedance
.
sdk
.
**
{
*
;
}
# Adjust 防混淆
-
keep
class
com
.
adjust
.
sdk
.
**
{
*
;
}
-
keep
class
com
.
google
.
android
.
gms
.
common
.
ConnectionResult
{
int
SUCCESS
;
}
-
keep
class
com
.
google
.
android
.
gms
.
ads
.
identifier
.
AdvertisingIdClient
{
com
.
google
.
android
.
gms
.
ads
.
identifier
.
AdvertisingIdClient
$
Info
getAdvertisingIdInfo
(
android
.
content
.
Context
);
}
-
keep
class
com
.
google
.
android
.
gms
.
ads
.
identifier
.
AdvertisingIdClient
$
Info
{
java
.
lang
.
String
getId
();
boolean
isLimitAdTrackingEnabled
();
}
-
keep
public
class
com
.
android
.
installreferrer
.
**
{
*
;
}
app/src/main/java/com/ritoq/quickphone/GlobalConfig.kt
View file @
696c0bd9
...
...
@@ -5,6 +5,8 @@ package com.ritoq.quickphone
*Create by SleepDog on 2024-12-24
*/
object
GlobalConfig
{
//包名
const
val
PACKAGE_NAME
=
"com.ritoq.quickphone.rfrc"
...
...
@@ -64,4 +66,6 @@ object GlobalConfig {
inline
val
ID_PANGLE_BANNER_300X250
get
()
=
"980088196"
inline
val
ID_PANGLE_BANNER_320X50
get
()
=
"980099802"
inline
val
ADJUST_TOKEN
get
()
=
"4adqi9e957pc"
}
\ No newline at end of file
app/src/main/java/com/ritoq/quickphone/MyApplication.kt
View file @
696c0bd9
...
...
@@ -32,6 +32,7 @@ import com.ritoq.quickphone.push.receiver.ScreenStatusReceiver
import
com.ritoq.quickphone.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import
com.ritoq.quickphone.ui.splash.SplashActivity
import
com.facebook.appevents.AppEventsLogger
import
com.ritoq.quickphone.business.helper.AdjustUtils
import
com.ritoq.quickphone.business.push.receiver.AlarmReceiver.Companion.startAlarm
import
com.ritoq.quickphone.business.push.timer.TimerManager.Companion.changeTimer
import
com.ritoq.quickphone.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
...
...
@@ -181,6 +182,8 @@ class MyApplication : Application() {
//初始化sp的配置
NewComUtils
.
parseConfigBean
(
spConfig
)
AdjustUtils
.
initAdjust
(
this
)
NewComUtils
.
requestCfgCallBackMap
.
put
(
"changeTimer"
)
{
LogEx
.
logDebug
(
TAG
,
"requestCfgCallBackMap changeTimer"
)
changeTimer
()
...
...
app/src/main/java/com/ritoq/quickphone/bean/config/ConfigBean.kt
View file @
696c0bd9
...
...
@@ -13,8 +13,9 @@ data class ConfigBean(
// val vipConfigBean: VipConfigBean = VipConfigBean(),
val
noEventKey
:
List
<
String
>
=
listOf
(),
val
getConfigInterval
:
Int
=
4
,
//请求配间隔小时
var
test
:
Int
=
0
,
)
{
)
{
companion
object
{
var
configBean
:
ConfigBean
=
ConfigBean
()
...
...
app/src/main/java/com/ritoq/quickphone/business/helper/AdjustUtils.kt
0 → 100644
View file @
696c0bd9
package
com.ritoq.quickphone.business.helper
import
android.content.Context
import
com.adjust.sdk.Adjust
import
com.adjust.sdk.AdjustConfig
import
com.adjust.sdk.LogLevel
import
com.ritoq.quickphone.BuildConfig
import
com.ritoq.quickphone.GlobalConfig
import
com.ritoq.quickphone.business.helper.InstallHelps.installSource
import
com.ritoq.quickphone.business.helper.NewComUtils.requestCfg
import
com.ritoq.quickphone.utils.AppPreferences
import
com.ritoq.quickphone.utils.LogEx
object
AdjustUtils
{
private
val
TAG
=
"AdjustUtils"
/**
* origin 走 应用配置渠道
* channel 走 facebook渠道
*
*/
fun
getUserSource
():
String
{
if
(
BuildConfig
.
DEBUG
)
{
return
"origin"
}
var
source
=
"origin"
if
(
adJustInstallSource
==
"channel"
)
{
source
=
"channel"
return
source
}
else
if
(
adJustInstallSource
==
"origin"
)
{
return
source
}
else
{
if
(
installSource
==
"channel"
)
{
source
=
"channel"
}
}
return
source
}
//用户来源
var
adJustInstallSource
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"adJustInstallSource"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"adJustInstallSource"
,
value
,
true
)
}
fun
initAdjust
(
context
:
Context
)
{
val
environment
=
if
(
BuildConfig
.
DEBUG
)
{
AdjustConfig
.
ENVIRONMENT_SANDBOX
}
else
{
AdjustConfig
.
ENVIRONMENT_PRODUCTION
}
val
config
=
AdjustConfig
(
context
,
GlobalConfig
.
ADJUST_TOKEN
,
environment
).
apply
{
setLogLevel
(
LogLevel
.
ERROR
)
// 设置归因监听
setOnAttributionChangedListener
{
attribution
->
val
network
=
attribution
.
network
val
isChannel
=
!
network
.
isNullOrEmpty
()
&&
!
network
.
contains
(
"Organic"
,
true
)
adJustInstallSource
=
if
(
isChannel
)
"channel"
else
"origin"
LogEx
.
logDebug
(
TAG
,
"network=$network isChannel=$isChannel"
)
requestCfg
(
true
)
}
}
LogEx
.
logDebug
(
TAG
,
"initSdk"
)
Adjust
.
initSdk
(
config
)
}
}
\ No newline at end of file
app/src/main/java/com/ritoq/quickphone/business/helper/InstallHelper.kt
View file @
696c0bd9
...
...
@@ -3,7 +3,6 @@ package com.ritoq.quickphone.business.helper
import
com.android.installreferrer.api.InstallReferrerClient
import
com.android.installreferrer.api.InstallReferrerStateListener
import
com.android.installreferrer.api.ReferrerDetails
import
com.ritoq.quickphone.BuildConfig
import
com.ritoq.quickphone.MyApplication
import
com.ritoq.quickphone.utils.AppPreferences
import
org.json.JSONObject
...
...
@@ -15,6 +14,7 @@ object InstallHelps {
private
val
TAG
=
"InstallHelps"
var
installReferrer
=
""
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"install_referrer"
,
field
)
...
...
@@ -83,8 +83,8 @@ object InstallHelps {
InstallReferrerClient
.
InstallReferrerResponse
.
OK
->
{
val
response
=
referrerClient
.
installReferrer
eventInstallReferrer
(
response
)
setInstallSource
(
response
)
eventInstallReferrer
(
response
)
requestCfg
()
}
...
...
app/src/main/java/com/ritoq/quickphone/business/helper/NewComUtils.kt
View file @
696c0bd9
...
...
@@ -11,6 +11,7 @@ import com.ritoq.quickphone.business.helper.InstallHelps.installReferrer
import
com.ritoq.quickphone.utils.AppPreferences
import
com.ritoq.quickphone.utils.LogEx
import
com.google.gson.Gson
import
com.ritoq.quickphone.business.helper.AdjustUtils.getUserSource
import
okhttp3.Call
import
okhttp3.Callback
import
okhttp3.OkHttpClient
...
...
@@ -64,7 +65,8 @@ object NewComUtils {
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}"
+
"&device=${AppPreferences.getInstance().getString("
gid
", "")}"
+
"&aid=${AppPreferences.getInstance().getString("
uuid
", "")}"
"&aid=${AppPreferences.getInstance().getString("
uuid
", "")}"
+
"&source=${getUserSource()}"
if
(
BuildConfig
.
DEBUG
)
{
s
=
"$s&mode=4"
...
...
@@ -93,13 +95,15 @@ object NewComUtils {
return
true
}
fun
requestCfg
()
{
fun
requestCfg
(
requestMust
:
Boolean
=
false
)
{
requestCfgIng
.
set
(
true
)
if
(!
requestMust
)
{
if
(!
canRequestCfg
())
{
return
}
}
val
urlPath
=
getUrl
()
LogEx
.
logDebug
(
TAG
,
"url=$urlPath"
)
...
...
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