使用地標

瞭解如何在應用程式中使用Places地理位置服務。

Adobe Experience Platform Data Collection Places Service是一項地理位置服務,可讓具備位置感知功能的行動應用程式瞭解位置內容。 此服務使用豐富且簡單易用的SDK介面,並隨附彈性的興趣點資料庫(POI)。

先決條件

  • 所有套件相依性都在Xcode專案中。
  • AppDelegate中註冊的擴充功能。
  • 已將MobileCore設定為使用您的開發appId。
  • 匯入的SDK。
  • 已順利建置並執行應用程式,包含上述變更。

學習目標

在本課程中,您將學習

  • 瞭解如何在Places服務中定義地標。
  • 使用Places擴充功能更新您的標籤屬性。
  • 更新您的結構描述以擷取地理位置事件。
  • 驗證Assurance中的設定。
  • 更新您的應用程式以註冊Places擴充功能。
  • 從應用程式中的Places服務實作地理位置追蹤。

設定

若要讓Places服務在您的應用程式和Mobile SDK中運作,您必須進行一些設定。

定義地標

您可以在Places服務中定義一些地標。

  1. 在資料收集UI中,選取​ 地點
  2. 選取 更多
  3. 從內容功能表中選取​ 管理資料庫
    管理資料庫
  4. 在​ 管理資料庫 ​對話方塊中,選取​ 新增
  5. 在​ 建立資料庫 ​對話方塊中,輸入​ 名稱,例如Luma
  6. 選取​ 確認
    建立資料庫
  7. 若要關閉​ 管理資料庫 ​對話方塊,請選取​ 關閉
  8. 返回​ POI管理,選取​ 匯入POI
  9. 在​ 匯入地點 ​對話方塊中選取​ 開始
  10. 從資料庫清單中選取​ Luma
  11. 選取​ 下一步
    選取資料庫
  12. 下載Luma POIs ZIP檔案並將其解壓縮至您電腦上的位置。
  13. 在​ 匯入地點 ​對話方塊中,將擷取的luma_pois.csv檔案拖放到​ 選擇CSV檔案 — 拖放您的檔案。 您應該會看到​ 驗證成功 - 已成功驗證CSV檔案
  14. 選取​ 開始匯入。 您應該會看到​ 成功 - 已成功新增6個POI
  15. 選取​ 完成
  16. 在​ POI管理 ​中,您應該會看到清單中已新增六個新的Luma存放區。 您可以在 清單 清單和 地圖 地圖檢視之間切換。
    地標清單

安裝Places擴充功能

  1. 導覽至​ 標籤 ​並尋找您的行動標籤屬性並開啟屬性。

  2. 選取​ 延伸模組

  3. 選取​ 目錄

  4. 搜尋​ Places ​延伸模組。

  5. 安裝擴充功能。

    新增Decisioning擴充功能

  6. 在​ 安裝擴充功能 ​對話方塊中:

    1. 從​ 選取資料庫 ​清單中選取​ Luma

    2. 請確定您已挑選您的工作程式庫,例如​ 初始組建

    3. 從​ 儲存至程式庫 ​中選取​ 儲存至程式庫並建置

      安裝Places擴充功能

  7. 已重建您的程式庫。

驗證您的結構描述

驗證您的結構描述(如建立結構描述中所定義)是否合併必要的欄位群組和類別,以收集POI和地理位置資料。

  1. 導覽至資料收集介面,然後從左側邊欄選取​ 結構描述
  2. 從頂端列選取​ 瀏覽
  3. 選取要開啟的結構描述。
  4. 在結構描述編輯器中,選取​ 消費者體驗事件
  5. 您看到​ placeContext ​物件,其中包含要擷取POI互動與地理位置資料的物件和欄位。
    結構描述位置

更新您的標籤屬性

Tags的Places擴充功能提供監視地理位置事件的功能,可讓您根據這些事件觸發動作。 您可以使用此功能,將您必須在應用程式中實施的API編碼減至最少。

資料元素

