whitelistParentDomain 及 whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains
這些設定可讓實作於iFrame和上層頁面的不同訪客ID服務程式碼例項互相通訊。 這些設定可在您不一定控制上層頁面/網域,且在您已控制之網域的iFrame中載入訪客ID服務程式碼的情況下,協助解決2個特定使用案例的問題。 它們可在VisitorAPI.js程式碼2.2版或更新版本中使用。
內容:
語法 section-f645198bbaba4fba8961acb6e88d1470
使用此程式碼時,需要兩個設定元素。
程式碼範例 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中。
使用案例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方法集。 支援的方法會依據上述使用案例的情況而有所不同。
- getMarketingCloudID
- getAudienceManagerLocationHint
- getAudienceManagerBlob
- getSupplementalDataID
- getCustomerIDs
- getSupplementalDataID
- getMarketingCloudVisitorID