Engage.initServer(settings)
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
initServer()機能がアプリのサーバー側でEngage SDKを初期化します。この関数はinitServer.handleCookie()関数を含むオブジェクトを返します。initServer()関数を呼び出した後は、アプリのクライアント側のinit()(engage-init.md "Engage.init(settings)")関数も呼び出さなければなりません。
同じsettingsオブジェクトをinitServer() とinit()の両方に渡しますが、initServer()でwebPersonalization(settings-object.html#UUID-60c6365e-ff13-69eb-f0eb-aab96f66de3e_para-idm1903353065604344)属性を指定していません。それはwebPersonalization()属性がクライアント側でのみ利用可能だからです。
サイドバー。パラメータ
パラメータ
種類
概要
目的
Sitecore CDPのインスタンスやクッキー設定の詳細。
例3。次のアプリ
NextアプリでinitServer() 関数を使う例を紹介します。 initServer() 関数を呼び出し、返り値を変数に保存しなければなりません。
pages/index.js:
import { useEffect } from "react"; import { init, initServer } from "@sitecore/engage";
const engageSettings = { // ... forceServerCookieMode: true };
const engageServer = initServer(engageSettings);
export async function getServerSideProps({ req, res }) { await engageServer.handleCookie(req, res); return { props: {}, }; };
export default function Home() { // ... };
脚本について以下の点に注目してください:
- 設定オブジェクトでは forceServerCookieModeがtrueに設定されています。これにより、クッキーはサーバーから設定されます。
- engageServer変数はinitServer()関数の返り値に割り当てられます。それによってengageServerhandleCookie()関数にアクセスできます。
- handleCookie()関数はサーバー上でクッキーを作成し、それをレスポンスヘッダーに含めます。
Nextアプリでサーバーからクッキーを受け取り、ウェブブラウザにクッキーを保存する方法の例があります。
pages/index.js:
export default function Home() { const loadEngage = async () => { // Load Engage API const engage = await init({...engageSettings, webPersonalization: false /* boolean or object. See Settings object for all options. Default: false */ });
// Send VIEW events };
useEffect(() => { loadEngage(); }, );
return ( <></> ); };
このスクリプトでは、同じsettingsオブジェクトがサーバー側のinitServer() 関数に渡されたのと同じinit() 関数に渡されますが、webPersonalization属性はクライアント側でのみ指定されています。
クライアントはサーバーからヘッダーを受け取り、クッキーをウェブブラウザに保存します。