---
title: "Engage.initServer(settings)"
slug: "engage-initserver"
abstract: "Sitecore Engage SDK(Sitecore CDP Stream API)におけるサーバー側のinitServer()関数を記述します。"
---
# Engage.initServer(settings)

initServer()機能がアプリのサーバー側でEngage SDKを初期化します。この関数は[initServer.handleCookie()](https://doc.sitecore.com/cdp/ja/developers/api/stream-api/sitecore-engage-sdk-reference/functions/engage-initserver-handlecookie.html "Engage.initServer.handleCookie(req, res)")関数を含むオブジェクトを返します。initServer()関数を呼び出した後は、アプリのクライアント側のinit()(engage-init.md "Engage.init(settings)")関数も呼び出さなければなりません。

同じ[settings](https://doc.sitecore.com/cdp/ja/developers/api/stream-api/sitecore-engage-sdk-reference/objects/settings-object.html "Settings object")オブジェクトをinitServer() とinit()の両方に渡しますが、initServer()でwebPersonalization(settings-object.html#UUID-60c6365e-ff13-69eb-f0eb-aab96f66de3e\_para-idm1903353065604344)属性を指定していません。それはwebPersonalization()属性がクライアント側でのみ利用可能だからです。

サイドバー。パラメータ

パラメータ

種類

概要

[settings](https://doc.sitecore.com/cdp/ja/developers/api/stream-api/sitecore-engage-sdk-reference/functions/settings-object.html)

目的

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](https://doc.sitecore.com/cdp/ja/developers/api/stream-api/sitecore-engage-sdk-reference/functions/settings-object.html#UUID-60c6365e-ff13-69eb-f0eb-aab96f66de3e_para-idm1903353068457110)がtrueに設定されています。これにより、クッキーはサーバーから設定されます。
-   engageServer変数はinitServer()関数の返り値に割り当てられます。それによってengageServerhandleCookie()関数にアクセスできます。
-   [handleCookie()](https://doc.sitecore.com/cdp/ja/developers/api/stream-api/sitecore-engage-sdk-reference/functions/engage-initserver-handlecookie.html "Engage.initServer.handleCookie(req, res)")関数はサーバー上でクッキーを作成し、それをレスポンスヘッダーに含めます。

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属性はクライアント側でのみ指定されています。

クライアントはサーバーからヘッダーを受け取り、クッキーをウェブブラウザに保存します。