Show Menu
主題×

Launch 物件參考

在 Launch 使用者介面的許多表單欄位中,您可以使用 %% 語法來參考變數,減少呼叫 _satellite.getVar() 的需求。例如,使用 %product% 可存取產品資料元素或自訂變數的值。

Launch 物件參考

此參考會記錄 _satellite 物件,以及您可以執行的相關操作。

track

程式碼

_satellite.track(identifier: string [, detail: *] )

範例

_satellite.track('contact_submit', { name: 'John Doe' });

使用已設定指定識別碼的核心擴充功能中的「直接呼叫」事件類型,以引發所有規則。上述範例會使用「直接呼叫」事件類型觸發所有規則,其中設定的識別碼為 contact_submit 。也會傳遞包含相關資訊的選用物件。您可以在條件或動作的文字欄位內輸入 %event.detail% ,或是在 Custom Code 條件或動作的程式碼編輯器內輸入 event.detail ,以存取詳細資料物件。

getVar

程式碼

_satellite.getVar(name: string) => *

範例

var product = _satellite.getVar('product');

如果資料元素存在且具有相符名稱,則會傳回資料元素的值。如果沒有任何相符的資料元素存在,則會檢查看看是否有先前已使用 _satellite.setVar() 設定之相符名稱的自訂變數。如果找到相符自訂變數,則會傳回其值。
請注意,在 Launch 使用者介面的許多表單欄位中,您可以使用 %% 語法來參考變數,減少呼叫 _satellite.getVar() 的需求。例如,使用 %product% 可存取產品資料元素或自訂變數的值。

setVar

程式碼

_satellite.setVar(name: string, value: *)

範例

_satellite.setVar('product', 'Circuit Pro');

使用指定的名稱和值設定自訂變數。變數的值之後可以透過 _satellite.getVar() 存取。
您可以傳遞鍵值為變數名稱且值為個別變數值的物件,選擇是否要一次設定多個變數。
_satellite.setVar({ 'product': 'Circuit Pro', 'category': 'hobby' });

getVisitorId

程式碼

_satellite.getVisitorId() => Object

範例

var visitorIdInstance = _satellite.getVisitorId();

Adobe Experience Cloud ID 如果此擴充功能已安裝在屬性上,則此方法會傳回 Visitor ID 例項。如需詳細資訊,請參閱 Experience Cloud ID服務文件

logger

程式碼

_satellite.logger.log(message: string)

_satellite.logger.info(message: string)

_satellite.logger.warn(message: string)

_satellite.logger.error(message: string)

範例

_satellite.logger.error('No product ID found.');

將訊息記錄到瀏覽器主控台。只有在使用者已啟用 Launch 除錯 (做法為呼叫 _satellite.setDebug(true) 或使用適當的瀏覽器擴充功能) 的狀態下,才會顯示訊息。

buildInfo

程式碼

_satellite.buildInfo

此物件包含有關目前 Launch 執行階段程式庫建置的資訊。此物件包含下列屬性:

turbineVersion

目前程式庫內使用的 Turbine 版本。

turbineBuildDate

建置容器內使用的 Turbine 版本時的 ISO 8601 日期。

buildDate

建置目前程式庫時的 ISO 8601 日期。

環境

建置此程式庫的環境。可能的值包括:
  • development
  • staging
  • production
此範例示範物件值:
{
  turbineVersion: "14.0.0",
  turbineBuildDate: "2016-07-01T18:10:34Z",
  buildDate: "2016-03-30T16:27:10Z",
  environment: "development"
}

notify

此方法已淘汰。請改用 _satellite.logger.log()

程式碼

_satellite.notify(message: string[, level: number])

範例

_satellite.notify('Hello world!');

將訊息記錄到瀏覽器主控台。只有在使用者已啟用 Launch 除錯 (做法為呼叫 _satellite.setDebug(true) 或使用適當的瀏覽器擴充功能) 的狀態下,才會顯示訊息。
可傳遞選用記錄層級,這會影響記錄的訊息的樣式和篩選。支援層級如下:
3 - 資訊訊息。
4 - 警告訊息。
5 - 錯誤訊息。
如果您未提供記錄層級或傳遞任何其他層級值,訊息會記錄為一般訊息。

