whitelistParentDomain 及 whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains

這些設定可讓實作於iFrame和上層頁面的不同訪客ID服務程式碼例項互相通訊。 這些設定可在您不一定控制上層頁面/網域,且在您已控制之網域的iFrame中載入訪客ID服務程式碼的情況下,協助解決2個特定使用案例的問題。 它們可在VisitorAPI.js程式碼2.2版或更新版本中使用。

內容:

語法 section-f645198bbaba4fba8961acb6e88d1470

使用此程式碼時,需要兩個設定元素。

設定語法
說明
whitelistParentDomain:" 上層頁面的網域名稱 "
接受單一網域名稱以字串形式傳入。
whitelistIframeDomains:[ "iFrame 網域","iFrame 網域","iFrame 網域" ]
接受一個或多個 iFrame 網域名稱以陣列形式傳入。

程式碼範例 section-09d0049fe88a473baa69d404c50bf8ae

您已設定的 Visitor ID Service程式碼看起來可能類似於此範例。

//Instantiate Visitor
var visitor = Visitor.getInstance("INSERT-IMS-ORG-ID-HERE",{
 ...
 //Add parent page domain name and iFrame domain names
 whitelistParentDomain: "parentpageA.com",
 whitelistIframeDomains: ["iFrameDomain1.com","iFrameDomain2.com"],
 ...
 }
);

使用案例 section-fc2eeb93546b406fae3b102dbcd11de7

這些設定可協助解決在瀏覽器封鎖第三方Cookie且符合下列任一條件時,設定訪客ID服務Cookie以及指派訪客ID的問題:

  • 您不一定可控制上層頁面/網域。
  • 訪客ID服務程式碼未安裝在上層頁面上,但實作於iFrame中。
TIP
當您在 iFrame 中使用影片活動訊號提供影片時,您也可以實作這些設定。 影片心率必須要有訪客ID服務ID (MID)才能正常運作。

使用案例1:瀏覽器封鎖第三方Cookie,且訪客ID服務已實作於iFrame和上層頁面

使用案例元素
說明
條件

此使用案例包含下列條件:

  • A公司在其首頁上實作訪客ID服務。
  • A公司在其首頁的iFrame中實作訪客ID服務。
  • A公司擁有上層頁面和iFrame,且兩處均已實作訪客ID服務。
  • 客戶將上層頁面載入封鎖第三方 Cookie 的瀏覽器中。
結果

基於這些條件,訪客ID服務會:

  • 在上層頁面上正常運作。 它會請求並設定 AMCV Cookie,然後將唯一 ID 指派給網站訪客。
  • 在 iFrame 中無法運作。 這是因為瀏覽器會將iFrame視為協力廠商網域,並防止訪客ID服務設定AMCV Cookie。
解決方法

使用這些白名單設定來修改iFrame中的訪客ID服務 Visitor.getInstance 函式。 在程式碼中指定上層網域和子網域。 這些設定可讓iFrame中的訪客ID服務程式碼檢查上層頁面上的訪客ID服務程式碼中是否有訪客ID。

如果iFrame中的訪客ID服務程式碼未收到回應上層頁面,這些設定會產生本機訪客ID。

使用案例2:從您未控制或未使用訪客ID服務的上層頁面中內嵌的iFrame請求ID

使用案例元素
說明
條件

此使用案例包含下列條件:

  • 公司A未使用訪客ID服務。
  • 公司 A 在頁面上載入 iFrame。 此 iFrame 歸 B 公司所擁有,並載入到不同於 A 公司的網域。
  • 瀏覽器會封鎖第三方 Cookie。
結果

基於這些條件,訪客ID服務會:

  • 在 iFrame 中無法運作。 這是因為瀏覽器會將iFrame視為協力廠商網域,並防止訪客ID服務設定AMCV Cookie。
  • 無法從上層頁面取得訪客 ID,因為公司 A 未使用此服務。
解決方法

使用這些白名單設定來修改iFrame中的訪客ID服務 Visitor.getInstance 函式。 在程式碼中指定上層網域和子網域。 這些設定可讓iFrame中的訪客ID服務程式碼檢查上層頁面上的訪客ID服務程式碼中是否有訪客ID。

如果iFrame中的訪客ID服務程式碼未收到回應上層頁面,這些設定會產生本機訪客ID。

設定安全與安全性 section-2b1ce31fab034e1ca0f6b1c3cc57a6e2

您可以安全地實作這些設定,因為:

  • 在上層網域和iFrame網域中實作的訪客ID服務必須使用相同的IMS組織ID。 當上層網域或iFrame中的IMS組織ID不同時,這些白名單設定將無法運作。
  • 這些設定只會與程式碼中指定的網域和 iFrame 通訊。
  • iFrame 與上層頁面之間的通訊會遵循特定格式。 如果上層頁面上的訪客ID服務未收到預期格式的請求,此共用程式將會失敗。

支援的訪客API方法 section-30c6a9f4dcdc4265a1149260b97cc057

實作這些白名單設定時,訪客ID服務支援有限的公用API方法集。 支援的方法會依據上述使用案例的情況而有所不同。

使用案例
支援的方法
案例 1
  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs
案例 2
  • getSupplementalDataID
  • getMarketingCloudVisitorID
recommendation-more-help
id-service-help