使用決定管理建立及顯示優惠方案

瞭解如何透過Experience Platform Mobile SDK在行動應用程式中顯示Journey Optimizer決定管理提供的優惠方案。

Journey Optimizer決策管理可協助您在適當的時間為所有接觸點的客戶提供最佳優惠和體驗。 設計完成後,透過個人化優惠目標定位對象。

架構

決策管理透過集中行銷優惠資料庫和決定引擎輕鬆實現個人化,該決策引擎將規則和限制套用於Adobe Experience Platform建立的豐富即時設定檔。 因此,它可讓您在適當的時間傳送適當的優惠方案給客戶。 另請參閱 關於決定管理 以取得詳細資訊。

NOTE
本課程為選修課程,僅適用於希望使用決策管理功能在行動應用程式中顯示優惠方案的Journey Optimizer使用者。

先決條件

  • 成功建立並執行應用程式,且已安裝並設定SDK。
  • 為Adobe Experience Platform設定應用程式。
  • 存取Journey Optimizer — 決定管理,並依照所述以適當許可權管理優惠和決定 此處.

學習目標

在本課程中,您將學習

  • 更新您的Edge設定以進行決策管理。
  • 使用Journey Optimizer - Decisioning擴充功能更新標籤屬性。
  • 更新您的結構描述以擷取主張事件。
  • 驗證Assurance中的設定。
  • 根據Journey Optimizer中的優惠建立優惠決定 — 決定管理。
  • 更新您的應用程式以註冊Optimizer擴充功能。
  • 在您的應用程式中實施來自Decision Management的優惠。

設定

TIP
如果您已將環境設定為 使用Target設定A/B測試 課程,您可能已執行過此設定章節中的某些步驟。

更新資料流設定

為確保將從您的行動應用程式傳送到Platform Edge Network的資料轉送到Journey Optimizer — 決策管理,請更新您的資料流。

  1. 在資料收集UI中,選取 資料串流,並選取您的資料串流,例如 Luma Mobile App.

  2. 選取 更多 Experience Platform 並選取 編輯 編輯 從內容功能表。

  3. 資料串流 > 資料夾 > Adobe Experience Platform 畫面,確認 offer decisioning邊緣細分、和 Adobe Journey Optimizer 已選取。 如果您要進行Target課程,請選取 個人化目的地 ​也一樣。 另請參閱 Adobe Experience Platform設定 以取得詳細資訊。

  4. 若要儲存資料流設定,請選取 儲存 .

    AEP資料流設定

安裝Journey Optimizer - Decisioning標籤擴充功能

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

  2. 選取 擴充功能.

  3. 選取 目錄.

  4. 搜尋 Adobe Journey Optimizer - Decisioning 副檔名。

  5. 安裝擴充功能。 此擴充功能不需要額外設定。

    新增決策擴充功能

更新您的結構描述

  1. 導覽至資料收集介面並選取「 」 方案 從左側邊欄。
  2. 選取 瀏覽 從頂端列。
  3. 選取要開啟的結構描述。
  4. 在架構編輯器中,選取 新增 新增 欄位群組旁。
  5. 新增欄位群組 對話方塊, 搜尋 搜尋 proposition,選取 體驗事件 — 主張互動 並選取 新增欄位群組. 此欄位群組會收集與優惠相關的體驗事件資料:會呈現哪些優惠,作為哪些收集、決定和其他引數的一部分(請參閱本課程後面章節中的)。 但此選件有什麼改變? 是否已顯示、互動、解除等。
    主張
  6. 選取 儲存 以儲存對結構描述的變更。

驗證Assurance中的設定

若要驗證Assurance中的設定:

  1. 前往Assurance UI。
  2. 選取 設定 在左側邊欄中並選取 新增 旁邊 驗證設定 底下 Adobe Journey Optimizer決策.
  3. 選取「儲存」。
  4. 選取 驗證設定 在左側邊欄中。 應用程式中的資料流設定和SDK設定均已驗證。
    AJO決策驗證

建立位置

在實際建立優惠方案之前,您必須先定義這些優惠方案在行動應用程式中的放置方式與位置。 在決定管理中,您會為此定義版位,並會為支援JSON裝載的行動裝置頻道定義版位:

  1. 在Journey Optimizer UI中,選取 元件 元件決定管理 在左側邊欄中。

  2. 選取 版位 從頂端列。

  3. 如果沒有名稱相同的位置 行動JSON行動 作為 頻道型別JSON 作為 內容型別 清單中,您必須建立版位。 否則,請繼續 建立優惠方案.

若要建立行動JSON位置:

  1. 選取 新增 建立位置。

    1. 詳細資料 區段,輸入 Mobile JSON 作為 名稱,選取 行動頻道型別JSON內容型別.
    2. 選取 儲存 以儲存位置。

    建立位置

