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
32caa541
Commit
32caa541
authored
Jun 27, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[同步]installReferrer
parent
813e956b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
87 additions
and
29 deletions
+87
-29
MyApplication.kt
app/src/main/java/com/rgt/superr/MyApplication.kt
+6
-5
SpConstObject.kt
app/src/main/java/com/rgt/superr/SpConstObject.kt
+18
-1
EventUtils.kt
...rc/main/java/com/rgt/superr/business/helper/EventUtils.kt
+4
-2
InstallHelper.kt
...main/java/com/rgt/superr/business/helper/InstallHelper.kt
+53
-18
NewComUtils.kt
...c/main/java/com/rgt/superr/business/helper/NewComUtils.kt
+6
-3
No files found.
app/src/main/java/com/rgt/superr/MyApplication.kt
View file @
32caa541
...
...
@@ -33,6 +33,8 @@ import com.rgt.superr.push.receiver.ScreenStatusReceiver
import
com.rgt.superr.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import
com.rgt.superr.ui.splash.SplashActivity
import
com.facebook.appevents.AppEventsLogger
import
com.rgt.superr.SpConstObject.appUuid
import
com.rgt.superr.SpConstObject.gid
import
com.rgt.superr.business.push.receiver.AlarmReceiver.Companion.startAlarm
import
com.rgt.superr.business.push.timer.TimerManager.Companion.changeTimer
import
com.rgt.superr.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
...
...
@@ -102,7 +104,7 @@ class MyApplication : Application() {
try
{
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
advertisingId
=
info
.
id
AppPreferences
.
getInstance
().
put
(
"gid"
,
advertisingId
)
gid
=
advertisingId
?:
"null"
}
catch
(
e
:
Exception
)
{
EventUtils
.
event
(
"gid_exception"
)
}
...
...
@@ -114,13 +116,12 @@ 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
)
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
appUuid
=
uuid
}
LogEx
.
logDebug
(
TAG
,
"uuid=${
AppPreferences.getInstance().getString("
uuid
", "")
}"
)
LogEx
.
logDebug
(
TAG
,
"uuid=${
uuid
}"
)
}
fun
initApp
()
{
...
...
app/src/main/java/com/rgt/superr/SpConstObject.kt
View file @
32caa541
...
...
@@ -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
...
...
@@ -91,5 +109,4 @@ object SpConstObject {
}
}
\ No newline at end of file
app/src/main/java/com/rgt/superr/business/helper/EventUtils.kt
View file @
32caa541
...
...
@@ -4,6 +4,8 @@ import android.os.Build
import
com.rgt.superr.BuildConfig
import
com.rgt.superr.SpConstObject.ifAgreePrivacy
import
com.rgt.superr.GlobalConfig
import
com.rgt.superr.SpConstObject.appUuid
import
com.rgt.superr.SpConstObject.gid
import
com.rgt.superr.bean.config.ConfigBean
import
com.rgt.superr.utils.AppPreferences
import
com.rgt.superr.utils.LogEx
...
...
@@ -50,8 +52,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"
,
appUuid
)
// Android id
jsonObject
.
put
(
"${packageName}_10"
,
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"
)
// 渠道标识
...
...
app/src/main/java/com/rgt/superr/business/helper/InstallHelper.kt
View file @
32caa541
...
...
@@ -2,27 +2,67 @@ package com.rgt.superr.business.helper
import
com.android.installreferrer.api.InstallReferrerClient
import
com.android.installreferrer.api.InstallReferrerStateListener
import
com.android.installreferrer.api.ReferrerDetails
import
com.rgt.superr.BuildConfig
import
com.rgt.superr.MyApplication
import
com.rgt.superr.utils.AppPreferences
import
com.rgt.superr.utils.LogEx
import
org.json.JSONObject
/**
* call before agree
*/
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 +70,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/rgt/superr/business/helper/NewComUtils.kt
View file @
32caa541
...
...
@@ -10,6 +10,9 @@ import com.rgt.superr.bean.config.PopupConfigBean
import
com.rgt.superr.utils.AppPreferences
import
com.rgt.superr.utils.LogEx
import
com.google.gson.Gson
import
com.rgt.superr.SpConstObject.appUuid
import
com.rgt.superr.SpConstObject.gid
import
com.rgt.superr.business.helper.InstallHelps.installReferrer
import
okhttp3.Call
import
okhttp3.Callback
import
okhttp3.OkHttpClient
...
...
@@ -54,7 +57,7 @@ object NewComUtils {
val
appCode
=
packageName
.
substringAfter
(
PACKAGE_NAME_PREFIX
).
take
(
5
).
toLowerCase
(
Locale
.
getDefault
())
val
bRefer
=
Base64
.
encodeToString
(
AppPreferences
.
getInstance
().
getString
(
"install_referrer"
,
""
)
.
toByteArray
(),
installReferrer
.
toByteArray
(),
Base64
.
DEFAULT
)
...
...
@@ -62,8 +65,8 @@ object NewComUtils {
"&referrer=${bRefer}"
+
"&vn=${BuildConfig.VERSION_NAME}"
+
"&vc=${BuildConfig.VERSION_CODE}"
+
"&device=${
AppPreferences.getInstance().getString("
gid
", "")
}"
+
"&aid=${
AppPreferences.getInstance().getString("
uuid
", "")
}"
"&device=${
appUuid
}"
+
"&aid=${
gid
}"
if
(
BuildConfig
.
DEBUG
)
{
s
=
"$s&mode=4"
...
...
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