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

瞭解如何透過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測試課程中設定環境,您可能已經執行此設定區段中的某些步驟。

更新資料流設定

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

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

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

  3. 在​ 資料串流 > 資料夾 > Adobe Experience Platform ​畫面中,確定已選取​ Offer decisioningEdge分段 ​和​ Adobe Journey Optimizer。 如果您要進行Target課程,請同時選取​ Personalization目的地。 如需詳細資訊,請參閱Adobe Experience Platform設定

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

    AEP資料流組態

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

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

  2. 選取​ 延伸模組

  3. 選取​ 目錄

  4. 搜尋​ Adobe Journey Optimizer - Decisioning ​擴充功能。

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

    新增Decisioning擴充功能

更新您的結構描述

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

驗證Assurance中的設定

若要驗證Assurance中的設定:

  1. 前往Assurance UI。
  2. 在左側邊欄中選取「設定」,然後選取「ADOBE JOURNEY OPTIMIZER DECISIONING」底下的「驗證設定」旁的「 新增 」。
  3. 選取「儲存」。
  4. 在左側邊欄中選取​ 驗證設定。 應用程式中的資料流設定和SDK設定均已驗證。
    AJO Decisioning驗證

建立位置

在實際建立優惠方案之前,您必須先定義這些優惠方案在行動應用程式中的放置方式與位置。 在決定管理中,您會為此定義版位,並會為支援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 Optimize新增至封裝相依性中的封裝清單。 請參閱Swift封裝管理員

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

  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. 導覽至Xcode專案導覽器中的​ Luma > Luma > Model > Data > 決定。 使用您從Journey Optimizer介面複製的決定範圍詳細資料更新activityIdplacementId值。

  6. 導覽至Xcode專案導覽器中的​ Luma > Luma > Utils > MobileSDK。 尋找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
          }
      ]
      

      不過,您可以使用任何型別的實作,以確保Optimize API取得適當的引數(activityIdplacementIditemCount),為您的實作建構有效的DecisionScope物件。
      如需詳細資訊: decisions.json檔案中的其他索引鍵值供未來使用,與本課程目前相關且已作為教學課程的一部分使用。

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

  7. 導覽至Xcode專案導覽器中的​ Luma > Luma > Views > Personalization > EdgeOffersView。 尋找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. 使用 Play ,在模擬器中或在Xcode的實體裝置上重建並執行應用程式。

  2. 前往 Personalisation 標籤。

  3. 選擇「Edge Personalisation」。

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

    {width="300"}

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

驗證Assurance中的實作

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

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

  2. 在左側邊欄中選取「設定」,並選取「ADOBE JOURNEY OPTIMIZER DECISIONING」底下的「檢閱和模擬」旁的「 新增 」。

  3. 選取「儲存」。

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

  5. 在頂端列選取​ 要求。 您看到您的​ 選件 ​要求。
    AJO Decisioning驗證

  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