建立優惠方案

  1. 在Journey Optimizer UI中,選取 選件 選件決定管理 在左側邊欄中。

  2. 選件 熒幕,選取 瀏覽 以檢視優惠方案清單。

  3. 選取 建立選件.

  4. 新優惠 對話方塊,選取 個人化優惠 並按一下 下一個.

  5. 詳細資料 第步/共步 建立新的個人化優惠方案

    1. 輸入 名稱 例如,針對選件 Luma - Juno Jacket,並輸入 開始日期和時間結束日期和時間. 在這些日期之外,決策引擎將不會選取選件。

    2. 選取​ 「下一步」

      優惠 — 詳細資料

  6. 新增表示方式 第步/共步 建立新的個人化優惠方案

    1. 選取 行動 行動頻道 清單,然後選取 行動JSON刊登 清單。

    2. 選取 自訂內容.

    3. 選取 新增內容. 在 新增個人化 對話方塊:

      1. 如果是 模式 選擇器可用,請確保其設定為 JSON.

      2. 輸入下列JSON:

        code language-json
        {
            "title": "Juno Jacket",
            "text": "On colder-than-comfortable mornings, you'll love warming up in the Juno All-Ways Performance Jacket, designed to compete with wind and chill. Built-in Cocona™ technology aids evaporation, while a special zip placket and stand-up collar keep your neck protected.",
            "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj06-purple_main.jpg"
        }
        
      3. 選取「儲存」。

        選件 — 自訂內容

    4. 選取​ 「下一步」

      優惠方案宣告

  7. 新增限制 的步驟 建立新的個人化優惠方案

    1. 設定 優先順序10.

    2. 切換 包含上限 關閉。

    3. 選取​ 「下一步」

      優惠 — 限制

  8. 檢閱 第步/共步 建立新的個人化 選件:

    1. 檢閱選件,然後選取 完成.
    2. 儲存選件 對話方塊,選取 儲存並核准.
  9. 重複步驟3至8,再建立四個具有不同名稱和內容的選件。 所有其他設定值(例如開始日期和時間或優先順序)與您建立的第一個選件類似。 您可以快速建立重複和編輯選件。

    1. 在Journey Optimizer UI中,選取 選件 選件 從左側邊欄,然後從頂端列選取選件。

    2. 選取您建立之優惠方案的列。

    3. 在右窗格中,選取 更多 更多動作 從快顯選單中選取 複製 複製.

      使用下表來定義其他四個選件。

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed
      優惠方案名稱 JSON中的選件內容
      Luma - Affirm Water Bottle { "title": "Affirm Water Bottle", "text": "You'll stay hydrated with ease with the Affirm Water Bottle by your side or in hand. Measurements on the outside help you keep track of how much you're drinking, while the screw-top lid prevents spills. A metal carabiner clip allows you to attach it to the outside of a backpack or bag for easy access.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/fitness-equipment/ug06-lb-0.jpg" }
      Luma - Desiree健身T恤 { "title": "Desiree Fitness Tee", "text": "When you're too far to turn back, thank yourself for choosing the Desiree Fitness Tee. Its ultra-lightweight, ultra-breathable fabric wicks sweat away from your body and helps keeps you cool for the distance.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/tees/ws05-yellow_main.jpg" }
      Luma - Adrienne Trek Jacket { "title": "Adrienne Trek Jacket", "text": "You're ready for a cross-country jog or a coffee on the patio in the Adrienne Trek Jacket. Its style is unique with stand collar and drawstrings, and it fits like a jacket should.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj08-gray_main.jpg" }
      Luma - Aero每日健身運動鞋 { "title": "Aero Daily Fitness Tee", "text": "Need an everyday action tee that helps keep you dry? The Aero Daily Fitness Tee is made of 100% polyester wicking knit that funnels moisture away from your skin. Don't be fooled by its classic style; this tee hides premium performance technology beneath its unassuming look.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/men/tops/tees/ms01-black_main.jpg" }
  10. 最後一步您必須建立遞補優惠,如果客戶不符合其他優惠方案的資格,就會傳送此優惠方案給客戶。

    1. 選取 建立選件.

    2. 新優惠 對話方塊,選取 個人化優惠 並選取 下一個.

    3. 詳細資料 第步/共步 建立新的遞補優惠,輸入 名稱 例如,針對選件 Luma - Fallback Offer,並選取 下一個.

    4. 新增表示方式 第步/共步 建立新的遞補優惠

      1. 選取 行動 行動頻道 清單,然後選取 行動JSON刊登 清單。

      2. 選取 自訂內容.

      3. 選取 新增內容.

      4. 新增個人化 對話方塊,輸入以下JSON並選取 儲存

        code language-json
        {
           "title": "Luma",
           "text": "Your store for sports wear and equipment.",
           "image": "https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png"
        }
        
      5. 選取​ 「下一步」

  11. 檢閱 第步/共步 建立新的遞補 選件:

    1. 檢閱選件,然後選取 完成.
    2. 儲存選件 對話方塊,選取 儲存並核准.

