Spec-Zone.ru › Next.js

Библиотеки сторонних разработчиков

@next/third-parties — это библиотека, предоставляющая набор компонентов и утилит, которые улучшают производительность и опыт разработчиков при загрузке популярных библиотек сторонних разработчиков в вашем приложении Next.js.

Все интеграции сторонних разработчиков, предоставляемые @next/third-parties, были оптимизированы для производительности и простоты использования.

Начало работы

Для начала работы установите библиотеку @next/third-parties.

npm install @next/third-parties@latest next@latest

В настоящее время библиотека @next/third-parties является экспериментальной и находится в активной разработке. Мы рекомендуем устанавливать её с флагами последней или кандидатной версии во время работы над добавлением большего количества интеграций сторонних разработчиков.

Библиотеки сторонних разработчиков Google

Все поддерживаемые библиотеки сторонних разработчиков Google могут быть импортированы из @next/third-parties/google.

Google Tag Manager

Компонент GoogleTagManager может быть использован для инициализации контейнера Google Tag Manager на вашей странице. По умолчанию, он загружает исходный встроенный скрипт после того, как на странице произойдёт гидрация.

Для загрузки Google Tag Manager для всех маршрутов, включите компонент напрямую в ваш пользовательский _app и передайте идентификатор вашего контейнера GTM:

import { GoogleTagManager } from '@next/third-parties/google'
 
export default function MyApp({ Component, pageProps }) {
  return (
    <>
      <Component {...pageProps} />
      <GoogleTagManager gtmId="GTM-XYZ" />
    </>
  )
}

Для загрузки Google Tag Manager для отдельного маршрута, включите компонент в ваш файл страницы:

import { GoogleTagManager } from '@next/third-parties/google'
 
export default function Page() {
  return <GoogleTagManager gtmId="GTM-XYZ" />
}

Отправка событий

Функция sendGTMEvent может быть использована для отслеживания взаимодействия пользователей на вашей странице, отправляя события с использованием объекта dataLayer. Для работы этой функции, компонент <GoogleTagManager /> должен быть включен либо в родительском макете, странице или компоненте, либо напрямую в том же файле.

import { sendGTMEvent } from '@next/third-parties/google'
 
export function EventButton() {
  return (
    <div>
      <button
        onClick={() => sendGTMEvent({ event: 'buttonClicked', value: 'xyz' })}
      >
        Send Event
      </button>
    </div>
  )
}

Обратитесь к документации разработчика Tag Manager по документации для получения дополнительной информации о различных переменных и событиях, которые могут быть переданы в функцию.

Параметры

Параметры для передачи в Google Tag Manager. Полный список параметров см. в документации Google Tag Manager.

Имя Тип Описание
gtmId Обязательный Ваш идентификатор контейнера GTM. Обычно начинается с GTM-.
dataLayer Необязательный Массив данных слоя для инициализации контейнера. По умолчанию пустой массив.
dataLayerName Необязательный Имя слоя данных. По умолчанию dataLayer.
auth Необязательный Значение параметра аутентификации (gtm_auth) для фрагментов среды.
preview Необязательный Значение параметра предварительного просмотра (gtm_preview) для фрагментов среды.

Google Analytics

Компонент GoogleAnalytics может быть использован для добавления Google Analytics 4 на вашу страницу через тег Google (gtag.js). По умолчанию, он загружает исходные скрипты после гидрации страницы.

Рекомендация: Если Google Tag Manager уже включен в ваше приложение, вы можете настроить Google Analytics непосредственно с его помощью, вместо включения Google Analytics как отдельного компонента. Обратитесь к документации, чтобы узнать больше о различиях между Tag Manager и gtag.js.

Для загрузки Google Analytics для всех маршрутов, включите компонент напрямую в ваш пользовательский _app и передайте ваш идентификатор измерения:

import { GoogleAnalytics } from '@next/third-parties/google'
 
export default function MyApp({ Component, pageProps }) {
  return (
    <>
      <Component {...pageProps} />
      <GoogleAnalytics gaId="G-XYZ" />
    </>
  )
}

Для загрузки Google Analytics для отдельного маршрута, включите компонент в ваш файл страницы:

import { GoogleAnalytics } from '@next/third-parties/google'
 
export default function Page() {
  return <GoogleAnalytics gaId="G-XYZ" />
}

