Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
CDPCloud Portal
Sitecore CDP Developer Documentation
  • Sitecore CDPでの開発
  1. ウォークスルー
  1. Sitecore CDP Developer Documentation
  2. Sitecore CDPとの統合

Engage SDKパッケージを使ってReactアプリを統合する

Markdown version
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

!注もし組織にJSS Next.jsやJSS AngularアプリケーションがSitecoreAIに接続されている場合は、Sitecore Cloud SDKを使ってSitecoreAIサイトにSitecore CDP関連機能を実装してください。また、Cloud SDKとEngage SDKの比較も参照してください。

このトピックでは、Engage SDKパッケージを使ってReactアプリを統合する方法を説明します。

このウォークスルーでは、以下の方法を説明します:

!注始める前に

  • Sitecore CDPインスタンスに関する必要な情報を収集してください。

  • Reactアプリを用意して統合しましょう。

インストールと初期化@sitecore/エンゲージ

アプリを統合する最初のステップは、@sitecore/engageパッケージをインストールして初期化することです。

パッケージのインストールと初期化は以下の通りです:

  1. ターミナルでReactアプリのルートフォルダを開きます。

  2. 以下のコマンドを実行してEngage SDKをインストールしてください:

    npm install @sitecore/engage

  3. コードエディターでReactアプリのルートフォルダを開きます。

  4. srcフォルダ内に「engage.js」というファイルを作成します。

  5. engage.jsに以下のコードを貼り付けます:

    import { createContext, useContext, useState, useEffect, useCallback } from "react"; import { init } from "@sitecore/engage";

    const EngageContext = createContext();

    function EngageProvider({ children }) { const engage, setEngage = useState({});

    const loadEngage = useCallback(async () => { const engage = await init({ clientKey: "<client_key_PLACEHOLDER>", targetURL: "<stream_api_target_endpoint_PLACEHOLDER>", pointOfSale: "<point_of_sale_PLACEHOLDER>", cookieDomain: "<cookie_domain_PLACEHOLDER>", cookieExpiryDays: 365, forceServerCookieMode: false, includeUTMParameters: true, webPersonalization: true /* boolean or object. See Settings object for all options. Set to `false` if you don't have Personalize. */ });

    setEngage(engage); }, );

    useEffect(() => { loadEngage(); }, loadEngage);

    return <EngageContext.Provider value={engage}>{children}</EngageContext.Provider>; }

    function useEngage() { const engage = useContext(EngageContext); return engage; }

    export { EngageProvider, useEngage };

    プレースホルダーの値は、Sitecore CDPインスタンスの必要な詳細に置き換えてください。

    !重要クッキー同意本番環境では、サイト訪問者が同意を得た場合のみEngage SDKを読み込み、クッキーを設定してください。サイト訪問者がクッキーを受け入れているかどうかを確認する コード例 も参照してください。

    !重要**コンテンツセキュリティポリシー(CSP)**Engage SDKスクリプトが読み込まれるようにするために、コンテンツ セキュリティポリシー(CSP)に以下の内容を追加する必要があるかもしれません:

    • Stream APIのターゲットエンドポイント。

    • https://d1mj578wat5n4o.cloudfront.net

    • ウェブパーソナライゼーションを実行していて、環境がAP地域、EU地域、または米国地域であれば:

    https://d35vb5cccm4xzp.cloudfront.net

    • ウェブパーソナライゼーションを使い、環境が JP地域であれば:

    https://d2ez8k04aaol9g.cloudfront.net

    この脚本:

    • Engage用のコンテキストである EngageContext とプロバイダーコンポーネント EngageProviderを作成します。
    • EngageProviderでは、Sitecore CDPインスタンスの詳細を使って非同期的にEngage APIを読み込み、クライアントからクッキーを設定します。
    • EngageのインスタンスをエクスポートAPI EngageProvider。
    • useEngageフックをエクスポートすると、アプリ内でEngage機能を簡単に呼び出せます。
  6. index.jsでは、アプリをEngageProviderに包み込みます。EngageProviderアプリをレンダリングし、Engageのすべての機能がアプリ全体で利用可能になります。

    import { EngageProvider } from "./engage";

    const root = ReactDOM.createRoot(document.getElementById("root")); root.render( <React.StrictMode> </React.StrictMode> );

  7. 端末でnpm startを入力してReactアプリを起動します。ウェブブラウザのコンソールでEngage;を入力します。オブジェクトが戻ってきたら、Engageの初期化が成功したことになります。

