第三方函式庫
@next/third-parties
是一個程式庫,提供一系列的元件和工具,可提升在 Next.js 應用程式中載入熱門第三方程式庫的效能和開發體驗。
所有由 @next/third-parties
提供的第三方整合都已針對效能和易用性進行了優化。
開始使用
要開始使用,請安裝 @next/third-parties
函式庫
npm install @next/third-parties@latest next@latest
@next/third-parties
目前是一個正在積極開發中的**實驗性**函式庫。我們建議在我們添加更多第三方整合的同時,使用**最新**或**canary**旗標安裝它。
Google 第三方服務
所有支援的 Google 第三方函式庫都可以從 @next/third-parties/google
導入。
Google 代碼管理工具
可以使用 GoogleTagManager
元件將 Google 代碼管理工具 容器實例化到您的頁面。預設情況下,它會在頁面上完成水合作用後擷取原始的內嵌指令碼。
要載入所有路由的 Google 代碼管理工具,請將元件直接包含在您的根佈局中,並傳入您的 GTM 容器 ID
import { GoogleTagManager } from '@next/third-parties/google'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<GoogleTagManager gtmId="GTM-XYZ" />
<body>{children}</body>
</html>
)
}
要載入單一路由的 Google 代碼管理工具,請將元件包含在您的頁面檔案中
import { GoogleTagManager } from '@next/third-parties/google'
export default function Page() {
return <GoogleTagManager gtmId="GTM-XYZ" />
}
發送事件
請參考標籤管理工具開發人員文件
伺服器端標記
如果您使用的是伺服器端標籤管理工具,並且從您的標記伺服器提供 gtm.js
指令碼,則可以使用 gtmScriptUrl
選項來指定指令碼的網址。
選項 Google 標籤管理工具文件 。
名稱 類型 說明 gtmId
必填 您的 GTM 容器 ID。通常以 GTM-
開頭。 gtmScriptUrl
選用 GTM 指令碼網址。預設為 https://127.0.0.1/gtm.js
。 dataLayer
選用 用於初始化容器的資料層物件。 dataLayerName
選用 資料層的名稱。預設為 dataLayer
。 auth
選用 環境程式碼片段的驗證參數值 (gtm_auth
)。 preview
選用 環境程式碼片段的預覽參數值 (gtm_preview
)。
Google Analytics
名稱 | 類型 | 說明 |
---|---|---|
gtmId | 必填 | 您的 GTM 容器 ID。通常以 GTM- 開頭。 |
gtmScriptUrl | 選用 | GTM 指令碼網址。預設為 https://127.0.0.1/gtm.js 。 |
dataLayer | 選用 | 用於初始化容器的資料層物件。 |
dataLayerName | 選用 | 資料層的名稱。預設為 dataLayer 。 |
auth | 選用 | 環境程式碼片段的驗證參數值 (gtm_auth )。 |
preview | 選用 | 環境程式碼片段的預覽參數值 (gtm_preview )。 |
GoogleAnalytics
元件可用於透過 Google 標籤 (gtag.js
) 將 Google Analytics 4
建議:如果您的應用程式已包含 Google 代碼管理工具,您可以直接使用它來設定 Google Analytics,而不是將 Google Analytics 作為單獨的元件包含在內。請參閱文件
,瞭解更多關於代碼管理工具和 gtag.js
之間的差異。
要載入所有路由的 Google Analytics,請直接在您的根佈局中包含該元件,並傳入您的評估 ID。
import { GoogleAnalytics } from '@next/third-parties/google'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>{children}</body>
<GoogleAnalytics gaId="G-XYZ" />
</html>
)
}
要載入單一路由的 Google Analytics,請在您的頁面檔案中包含該元件。
import { GoogleAnalytics } from '@next/third-parties/google'
export default function Page() {
return <GoogleAnalytics gaId="G-XYZ" />
}
發送事件 app/page.js'use client'
import { sendGAEvent } from '@next/third-parties/google'
export function EventButton() {
return (
<div>
<button
onClick={() => sendGAEvent('event', 'buttonClicked', { value: 'xyz' })}
>
Send Event
</button>
</div>
)
}
'use client'
import { sendGAEvent } from '@next/third-parties/google'
export function EventButton() {
return (
<div>
<button
onClick={() => sendGAEvent('event', 'buttonClicked', { value: 'xyz' })}
>
Send Event
</button>
</div>
)
}