主题×
迁移至 Android 4.x 库
此信息可帮助您从 3.x 或 2.x 版本的 Android 库迁移至 4.x 版本的 Android 库。
SDK 使用
SharedPreferences
来存储计算独特用户数所需的数据、生命周期量度以及与 SDK 核心功能相关的其他数据。如果您修改或删除了
SharedPreferences
中 SDK 所预期的值,则可能会出现意外行为,从而导致出现数据不一致的情况。
在 4.x 版本的库中,公共方法都整合到一个标头中。此外,所有功能现在都可通过类级别方法访问,因此您无需跟踪指针、实例或单例。
Event、Prop 和 eVar
在版本 4 中,您不能再在应用程序中分配变量,例如 event、eVar、prop、heir 和 list。SDK 而是会使用上下文数据和处理规则将您的应用程序数据映射到 Analytics 变量以供报告。
处理规则具备以下优势:
- 您无需向应用商店提交更新即可更改数据映射。
- 您可以对数据使用有意义的名称,而不是设置特定于报表包的变量。
- 对发送额外数据的影响甚微。这些值在使用处理规则映射后才会显示在报表中。
您直接分配到变量的值应当添加到
data
哈希映射中。
删除未使用的属性
新的
ADBMobileConfig.json
文件包含特定于应用程序的全局设置,并会替换在之前版本中使用的大部分配置变量。以下是
ADBMobileConfig.json
文件的示例:
{ "version" : "1.0", "analytics" : { "rsids" : "coolApp", "server" : "my.CoolApp.com", "charset" : "UTF-8", "ssl" : true, "offlineEnabled" : true, "lifecycleTimeout" : 5, "privacyDefault" : "optedin", "poi" : [ ["san francisco",37.757144,-122.44812,7000], ["santa cruz",36.972935,-122.01725,600] ] }, "target" : { "clientCode" : "myTargetClientCode", "timeout" : 5 }, "audienceManager" : { "server" : "myServer.demdex.com" } }
移动配置文件并迁移至版本 4
下表列出了需要移到配置文件的配置变量。
移动配置文件
- 将为第一列中的变量设置的值移到第二列中的变量。
- 从您的代码中删除旧配置变量。
从版本 3.x 迁移
要从版本 3.x 迁移至版本 4,请将配置变量/方法值移到
ADBMobileConfig.json
变量。
配置变量或方法
| ADBMobileConfig.json
文件中的变量
|
---|---|
setOfflineTrackingEnabled
| "offlineEnabled"
|
setOfflineHitLimit
| "batchLimit"
|
reportSuiteIDs
| "rsids"
|
trackingServer
| "server"
|
charSet
| "charset"
|
currencyCode
| "currency"
|
ssl
| "ssl"
|
linkTrackVars
| 删除,不再使用。
|
linkTrackEvents
| 删除,不再使用。
|
从版本 2.x 迁移
要从版本 2.x 迁移至版本 4,请将第一列中的值移到第二列中的变量。
配置变量
| ADBMobileConfig.json
文件中的变量
|
---|---|
trackOffline
| "offlineEnabled"
|
offlineLimit
| "batchLimit"
|
account
| "rsids"
|
trackingServer
| "server",删除
"https://"
前缀。协议前缀将根据 "ssl" 设置自动添加。
|
trackingServerSecure
| 删除。为确保安全连接,请定义 "server",然后启用 "ssl"。
|
charSet
| "charset"
|
currencyCode
| "currency"
|
ssl
| "ssl"
|
linkTrackVars
| 删除,不再使用。
|
linkTrackEvents
| 删除,不再使用。
|
timestamp
| 删除,不再可配置。
|
dc
| 删除,不再使用。
|
userAgent
| 删除,不再可配置。
|
dynamicVariablePrefix
| 删除,不再使用。
|
visitorNamespace
| 删除,不再使用。
|
usePlugins
| 删除,不再使用。
|
useBestPractices 所有对流失测量 (getChurnInstance) 的调用
| 删除,替换为生命周期量度。
|
更新跟踪调用和跟踪变量
SDK 版本 4 不使用以 Web 为主的
track
和
trackLink
调用,而是使用以下方法:
- trackState ,这是您的应用程序中可用的一些视图,例如 home dashboard 、 app settings 、 cart 等等。这些状态与网站中的页面类似,而且 trackState 调用会使页面查看次数递增。
- trackAction ,跟踪您的应用程序中发生的要测量的操作,例如 logons 、 banner taps 、 feed subscriptions 等。
用于这两种方法的
contextData
参数是
HashMap<String, Object>
,其中包含作为上下文数据发送的名称值对。
Event、Prop 和 eVar
在版本 4 中,您不能再在应用程序中直接分配变量,例如 event、eVar、prop、heir 和 list。SDK 现在会使用上下文数据和处理规则将您的应用程序数据映射到 Analytics 变量以供报告。
处理规则具备以下优势:
- 您无需向应用商店提交更新即可更改数据映射。
- 您可以对数据使用有意义的名称,而不是设置特定于报表包的变量。
- 对发送额外数据的影响甚微。这些值在使用处理规则映射后才会显示在报表中。有关更多信息,请参阅 处理规则和上下文数据 。
您直接分配到变量的值应当添加到
data
哈希映射中。这意味着应删除对
setProp
、
setEvar
的调用和对永久性上下文数据的分配,并将值添加到
data
参数中。
AppSection/服务器、GeoZip、交易 ID、促销活动和其他标准变量
您在测量对象(包括上面列出的变量)中设置的数据应当添加到
data
哈希映射中。随
trackState
或
trackAction
调用发送的唯一数据是
data
参数中的有效负荷。
替换跟踪调用
将以下方法替换为对
trackState
或
trackAction
的调用:
- 从版本 3.x 迁移
- trackAppState (trackState)
- trackEvents (trackAction)
- track (trackAction)
- trackLinkURL (trackAction)
- 从版本 2.x 迁移
- track (trackState)
- trackLink (trackAction)
自定义访客 ID
将
visitorID
变量替换为对
setUserIdentifier
的调用。
离线跟踪
离线跟踪在
ADBMobileConfig.json
文件中已启用,并且所有其他离线配置均已自动完成。
删除对以下方法的调用:
版本 3.x
- setOnline
- setOffline
版本 2.x
- forceOffline
- forceOnline
产品变量
有关产品变量的更多信息,请参阅
产品变量
。