これらの設定を使用すると、iFrame と親ページに実装されている ID サービスコードのインスタンスが互いに通信できるようになります。これらの設定は、自社が管理しているドメインの iFrame に ID サービスコードを読み込む場合の 2 つの具体的な使用例(親ページまたはドメインを制御できる場合とできない場合)に関わる問題の解決に役立つように設計されています。これらは、VisitorAPI.js コードバージョン 2.2 以降で利用できます。
内容:
このコードを使用する際には、どちらの設定要素も必要です。
設定の構文 | 説明 |
---|---|
whitelistParentDomain: "親ページのドメイン名" |
文字列として渡される単一のドメイン名を受け入れます。 |
whitelistIframeDomains: [ "iFrame ドメイン","iFrame ドメイン","iFrame ドメイン" ] |
配列として渡される 1 つ以上の iFrame ドメイン名を受け入れます。 |
ID サービスの設定が完了すると、コードはこの例のようになります。
//Instantiate Visitor
var visitor = Visitor.getInstance("Insert Experience Cloud Organization ID here",{
...
//Add parent page domain name and iFrame domain names
whitelistParentDomain: "parentpageA.com",
whitelistIframeDomains: ["iFrameDomain1.com","iFrameDomain2.com"],
...
}
);
これらの設定は、ブラウザーがサードパーティ Cookie をブロックし、以下のいずれかの条件に該当する場合に発生する、ID サービス Cookie 設定と訪問者 ID 割り当ての問題の解決に役立ちます。
iFrame でビデオハートビートを使用してビデオを提供している場合も、これらの設定を実装することが推奨されます。ビデオハートビートを正しく動作させるには ID サービスの ID(MID)が必要です。
使用例 1:ブラウザーがサードパーティ Cookie をブロックし、ID サービスが iFrame および親ページに実装されている
使用例の要素 | 説明 |
---|---|
条件 |
この使用例には以下の条件が含まれます。
|
結果 |
これらの条件に当てはまる場合、ID サービスの動作は以下のようになります。
|
ソリューション |
これらのホワイトリスト設定を使用して、iFrame の ID サービス Visitor.getInstance 関数を変更します。コードの親ドメインおよび子ドメインを指定します。これらの設定により、iFrame の ID サービスコードが親ページの ID サービスコードをチェックして訪問者 ID を確認できるようになります。 iFrame の ID サービスコードが親ページの応答を受信しない場合、これらの設定によってローカルの訪問者 ID が生成されます。 |
ユースケース 2:自社で管理していない iFrame、または ID サービスを使用していない親ページに埋め込まれた iFrame から ID をリクエストする
使用例の要素 | 説明 |
---|---|
条件 |
この使用例には以下の条件が含まれます。
|
結果 |
これらの条件に当てはまる場合、ID サービスの動作は以下のようになります。
|
ソリューション |
これらのホワイトリスト設定を使用して、iFrame の ID サービス Visitor.getInstance 関数を変更します。コードの親ドメインおよび子ドメインを指定します。これらの設定により、iFrame の ID サービスコードが親ページの ID サービスコードをチェックして訪問者 ID を確認できるようになります。 iFrame の ID サービスコードが親ページの応答を受信しない場合、これらの設定によってローカルの訪問者 ID が生成されます。 |
これらの設定は、以下の理由により安全に実装できます。
これらのホワイトリスト設定を実装する際に ID サービスでサポートされる公開 API メソッドは限定されています。サポートされるメソッドは、上記の使用例シナリオによって異なります。
使用例 | サポートされるメソッド |
---|---|
例 1 |
|
例 2 |
|