您先建立數個資料元素。

  1. 前往資料收集UI中的標籤屬性。

  2. 從左側邊欄選取​ 資料元素

  3. 選取​ 新增資料元素

  4. 在​ 建立資料元素 ​畫面中,輸入名稱,例如Name - Entered

  5. 從​ 擴充功能 ​清單中選取​ 地標

  6. 從​ 資料元素型別 ​清單中選取​ 名稱

  7. 選取​ TARGET ​底下的​ 目前POI

  8. 選取​ 儲存至資料庫
    資料元素

  9. 使用下表中的資訊重複步驟4至8,以建立其他資料元素。

    table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4
    名稱 擴充功能 資料元素型別 TARGET
    Name - Exited 地點 名稱 上次退出的POI
    Category - Current 地點 類別 目前POI
    Category - Exited 地點 類別 上次退出的POI
    City - Current 地點 城市 目前POI
    City - Exited 地點 城市 上次退出的POI

    您應該有以下資料元素清單。

    資料元素清單

規則

接下來,您將定義處理這些資料元素的規則。

  1. 在您的標籤屬性中,從左側邊欄選取​ 規則

  2. 選取​ 新增規則

  3. 在​ 建立規則 ​畫面中,輸入規則的名稱,例如POI - Entry

  4. 選取​ EVENTS ​底下的 新增

    1. 從​ 擴充功能 ​清單中選取​ 地標,並從​ 事件型別 ​清單中選取​ 輸入POI

    2. 選取​ 保留變更

      標籤事件

  5. 選取​ ACTIONS ​底下的 新增

    1. 從​ 擴充功能 ​清單中選取​ 行動核心,從清單中選取​ 動作型別 ​中的​ 附加資料。 此動作會附加裝載資料。

    2. 在​ JSON裝載 ​中,貼上下列裝載:

      code language-json
      {
          "xdm": {
              "eventType": "location.entry",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Current%%}"
                  },
                  "POIinteraction": {
                      "poiDetail": {
                          "name": "{%%Name - Current%%}",
                          "category": "{%%Category - Current%%}"
                      },
                      "poiEntries": {
                          "value": 1
                      }
                  }
              }
          }
      }
      

      您也可以選取 資料 ,在JSON中插入{%% ... %%}資料元素預留位置值。 快顯對話方塊可讓您挑選您建立的任何資料元素。

    3. 選取​ 保留變更

      標籤動作

  6. 選取​ 行動核心 — 附加資料 ​動作旁的 新增

    1. 從​ 擴充功能 ​清單中選取​ Adobe Experience PlatformEdge Network,然後選取​ 轉寄事件至Edge Network。 此動作可確保事件和其他裝載資料轉送至PlatformEdge Network。
    2. 選取​ 保留變更
  7. 若要儲存規則,請選取​ 儲存至資料庫

    規則

讓我們建立另一個規則

  1. 在​ 建立規則 ​畫面中,輸入規則的名稱,例如POI - Exit

  2. 選取​ EVENTS ​底下的 新增

    1. 從​ 擴充功能 ​清單中選取​ 地標,並從​ 事件型別 ​清單中選取​ 結束POI
    2. 選取​ 保留變更
  3. 選取​ ACTIONS ​底下的 新增

    1. 從​ 擴充功能 ​清單中選取​ 行動核心,從​ 動作型別 ​清單中選取​ 附加資料

    2. 在​ JSON裝載 ​中,貼上下列裝載:

      code language-json
      {
          "xdm": {
              "eventType": "location.exit",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Exited%%}"
                  },
                  "POIinteraction": {
                      "poiExits": {
                          "value": 1
                      },
                      "poiDetail": {
                          "name": "{%%Name - Exited%%}",
                          "category": "{%%Category - Exited%%}"
                      }
                  }
              }
          }
      }
      
    3. 選取​ 保留變更

  4. 選取​ 行動核心 — 附加資料 ​動作旁的 新增

    1. 從​ 擴充功能 ​清單中選取​ Adobe Experience PlatformEdge Network,然後選取​ 轉寄事件至Edge Network
    2. 選取​ 保留變更
  5. 若要儲存規則,請選取​ 儲存至資料庫

    規則

若要確保標籤中的所有變更皆已發佈

  1. 選取​ 初始組建 ​作為要組建的程式庫。
  2. 選取​ 組建
    建置程式庫

驗證Assurance中的設定