您現在應該擁有下列優惠方案清單:
選件清單

建立集合

若要向行動應用程式使用者呈現優惠方案,您必須定義優惠方案集合,其中包含您建立的一或多個優惠方案。

  1. 在Journey Optimizer UI中,選取 選件 從左側邊欄。

  2. 選取 集合 從頂端列。

  3. 選取 新增 建立集合.

  4. 新集合 對話方塊,輸入 名稱 例如,您的集合 Luma - Mobile App Collection,選取 建立靜態集合,然後按一下 下一個.

  5. Luma - Mobile App Collection,選取您要納入集合中的優惠方案。 在本教學課程中,請挑選您建立的五個選件。 您可以使用搜尋欄位輕鬆篩選清單,例如透過輸入 Luma.

  6. 選取「儲存」。

    優惠 — 集合

建立決定

最後一個步驟是定義決定,此決定是一或多個決定範圍與您的遞補優惠的組合。

決定範圍是特定位置(例如電子郵件中的HTML,或行動應用程式中的JSON)與一個或多個評估標準的組合。

評估准則為

  • 優惠收藏,
  • 適用性規則:例如,優惠方案僅適用於特定對象,
  • 排名方法:如果有多個優惠方案可供挑選,您要使用哪個方法來為其排名(例如依優惠方案優先順序、使用公式或AI模型)。

另請參閱 建立和管理優惠的重要步驟 如果您想更深入瞭解位置、規則、排名、優惠、代表、集合、決定等如何相互互動及建立關聯。 本課程僅著重於使用決定的輸出,而非在Journey Optimizer中定義決定的彈性 — 決定管理。

  1. 在Journey Optimizer UI中,選取 選件 從左側邊欄。

  2. 選取 決定 從頂端列。

  3. 選取 新增 建立決定.

  4. 詳細資料 第步/共步 建立新的優惠決定

    1. 輸入 名稱 用於決定,例如 Luma - Mobile App Decision,輸入 開始日期和時間結束日期和時間.
    2. 選取​ 「下一步」
  5. 新增決定範圍 第步/共步 建立新的優惠決定

    1. 選取 行動JSON刊登 清單。

    2. 評估准則 圖磚,選取 新增 新增.

      1. 新增優惠收藏 對話方塊中,選取您的優惠收藏。 例如 Luma - Mobile App Collection

      2. 選取「新增」。

        決定 — 選取集合

    3. 確定 已選取用於 資格、和 優惠優先順序 已選取作為 排名方法.

    4. 選取​ 「下一步」

      決定範圍 .

  6. 新增遞補優惠 第步/共步 建立新的優惠決定

    1. 選取您的遞補優惠,例如 Luma - Fallback offer.
    2. 選取​ 「下一步」
  7. 摘要 第步/共步 建立新的優惠決定

    1. 選取「完成」。
    2. 儲存優惠決定 對話方塊,選取 儲存並啟動.
    3. 決定 標籤,您會看到含有狀態的決定 即時.

您的優惠決定(包含一組優惠)現在已可供使用。 若要在應用程式中使用決定,您必須在程式碼中參考決定範圍。

  1. 在Journey Optimizer UI中,選取 選件.

  2. 選取 決定 從頂端列。

  3. 選取您的決定,例如 Luma - Mobile App Decision.

  4. 決定範圍 圖磚,選取 複製 複製.

  5. 從內容功能表中,選取 決定範圍.
    複製決定範圍

  6. 使用任何文字編輯器貼上決定範圍以供稍後使用。 決定範圍具有下列JSON格式。

    code language-json
    {
        "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx",
        "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx"
    }
    

在您的應用程式中實作選件

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

