新增 Adobe Analytics

在本課程中,您將在應用程式中啟用 Adobe Analytics 追蹤功能。

Adobe Analytics 是領先業界的解決方案,能夠讓您從使用者觀點瞭解客戶,並掌握客戶情報來為您的企業指引方向。

新增擴充功能安裝行動SDK課程中,您已將Adobe Analytics擴充功能新增至標籤屬性,並匯入範例應用程式中。 現在,只需新增程式碼,即可追蹤應用程式中的狀態和動作!

注意

Adobe Experience Platform Launch已整合至Adobe Experience Platform,為資料收集技術的套件。 介面中已推出數個術語變更,在使用此內容時應注意:

學習目標

在本課程結束時,您將能夠:

  • 驗證生命週期量度有傳送至 Adobe Analytics
  • 新增程式碼以追蹤應用程式中含有其他資料的狀態
  • 新增程式碼以追蹤應用程式中含有其他資料的動作

有許多可在標籤中針對Analytics實作的項目。 本課程並非詳盡無遺,但應足以提供在您自己的應用程式上實施時所需的主要技巧實用概述。

必要條件

您應已完成設定標籤一節中的課程。 在該節中,您新增了 Analytics 擴充功能,並設定了追蹤伺服器和報表套裝 ID。

生命週期量度與 Adobe Analytics

生命週期量度是以環境為基礎的量度和維度,可在使用 Experience Platform Mobile SDK 的應用程式中輕鬆啟用。事實上,您已經新增這些量度了!

您將核心擴充功能新增至屬性並依照介面中提供的行動安裝指示操作時,已啟用生命週期量度。包括環境和應用程式專用量度 (例如應用程式版本、參與使用者人數、作業系統版本、時段、上次使用間隔天數等) 在內的這些量度和維度,在分析應用程式時非常有用,尤其是在從這些量度和維度建立套用至所有報表的 Analytics 區段時。本文件中提供完整的量度清單。

檢視 Analytics 生命週期點擊

雖然您可以在任何除錯程式/封包 Sniffer 中看到生命週期點擊,但我們只會在 Xcode 除錯主控台中顯示。

  1. 在 Xcode 中建立並執行專案以啟動模擬器

  2. 在 Xcode 除錯主控台中,在底部篩選器中輸入 lifecycle 以限制顯示的項目,然後捲動至項目底部

  3. 請注意 Analytics request was sent with body 區段

  4. 生命週期量度包括 AppID、CarrierName、DayOfWeek、DaysSinceFirstUse 等,以及本文件中列出的其他量度/維度

    生命週期點擊除錯

匯入 ACPCore 程式庫

在下個練習中,您將使用 API 來追蹤應用程式中的狀態 (「trackState」) 和動作 (「trackAction」)。若要使用這些 API,您需匯入包含這些 API 的程式庫。在新的Experience CloudPlatform Mobile SDK中,trackState和trackAction API已從Analytics程式庫移至核心程式庫,因此可將這些API用於Adobe Analytics追蹤以外的用途。

在本教學課程中,您只會追蹤一個狀態,不過在實際的應用程式中,您需要要追蹤多個狀態。

匯入 ACPCore 程式庫的方式

  1. 在 Xcode 中開啟 BookingViewController.m 檔案

  2. 在檔案頂端 (通常與其他匯入陳述式相鄰) 新增 #import "ACPCore.h"

  3. 儲存

  4. 現在已準備好在這個檔案中使用 trackState 或 trackAction API

追蹤狀態

在您的應用程式中,可能提供許多不同的內容畫面給使用者使用。這些畫面就同於網站上的頁面。Adobe Analytics 提供一種方法,可讓您傳入這些「頁面檢視點擊」,並在您用於 Web 屬性的相同報表中檢視這些點擊,此方法稱為「trackState」。

在本教學課程中,您只會將trackState呼叫的程式碼放入應用程式中的一個畫面(頁面)中。 在實際情況中,您將會在應用程式中的所有其他畫面/狀態上複製此程式碼。您也將探索幾種透過點擊傳送資料 (索引鍵/值組) 的不同方式。

以下是說明文件中的語法和程式碼範例,您可在本教學課程或自己的應用程式中複製並貼上。

語法:

+ (void) trackState: (nullable NSString*) state data: (nullable NSDictionary*) data;

範例:

[ACPCore trackState:@"state name" data:@{@"key":@"value"}];

追蹤不含資料的狀態

  1. 在 Xcode 中開啟範例應用程式後,前往 BookingViewController.m,並在 viewDidLoad() 函數中新增 trackState 方法呼叫

  2. state name 設為「Home Screen」

  3. null 新增為方法呼叫中的預留位置,而非新增任何額外資料

  4. 或是複製並貼入下列內容:

    [ACPCore trackState:@"Home Screen" data:nil];
    

    基本 trackState 呼叫

驗證 trackState 的方式

  1. 儲存、建立及執行專案

  2. 當模擬器執行並開啟應用程式的主畫面時,請檢視 Xcode 主控台

  3. 將主控台篩選為具有「home」的項目,並查看顯示 Analytics request was sent with body 的底部項目

  4. 留意 pageName 變數已設為 Home Screen,且沒有其他自訂資料組。雖然從技術面而言是在設定「狀態名稱」而非「頁面名稱」,但為了與網站實施保持一致,使用參數名稱 pageName

    基本 trackState 結果

追蹤含有資料的狀態

  1. 返回 BookingViewController.m,在 viewDidLoad() 函數中,取消註解 (或刪除) 上次練習中的基本 (未新增任何資料) trackState 呼叫

  2. 新增新的 trackState 方法呼叫,這次含有資料,使用 key1 做為索引鍵和 value1 做為值

  3. state name 保留為「Home Screen」

  4. 或是複製並貼入:

    [ACPCore trackState:@"Home Screen" data:@{@"key1":@"value1"}];
    

    基本 trackState 呼叫