setCookie

此方法已淘汰。請改用 _satellite.cookie.set()

程式碼

_satellite.setCookie(name: string, value: string, days: number)

範例

_satellite.setCookie('product', 'Circuit Pro', 3);

在使用者的瀏覽器中設定 Cookie。Cookie 會持續保留到指定的天數。

readCookie

此方法已淘汰。請改用 _satellite.cookie.get()

程式碼

_satellite.readCookie(name: string) => string

範例

var product = _satellite.readCookie('product');

從使用者的瀏覽器中讀取 Cookie。

removeCookie

此方法已淘汰。請改用 _satellite.cookie.remove()

程式碼

_satellite.removeCookie(name: string)

範例

_satellite.removeCookie('product');

從使用者的瀏覽器中移除 Cookie。

除錯函數

下列函數不應從生產程式碼中存取。這些函數適用於除錯用途,且會視需要隨時變更。

container

程式碼

_satellite._container

範例

不應利用生產程式碼存取此函數。此函數僅適用於除錯用途,且會視需求隨時變動。

monitor

程式碼

_satellite._monitors

範例

不應利用生產程式碼存取此函數。此函數僅適用於除錯用途,且會視需求隨時變動。

範例

在執行 Launch 程式庫的網頁上,將程式碼片段新增到 HTML。通常,程式碼會放在 <head> 標籤中,且放在載入 Launch 程式庫的 <script> 標籤之前。這可讓監視器取得 Launch 程式庫中發生的最早系統事件。例如:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    window._satellite = window._satellite || {};
    window._satellite._monitors = window._satellite._monitors || [];
    window._satellite._monitors.push({
      ruleTriggered: function (event) {
        console.log(
          'rule triggered',
          event.rule
        );
      },
      ruleCompleted: function (event) {
        console.log(
          'rule completed',
          event.rule
        );
      },
      ruleConditionFailed: function (event) {
        console.log(
          'rule condition failed',
          event.rule,
          event.condition
        );
      }
    });
  </script>
  <script src="//assets.adobedtm.com/launch-EN5bfa516febde4b22b3e7c6f96f6b439f.min.js"
          async></script>
</head>
<body>
  <h1>Click me!</h1>
</body>
</html>

在第一個指令碼標記中,由於 Launch 程式庫尚未載入,初始 _satellite 物件隨即建立,且 _satellite._monitors 上的陣列隨即初始化。接著,指令碼將監視器物件新增到該陣列。監視器物件可指定下列方法,Launch 程式庫稍後會呼叫這些方法:

ruleTriggered

在事件觸發規則之後但在已處理規則的條件和動作之前呼叫。傳遞到 ruleTriggered 的事件物件包含有關已觸發規則的資訊。

ruleCompleted

已在完全處理規則之後呼叫。換句話說,事件已發生、所有條件皆已傳遞,且所有動作皆已執行。傳遞到 ruleCompleted 的事件物件包含有關已完成規則的資訊。

ruleConditionFailed

已在已觸發規則且其中一個條件已失敗之後呼叫。已傳遞到 ruleConditionFailed 的事件物件包含有關已觸發規則和已失敗條件的資訊。
若已呼叫 ruleTriggered ,之後即將會呼叫 ruleCompleted ruleConditionFailed
監視器不必指定所有三種方法 ( ruleTriggered ruleCompleted ruleConditionFailed )。Launch 適用於監視器已提供的任何支援方法。

測試監視器

以上範例在監視器中指定所有這三個方法。呼叫這些方法時,監視器會記錄相關資訊。若要測試,請在 Launch 程式庫中設定兩個規則:
  1. 具有點擊事件和瀏覽器條件的規則,只有在瀏覽器是 Chrome 時才會傳遞。
  2. 具有點擊事件和瀏覽器條件的規則,只有在瀏覽器是 Firefox 時才會傳遞。
如果您在 Chrome 中開啟頁面,請開啟瀏覽器主控台,然後按一下頁面,下列內容就會顯示在主控台中:
可視需要將其他 Hook 或其他資訊新增到這些處理常式。