Show Menu
主題×

移轉至 4.x iOS 資料庫

本資訊可協助您從 iOS 資料庫 3.x 或 2.x 版移轉至 4.x 版。
SDK 使用 NSUserDefaults 來儲存計算唯一使用者所需的資料、生命週期量度,以及有關核心 SDK 功能的其他資料。若您修改或移除 NSUserDefaults 中 SDK 的預期值,可能會導致資料不一致的非預期行為。
在 4.x 版 iOS SDK 資料庫中,公用方法已整合為一個標題。同時,功能現已可透過類別層級方法存取,因此您無須持續追蹤指標、例項或單一項目。

事件、Prop 以及 eVar

在第 4 版中,您已無法在應用程式中直接指派 event、eVar、prop、heir 及 list 等變數。SDK 會改為使用內容資料和處理規則,將應用程式資料對應至 Analytics 變數以便報告。
處理規則具備以下優點:
  • 您可以直接變更資料對應,而不必提交更新至 App Store。
  • 您可以用有意義的資料名稱,取代設定報表套裝專用的變數。
  • 對傳送額外資料的影響極小。
    這些值在透過處理規則對應前,都不會出現在報表中。
您之前直接指派給變數的值,現應已新增至 data NSDictionary。

移除未使用的屬性

新的 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" 
 } 
}

移動設定檔案

移動設定檔案:
  1. 將第一欄中為變數設定的值移至第二欄中的變數。
  2. 從您的程式碼移除舊的設定變數。

移轉資訊

以下表格列出您需要移至設定檔案的設定變數。

從第 3.x 版移轉

將值從第一欄移至第二欄中的變數。
設定變數
ADBMobileConfig.json 檔案中的變數
offlineTrackingEnabled
"offlineEnabled"
offlineHitLimit
"batchLimit"
reportSuiteIDs
"rsids"
trackingServer
"server"
charSet
"charset"
currencyCode
"currency"
ssl
"ssl"
linkTrackVars
移除,不再使用。
linkTrackEvents
移除,不再使用。

從第 2.x 版移轉

將值從第一欄移至第二欄中的變數。
設定變數
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 )
移除,替換為生命週期量度。如需詳細資訊,請參閱 生命週期量度

更新追蹤呼叫和追蹤變數

第 4 版 SDK 使用以下方法,取代使用以 Web 為中心的 track trackLink 呼叫:
  • trackState:data: 狀態為應用程式中可用的檢視,例如 home dashboard app settings cart 等。
    這些狀態類似於網站上的頁面,且 trackState 呼叫會遞增頁面檢視。
  • trackAction:data: 動作,例如 logons banner taps feed subscriptions ,以及您想要測量、在應用程式中發生的其他量度。
這兩種方法的 data 參數都是 NSDictionary ,包含以內容資料傳送的名稱值組。

事件、Prop、eVar

在第 4 版中,您已無法在應用程式中直接指派 event、eVar、prop、heir 及 list 等變數。SDK 現在會使用內容資料和處理規則,將應用程式資料對應至 Analytics 變數以便報告。
處理規則具備以下優點:
  • 您可以直接變更資料對應,而不必提交更新至 App Store。
  • 您可以用有意義的資料名稱,取代設定報表套裝專用的變數。
  • 對傳送額外資料的影響極小。
    這些值在透過處理規則對應前,都不會出現在報表中。如需詳細資訊,請參閱 處理規則與內容資料 .
您直接指派給變數的值,應已改為新增至 data``NSDictionary 。這代表對 setProp setEvar 的呼叫以及指派給永久內容資料的內容應已全部移除,且值應已新增至 data 參數。

AppSection/伺服器、GeoZip、交易 ID、促銷活動以及其他標準變數

您在測量物件上設定的資料,包括以上列出的變數,應已改為新增至 data``NSDictionary 。與 trackState trackAction 呼叫一併傳送的唯一資料是 data 參數中的裝載。

取代追蹤呼叫

在您的程式碼中,以呼叫 trackState trackAction 取代以下方法:

從第 3.x 版移轉

  • trackAppState (trackState)
  • trackEvents (trackAction)
  • track (trackAction)
  • trackWithContextData (trackAction)
  • trackLinkURL (trackAction)

從第 2.x 版移轉

  • track (trackState)
  • trackLink (trackAction)

自訂訪客 ID

以呼叫 visitorID : 取代 setUserIdentifier: 變數。

離線追蹤

會在 ADBMobileConfig.json 檔案中啟用離線追蹤,且所有其他離線設定會自動完成。
在您的程式碼中,移除對以下方法的呼叫:

第 3.x 版

  • setOnline
  • setOffline

第 2.x 版

  • forceOffline
  • forceOnline

產品變數

由於處理規則中沒有該產品變數,因此您可以使用以下語法來設定 products :
//create a processing rule to set the corresponding product event. 
// for example, set prodView event when context data a.action = "product view" 
[ADBMobile trackAction:@"LikeButtonClicked"  
                  data:@{@"&&products" : @";Cool Shoe"}];