驗證含有資料的 trackState 的方式

  1. 再次儲存、建立及執行專案

  2. 當模擬器執行並開啟應用程式的主畫面時,請檢視 Xcode 主控台

  3. 篩選器維持為「home」,並查看顯示 Analytics request was sent with body 的底部項目

  4. 此時,除了設定的 pageName 外,還會有點擊時傳入的索引鍵/值組

    基本 trackState 結果

注意

如果您熟悉 Analytics 中的「prop 和 eVar」,您會發現這些變數名稱不存在於 SDK 中。來自 SDK 的所有索引鍵/值資料都會以 contextData 變數傳送,因此需使用 Analytics UI 中的處理規則,將資料對應至 prop 或 eVar (或其他變數)。

其他資料傳送選項

在前兩個練習中,您發出了兩個請求,一項是含有額外資料,另一個不含資料。不過如果您想要透過一次畫面或狀態載入,將多個資料點傳送至 Analytics,該怎麼做?以下提供兩個選項。

選項1:多個索引鍵/值組

在 trackState 呼叫中,您可以選擇傳送多個索引鍵/值組,只要在資料集中以逗號分隔即可。例如:

[ACPCore trackState:@"Home Screen" data:@{@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"}];

選項 2:字典物件

您也可以在程式碼中定義字典,然後將其與 trackState 一起傳送。當然,如果您已在程式碼中定義了某些字典物件,且想將它們傳送至 Analytics,這可能是最適合您的選項。例如:

NSDictionary *theStuff = @{@"key1": @"value1",@"key2": @"value2"};
[ACPCore trackState:@"Home Screen" data:theStuff];

額外學分
繼續在程式碼中嘗試這兩個選項,並在 Xcode 除錯主控台中檢視結果。您可以使用與先前相同的篩選條件,檢查結果以確定是否有變數和值傳入

追蹤動作

與追蹤網站上的非頁面載入動作類似,您通常想追蹤使用者在應用程式中採取的動作,例如點按不會載入其他畫面的動作。這個處理方式與上方使用的 trackState 非常類似,不過此方法稱為 trackAction

以下是說明文件中的語法和程式碼範例,您可在本教學課程或自己的應用程式中複製並貼上。

語法:

+ (void) trackAction: (nullable NSString*) action data: (nullable NSDictionary*) data;

範例:

[ACPCore trackAction:@"action name" data:@{@"key":@"value"}];

使用「直達」核取方塊追蹤互動

在此範例巴士預訂應用程式中,有一個核取方塊可讓使用者決定是否要將搜尋結果限制為選項。您已決定要在 Adobe Analytics 中追蹤與該核取方塊的互動。

NonStop 核取方塊

若要控制此核取方塊,需在範例專案的 BookingViewController.m 檔案中進行。在本練習中,每當有人勾選或取消勾選此方塊,就會傳送一次 trackAction 點擊。

設定 trackAction 程式碼

  1. 在 Xcode 中開啟範例專案後,前往 BookingViewController.m 並找到「nonStopButtonToggled」函數

  2. if 陳述式中,如果已選取該方塊,則第一個區段將會取消選取該方塊。在此案例中,您想使用下列程式碼,使用值「off」傳入一次點擊:

    [ACPCore trackAction:@"NonStop Button Interaction" data:@{@"NonStop":@"off"}];
    
  3. 在下一個區段 (「其他」區段) 中,如果還沒選取該方塊,則會加以選取。在此案例中,您想使用下列程式碼,使用值「on」傳入一次點擊:

    [ACPCore trackAction:@"NonStop Button Interaction" data:@{@"NonStop":@"on"}];
    

請注意程式碼中的其他自訂項目:

  • 您正在將「NonStop Button Interaction」設為 action name。此值將會填入請求的「action」參數,以及 Adobe Analytics 中的自訂連結報表/維度
  • 您使用的 key 名稱為「NonStop」。這是可在 Analytics Admin Console 的「處理規則」中找到的索引鍵名稱,便於將這些值對應至 prop 或 eVar。

現在,函數看起來像這樣:

NonStop 核取方塊

驗證 trackAction 程式碼的方式

  1. 新增程式碼後,儲存專案並執行和建置

  2. 按一下垃圾桶圖示以清除主控台

  3. 選取模擬器中的方塊,並注意主控台中出現兩個請求。最後一個要求是將資料從您剛新增的程式碼傳送至 Adobe Analytics。

  4. 請注意,action 和 pev2 參數都設為「NonStop Button Interaction」(含編碼空格)

  5. 請注意,「NonStop=on」索引鍵/值組已存在,且接著可指派給「處理規則」中的 prop/eVar

  6. 請注意「pe=lnk_o」索引鍵/值,表示這是由 trackAction 所觸發的「自訂連結」點擊

    Debugger 中的 trackAction 結果

做得很好!您已完成 Analytics 課程。當然,您可以執行許多其他操作來增強Analytics實作,但希望這能提供您一些核心技能,以滿足您的其他需求。

trackState 和 trackAction 的其他優點

在上一個練習中,您成功使用 trackState 和 trackAction API,將資料從應用程式傳送至 Adobe Analytics 中。由於Experience PlatformMobile SDK根植於標籤中,因此您可以在資料收集介面中使用您剛新增的程式碼執行更多操作。

在標籤中,您可以建立由trackState和trackAction API觸發的規則,並讓它們執行其他動作,例如向其他Adobe解決方案或外部合作夥伴提出請求。

下堂課「新增 Adobe Audience Manager」>

本頁內容