NOTE
如果您已完成 安裝SDK 區段,則該SDK已安裝,且您可以略過此步驟。
  1. 在Xcode中,確認 AEP最佳化 會新增至套件相依性中的套件清單中。 另請參閱 Swift封裝管理程式.

  2. 瀏覽至 Luma > Luma > AppDelegate 在「Xcode專案」導覽器中。

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

    code language-swift
    import AEPOptimize
    
  4. 確定 Optimize.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. 瀏覽至 Luma > Luma > Model > Data > 決定 在「Xcode專案」導覽器中。 更新 activityIdplacementId 其值包含您從Journey Optimizer介面複製的決定範圍詳細資料。

  6. 瀏覽至 Luma > Luma > Utils > MobileSDK 在「Xcode專案」導覽器中。 尋找 func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async 函式。 新增下列程式碼:

    code language-swift
    // set up the XDM dictionary, define decision scope and call update proposition API
    Task {
       let ecid = ["ECID" : ["id" : ecid, "primary" : true] as [String : Any]]
       let identityMap = ["identityMap" : ecid]
       let xdmData = ["xdm" : identityMap]
       let decisionScope = DecisionScope(activityId: activityId, placementId: placementId, itemCount: UInt(itemCount))
       Optimize.clearCachedPropositions()
       Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData)
    }
    

    此函式:

    • 設定XDM字典 xdmData,包含ECID以識別您必須提供選件的設定檔。

    • 定義 decisionScope,此物件是根據您在Journey Optimizer — 決定管理介面中定義的決定,並使用從以下系統複製的決定範圍來定義 建立決定. Luma應用程式使用設定檔案(decisions.json)預設集,會根據下列JSON格式擷取範圍引數:

      code language-swift
      "scopes": [
          {
              "name": "name of the scope",
              "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx",
              "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx",
              "itemCount": 2
          }
      ]
      

      不過,您可以使用任何型別的實作,以確保「最佳化API」取得正確的引數(activityIdplacementIditemCount),以建構有效的 DecisionScope 物件。
      如需詳細資訊,請參閱 decisions.json 檔案僅供日後使用,與本課程和教學課程目前部分內容無關。

    • 會呼叫兩個API: Optimize.clearCachePropositionsOptimize.updatePropositions. 這些函式會清除任何快取的主張,並更新此設定檔的主張。

  7. 瀏覽至 Luma > Luma > Views > 個人化 > EdgeOffersView 在「Xcode專案」導覽器中。 尋找 func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async 函式並檢查此函式的程式碼。 此函式最重要的部分為 Optimize.onPropositionsUpdate API呼叫,此

    • 根據決定範圍(您已在Journey Optimizer — 決定管理中定義)擷取目前設定檔的主張,
    • 從主張中擷取優惠方案,
    • 會取消包裝選件的內容,以便其在應用程式中正確顯示,並且
    • 觸發 displayed() 選件的動作會顯示出來,此動作會將事件傳送回Edge Network通知選件。
  8. 仍在中 EdgeOffersView,將下列程式碼新增至 .onFirstAppear 修飾元。 此程式碼可確保用於更新優惠方案的回呼只會註冊一次。

    code language-swift
    // Invoke callback for offer updates
    Task {
        await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    }
    
  9. 仍在中 EdgeOffersView,將下列程式碼新增至 .task 修飾元。 此程式碼會在重新整理檢視時更新選件。

    code language-swift
    // Clear and update offers
    await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    

使用應用程式進行驗證

  1. 在模擬器中或從Xcode在實體裝置上重建並執行應用程式,使用 播放 .

  2. 前往 Personalisation 標籤。

  3. 選擇「Edge Personalisation」。

  4. 捲動至頂端,您會看到已在中定義的集合中,顯示兩個隨機選件 DECISION LUMA - MOBILE APP DECISION 圖磚。

    {width="300"}

    優惠是隨機的,因為您已為所有優惠提供相同的優先順序,而決策的排名是根據優先順序。

驗證Assurance中的實作

若要驗證Assurance中的優惠方案實作:

  1. 檢閱 設定指示 區段來將您的模擬器或裝置連線到Assurance。

  2. 選取 設定 在左側邊欄中並選取 新增 旁邊 檢閱和模擬 底下 Adobe Journey Optimizer決策.

  3. 選取「儲存」。

  4. 選取 檢閱和模擬 在左側邊欄中。 資料串流設定都會經過驗證,並且會在您的應用程式中設定SDK。

  5. 選取 請求 在頂端列中。 您會看到 選件 要求。
    AJO決策驗證

  6. 您可以探索 模擬事件清單 索引標籤以進一步瞭解功能,檢查您的Journey Optimizer決定管理設定。

後續步驟

您現在應該擁有所有工具,可以開始將更多功能新增到您的Journey Optimizer — 決定管理實作。 例如:

  • 套用不同引數至您的選件(例如,優先順序、上限)
  • 在應用程式中收集設定檔屬性(請參閱 個人資料)並使用這些設定檔屬性來建立對象。 然後使用這些對象作為您決定中適用性規則的一部分。
  • 合併多個決定範圍。
SUCCESS
您已啟用應用程式,以便使用Experience Platform Mobile SDK的Journey Optimizer - Decisioning擴充功能來顯示優惠方案。
感謝您花時間學習Adobe Experience Platform Mobile SDK。 如果您有疑問、想要分享一般意見或有關於未來內容的建議,請在此分享這些內容 Experience League社群討論貼文.

下一步: 執行A/B測試

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