# Javascript SDK Version 3.1について JavaScript SDK v3.1から、セキュリティを向上させ、ingestionのボトルネックを排除するために、新しいingestion endpointがサポートされています。この新しいendpointを使用することで、以下の拡張機能と変更が導入されます: * [表示される変更](/ja/products/customer-data-platform/integration-hub/streaming/td-javascript-sdk/about-javascript-sdk-version-3-1#visible-changes) * [Treasure Data JavaScript SDK Version 3.1のログパラメータ](/ja/products/customer-data-platform/integration-hub/streaming/td-javascript-sdk/about-javascript-sdk-version-3-1#treasure-data-javascript-sdk-version-31-log-parameters) * [新しいendpointの使用方法](/ja/products/customer-data-platform/integration-hub/streaming/td-javascript-sdk/about-javascript-sdk-version-3-1#how-to-use-a-new-endpoint) * [FAQ](/ja/products/customer-data-platform/integration-hub/streaming/td-javascript-sdk/about-javascript-sdk-version-3-1#h1__728891130) * [制限事項と変更された動作](/ja/products/customer-data-platform/integration-hub/streaming/td-javascript-sdk/about-javascript-sdk-version-3-1#limitations--changed-behavior) # 表示される変更 * これらの値は入力されなくなります。顧客は**td_user_agent**からPrestoおよびHiveのTD_PARSE_AGENT関数を使用してそれらを取得する必要があります: * **td_browser**: クライアントbrowser * **td_browser_version**: クライアントbrowserバージョン * **td_os**: クライアントoperating system * **td_os_version**: クライアントoperating systemバージョン * 注: **td_user_agent**は、*navigator.userAgent* APIを介してJavaScriptを使用して入力されます * **JSSDK/version**が**td_user_agent**プロパティの末尾に追加されます * すなわち、`td_user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36;JSSDK/3.1.1"` * 新しいendpointは、requestが受信されるとAPIKEYを検証します。APIKEYが無効な場合、即座に401エラーを返します。 * `{"code":401,"message":"Credentials are required to access this resource."}` # Treasure Data JavaScript SDK Version 3.1のログパラメータ TD JS SDKは、trackPageview関数を使用して以下のパラメータをログに記録します。 | **パラメータ** | **説明** | **デフォルト** | | --- | --- | --- | | **td_version** | td-js-sdkのバージョン | X | | **td_client_id** | クライアントのuuid | NO | | **td_charset** | 文字セット | X | | **td_description** | descriptionメタタグ | X | | **td_language** | ブラウザ言語 | X | | **td_color** | 画面のcolor depth | X | | **td_screen** | 画面解像度 | X | | **td_viewport** | viewportサイズ | X | | **td_title** | ドキュメントタイトル | X | | **td_url** | ドキュメントURL | X | | **td_user_agent** | ブラウザuser agent | X | | **td_platform** | ブラウザplatform | X | | **td_host** | ドキュメントhost | X | | **td_path** | ドキュメントpathname | X | | **td_referrer** | ドキュメントreferrer | X | | **td_ip** | リクエストIP(server) | NO | | **td_browser** | クライアントbrowser(server) | X | | **td_browser_version** | クライアントbrowserバージョン(server) | X | | **td_os** | クライアントoperating system(server) | X | | **td_os_version** | クライアントoperating systemバージョン(server) | X | | **td_global_id** | 3rd party cookie | NO | | **td_ssc_id** | Server Side Cookie | NO | 追跡されるデフォルトパラメータには、グローバルなプライバシー法への準拠を確保するために**td_client_id**、**td.ip**、および**td_global_id**が含まれていません。td.setコマンドを呼び出すことで有効にできます。 # 新しいendpointの使用方法 新しいJavaScript endpointをオプトインするための新しいオプションuseNewJavaScriptEndpointを導入します。これにはtrueまたはfalse値があります。このオプションを有効にする場合は、新しいendpointを指すようにhost設定も変更する必要があります。 host設定は、使用する環境に応じて以下の値を持つ必要があります: * AP02リージョン: **[ap02.records.in.treasuredata.com](http://ap02.records.in.treasuredata.com)** * Tokyoリージョン: **[ap01.records.in.treasuredata.com](http://ap01.records.in.treasuredata.com)** * USリージョン: **[us01.records.in.treasuredata.com](http://us01.records.in.treasuredata.com)** * EU01リージョン: **[eu01.records.in.treasuredata.com](http://eu01.records.in.treasuredata.com/)** _`useNewJavaScriptEndpoint`_を`false`に設定するか、設定しないことでこの機能をオプトアウトする場合は、`host`を古い設定に更新してください。 ```javascript var td = new Treasure({ database: 'foo', writeKey: 'your_write_only_key', useNewJavaScriptEndpoint: true, host: 'us01.records.in.treasuredata.com' }); ``` # FAQ * 以前のバージョンでサポートされている既存の関数を使用できますか? * はい。機能は現状のままです。 * queryでtd_browser、td_browser_version、td_os、td_os_versionを取得するにはどうすればよいですか? ```sql -- Presto -- element_atはkeyが欠落している場合でも処理できます。 SELECT element_at( td_parse_agent(td_user_agent) , 'name' ) AS td_browser, element_at( td_parse_agent(td_user_agent) , 'version' ) AS td_browser_version, element_at( td_parse_agent(td_user_agent) , 'os' ) AS td_os, element_at( td_parse_agent(td_user_agent) , 'os_version' ) AS td_os_version FROM web_access -- OR, 以下はHiveとPrestoの両方で機能します SELECT td_parse_agent(td_user_agent) ['name'] AS td_browser, td_parse_agent(td_user_agent) ['version'] AS td_browser_version, td_parse_agent(td_user_agent) ['os'] AS td_os, td_parse_agent(td_user_agent) ['os_version'] AS td_os_version FROM web_access ``` # 制限事項と変更された動作 Real-time segmentationを使用するには、Backendからのルーティング有効化が必要です。Treasure Data Supportに連絡して、ルーティングを有効にするアカウント、database、tableをお知らせください。バックエンドから実行できます。将来のリリースでこの制限を削除する予定です。