若要驗證Assurance中的設定:

  1. 前往Assurance UI。
  2. 如果左側邊欄中尚未提供,請在左側邊欄中選取​ 設定,然後選取​ 事件 ​旁的 新增 以及​ PLACES SERVICE ​底下的​ 地圖和模擬
  3. 選取「儲存」。
  4. 在左側邊欄中選取​ 地圖和模擬
  5. 將地圖移至其中一個POI的位置。
  6. 選取 齒輪 模擬負載POI。 您的POI會使用圓圈和圖釘來識別。
  7. 選取您的POI。
  8. 從快顯視窗中選取 齒輪 模擬進入事件
    模擬進入事件
  9. 從左側邊欄選取​ 事件,您應該會看到模擬的事件。
    AJO Decisioning驗證

在您的應用程式中實作地標

如先前課程所述,安裝行動標籤擴充功能僅會提供設定。 接下來,您必須安裝並註冊Places SDK。 如果未清除這些步驟,請檢閱安裝SDK區段。

NOTE
如果您已完成安裝SDK區段,則Places SDK已安裝,您可以略過此步驟。
  1. 在Xcode中,請確定已將AEP Places新增至套件相依性中的套件清單中。 請參閱Swift封裝管理員

  2. 導覽至Xcode專案導覽器中的​ Luma > Luma > AppDelegate

  3. 請確定AEPPlaces是匯入清單的一部分。

    code language-swift
    import AEPPlaces
    
  4. 請確定Places.self是您註冊的擴充功能陣列的一部分。

    code language-swift
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    
  5. 導覽至Xcode專案導覽器中的​ Luma > Luma > Utils > MobileSDK,並尋找func processRegionEvent(regionEvent: PlacesRegionEvent, forRegion region: CLRegion) async函式。 新增下列程式碼:

    code language-swift
    // Process geolocation event
    Places.processRegionEvent(regionEvent, forRegion: region)
    

    Places.processRegionEvent API會將地理位置資訊通訊至Places服務。

  6. 導覽至Xcode專案導覽器中的​ Luma > Luma > Views > Location > GeofenceSheet

    1. 針對「輸入」按鈕,輸入下列代碼
    code language-swift
    // Simulate geofence entry event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .entry, forRegion: region)
    }
    
    1. 針對「結束」按鈕,輸入下列程式碼
    code language-swift
    // Simulate geofence exit event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .exit, forRegion: region)
    }
    

使用您的應用程式進行驗證

  1. 在裝置上或在模擬器中開啟您的應用程式。

  2. 前往​ 位置 ​標籤。

  3. 四處移動(拖曳)地圖,確保藍色中間圓圈位於其中一個POI的上方,例如倫敦。

  4. 點選 {width="20"},直到您看到類別和名稱出現在標籤中帶有pin的紅色位置為止。

  5. 點選POI的標籤,開啟​ 附近的POI ​工作表。

    {width="300"}

  6. 按下​ 登入 ​或​ 退出 ​按鈕,以模擬應用程式中的地理柵欄登入與地理柵欄退出事件。

    {width="300"}

  7. 您應該會在Assurance UI中看到事件。

後續步驟

您現在應該有所有的工具,以便開始將更多功能新增至應用程式中的地理位置功能。 當您已將事件轉送至Edge Network時,一旦您為Experience Platform設定應用程式,您應該會看到應用程式中所使用設定檔中出現的體驗事件。

在本教學課程的Journey Optimizer區段中,您會看到體驗事件可用來觸發歷程(請參閱推播通知使用Journey Optimizer的應用程式內傳訊)。 例如,當應用程式使用者進入實體商店的地理柵欄時,傳送推播通知給該使用者並進行某些產品促銷的常見範例。

您見過應用程式的功能實作,大多是由Places服務以及您在標籤屬性中定義的資料元素和規則所驅動。 因此,請儘可能減少應用程式中的程式碼。 或者,您可以使用Edge.sendEvent API (如需詳細資訊,請參閱事件)直接在您的應用程式中實作相同的功能,XDM承載包含填入的placeContext物件。

SUCCESS
您現在已使用Experience Platform Mobile SDK中的Places擴充功能,為地理定位服務啟用應用程式。
感謝您花時間學習Adobe Experience Platform Mobile SDK。 如果您有疑問、想分享一般意見或有關於未來內容的建議,請在這篇Experience League社群討論貼文上分享。

下一步: 將資料對應至Adobe Analytics

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b