初めてのVIEWイベントをSend

@sitecore/engageパッケージをインストールし初期化した後、データを収集してSitecore CDPに送信します。VIEWイベントはウェブページが読み込まれるたびにトリガーされるため、VIEWイベントを送信します。

VIEWイベントを送信するには:

  1. App.jsでは、App関数のuseEngageフックを使って、engage.pageView()関数を呼び出してVIEWイベントデータを送ります:

    import { useEffect, useCallback } from "react"; import { useEngage } from "./engage";

    export default function App() { const engage = useEngage();

    const sendPageViewEvent = useCallback(async () => { const response = await engage.pageView({ channel: "<channel_PLACEHOLDER>", currency: "<currency_PLACEHOLDER>" });

    // For testing and debugging purposes only if (response) { console.log("Copy-paste the following line into Sitecore CDP > Guests > Search field:"); console.log(engage.getBrowserId()); } }, engage);

    useEffect(() => { if (Object.keys(engage).length !== 0) { sendPageViewEvent(); } }, engage, sendPageViewEvent);

    return <></>; }

    プレースホルダーの値は、Sitecore CDPインスタンスの必要な詳細に置き換えてください。

    このスクリプトはVIEWイベントオブジェクトを作成し、コンポーネントが初めてレンダリングされた直後にイベントデータをSitecore CDPに送信します。また、ブラウザのIDもコンソールにログします。次の手順でブラウザIDを使ってSitecore CDP内のVIEWイベントを見つけます。

  2. ウェブブラウザでアプリを再読み込みます。ウェブページが読み込まれると、VIEWイベントがトリガーされ、イベントデータが送信されます。

Sitecore CDPがあなたのVIEWイベントをキャプチャしたか確認してください

VIEWイベントを送信した後、Sitecore CDPにログインしてイベントを見つけます。

Sitecore CDPがあなたのVIEWイベントをキャプチャしたことを確認するために:

  1. ウェブブラウザのコンソールで、次のようなテキストを見つけてください:

    a38b230c-11eb-4cf9-8d5d-274e9f344925​

  2. テキストをコピーしてください。

  3. Sitecore CDPで **ゲストをクリックし、**検索ドロップダウンで ブラウザIDを選択し、コピーしたテキストを検索欄に貼り付けます。

    匿名のゲストが展示している。

    Search field in the Guests screen.

    このゲストは、さっきあなたがアプリを読み込んでいたことです。次に、このゲストに関連付けられたVIEWイベントを見つけます。

  4. ゲストをクリックしてください。ゲストプロフィールが表示されます。

  5. ゲストプロフィールページでイベント ビューアーをクリックします。このゲストに関連するイベントのリストが表示されます。リストにはVIEWイベントが含まれています。これは前回の手順でトリガーされたイベントです。

今後のステップ

現在、あなたのアプリをSitecore CDPと無事に統合しました。アプリからイベントを送信し、Sitecore CDPがリアルタイムでユーザーデータをキャプチャしていることを確認しました。

次に、次のことができます:

  • Send他の行動データ、例えば IDENTITYイベント や カスタムイベントなど。
  • ユーザーがサイト上の商品やショッピングカートとやり取りする際に取引データをSendします。
  • もし経験があれば、 Sitecore Personalizeを体験したり実験をしたりすることができます。
この記事を改善するための提案がある場合は、 お知らせください!

© Copyright , Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use
CDPCloud Portal