Отправка событий

Функция sendGAEvent может быть использована для измерения взаимодействия пользователей на вашей странице, отправляя события с использованием объекта dataLayer. Для работы этой функции, компонент <GoogleAnalytics /> должен быть включен либо в родительском макете, странице или компоненте, либо напрямую в том же файле.

import { sendGAEvent } from '@next/third-parties/google'
 
export function EventButton() {
  return (
    <div>
      <button
        onClick={() => sendGAEvent({ event: 'buttonClicked', value: 'xyz' })}
      >
        Send Event
      </button>
    </div>
  )
}

Обратитесь к документации разработчика Google Analytics по документации для получения дополнительной информации о параметрах событий.

Отслеживание просмотров страниц

Google Analytics автоматически отслеживает просмотры страниц при изменении состояния истории браузера. Это означает, что переходы по клиентским маршрутам Next.js будут отправлять данные о просмотрах страниц без каких-либо настроек.

Для обеспечения правильного измерения переходов по клиентским маршрутам, проверьте, что свойство «Расширенное измерение» включено в вашем административном интерфейсе и что флажок «Изменение страниц на основе событий истории браузера» установлен.

Примечание: Если вы решите вручную отправлять события просмотров страниц, убедитесь, что отключено автоматическое измерение просмотров страниц, чтобы избежать дублирования данных. Обратитесь к документации разработчика Google Analytics по документации для получения дополнительной информации.

Параметры

Параметры для передачи компоненту <GoogleAnalytics>.

Имя Тип Описание
gaId Обязательный Ваш идентификатор измерения. Обычно начинается с G-.
dataLayerName Необязательный Имя слоя данных. По умолчанию dataLayer.

Вставка Google Карт

Компонент GoogleMapsEmbed может быть использован для добавления вставки Google Карт на вашу страницу. По умолчанию он использует атрибут loading для отложенной загрузки вставки под складкой.

import { GoogleMapsEmbed } from '@next/third-parties/google'
 
export default function Page() {
  return (
    <GoogleMapsEmbed
      apiKey="XYZ"
      height={200}
      width="100%"
      mode="place"
      q="Brooklyn+Bridge,New+York,NY"
    />
  )
}

Параметры

Параметры для передачи в Google Карты. Полный список параметров см. в документации Google Карт.

Имя Тип Описание
apiKey Обязательный Ваш ключ API.
mode Обязательный Режим карты
height Необязательный Высота вставки. По умолчанию auto.
width Необязательный Ширина вставки. По умолчанию auto.
style Необязательный Передача стилей фрейму.
allowfullscreen Необязательный Свойство для разрешения определенным частям карты переходить в полноэкранный режим.
loading Необязательный По умолчанию отложенная загрузка. Рассмотрите возможность изменения, если вы знаете, что ваша вставка будет над складкой.
q Необязательный Определяет местоположение маркера карты. Это может потребоваться в зависимости от режима карты.
center Необязательный Определяет центр представления карты.
zoom Необязательный Устанавливает начальный уровень масштабирования карты.
maptype Необязательный Определяет тип загружаемых плиток карты.
language Необязательный Определяет язык для элементов пользовательского интерфейса и отображения меток на плитках карты.
region Необязательный Определяет соответствующие границы и метки для отображения, основанные на геополитических нюансах.

Вставка YouTube

Компонент YouTubeEmbed может быть использован для загрузки и отображения вставки YouTube. Этот компонент загружается быстрее благодаря использованию lite-youtube-embed в качестве внутренней библиотеки.

import { YouTubeEmbed } from '@next/third-parties/google'
 
export default function Page() {
  return <YouTubeEmbed videoid="ogfYd705cRs" height={400} params="controls=0" />
}

Параметры

Имя Тип Описание
videoid Обязательный Идентификатор видео YouTube.
width Необязательный Ширина контейнера видео. По умолчанию auto
height Необязательный Высота контейнера видео. По умолчанию auto
playlabel Необязательный Невидимая метка для кнопки воспроизведения для удобства доступа.
params Необязательный Параметры видеоплеера, определенные здесь.
Параметры передаются в виде строки запроса.
Пример: params="controls=0&start=10&end=30"
style Необязательный Используется для применения стилей к контейнеру видео.

© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/pages/building-your-application/optimizing/third-party-libraries

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API