在決策政策中善用片段 fragments

如果您的決定原則包含決定專案(包括片段),您可以在決定原則程式碼中利用這些片段。 進一步瞭解片段

AVAILABILITY
此功能目前僅適用於​ 程式碼型體驗 ​管道。

例如,假設您想針對多種行動裝置型號顯示不同的內容。 請務必將與這些裝置對應的片段新增至您在決定原則中使用的決定專案。 瞭解如何進行

{width="70%"}

完成後,您可以使用下列其中一種方法:

直接插入代碼

只要將下方的程式碼區塊複製並貼到決定原則程式碼中即可。 以片段ID取代variable,並以片段參考索引鍵取代placement

code language-none
{% let variable =  get(item._experience.decisioning.offeritem.contentReferencesMap, "placement").id %}
{{fragment id = variable}}
遵循詳細步驟
  1. 導覽至​協助程式函式,並將​ Let ​函式{% let variable = expression %} {{variable}}新增至程式碼窗格,您可以在其中宣告片段的變數。

  2. 使用​Map > Get​函式{%= get(map, string) %}來建置您的運算式。 對應是決策專案中參考的片段,而字串可以是您在決策專案中輸入的裝置模型,做為​片段參考索引鍵

  3. 您也可以使用包含此裝置型號ID的內容屬性。

  4. 新增您為片段選擇的變數作為片段ID。

將會從決定專案的​ 片段 ​區段中選取片段ID和參考索引鍵。

WARNING
如果片段索引鍵不正確或片段內容無效,呈現將會失敗,而導致Edge呼叫中的錯誤。

使用片段時的護欄 fragments-guardrails

決定專案與內容屬性

Journey Optimizer片段預設不支援決定專案屬性和內容屬性。 不過,您可以改用全域變數,如下所述。

假設您要在片段中使用​ sport ​變數。

  1. 在片段中參照此變數,例如:

    code language-none
    Elevate your practice with new {{sport}} gear!
    
  2. 在決定原則區塊中使用​ Let ​函式定義變數。 在下列範例中,sport​是以決定專案屬性定義:

    code language-none
    {#each decisionPolicy.13e1d23d-b8a7-4f71-a32e-d833c51361e0.items as |item|}}
    {% let sport = item._cjmstage.value %}
    {{fragment id = get(item._experience.decisioning.offeritem.contentReferencesMap, "placement1").id }}
    {{/each}}
    

決定專案片段內容驗證

  • 由於這些片段的動態性質,當用於行銷活動時,會針對決策專案中所參照的片段,略過行銷活動內容建立期間的訊息驗證。

  • 片段內容的驗證僅在片段建立和發佈期間進行。

  • 對於JSON型別運算式片段,在儲存片段時會語法驗證內容。 驗證錯誤會顯示為警示。

在執行階段,會驗證行銷活動內容(包括決策專案中的片段內容)。 萬一驗證失敗,行銷活動將不會呈現。

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76