thumbnail

Next.jsでYouTubeの埋め込み!高速読み込み

Nextman
Nextman

Google Tag ManagerのタグをどうやってNext.jsで読み込めせようか調べていたところ、
Next.js公式で@next/third-partiesというライブラリを提供していたので、
その使い方を紹介しようと思います。


@next/third-partiesは、Next.jsアプリケーションで一般的なサードパーティライブラリの読み込みパフォーマンスと開発者エクスペリエンスを向上させるためのコンポーネントとユーティリティのコレクションを提供するライブラリです。

@next/third-partiesが提供するすべてのサードパーティの統合は、パフォーマンスと利便性の向上のために最適化されています。

インストール

はじめるには、@next/third-partiesライブラリをインストールします。

npm install @next/third-parties@latest

@next/third-partiesは現在実験的なライブラリであり、積極的に開発が進行中です。
より多くのサードパーティの統合を追加する作業中ですので、最新またはキャナリーフラグを使用してインストールすることをお勧めします。

YouTube Embed コンポーネント

YouTubeEmbedコンポーネントを使用すると、YouTubeの埋め込みを読み込んで表示することができます。
このコンポーネントは、実質的にはlite-youtube-embedを使用して高速に読み込まれます。

// app/page.js

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

videoId は YouTube の URL に含まれていて、次のような箇所に埋まっている値です。

https://www.youtube.com/watch?v={videoId}
https://youtu.be/{videoId}
https://www.youtube.com/embed/{videoId}

コンポーネントのオプション

YouTube Embedに渡すオプションのリストについては、次のとおりです。

  • videoid (必須): YouTubeビデオのID。

  • width (オプション): ビデオコンテナの幅。デフォルトはautoです。

  • height (オプション): ビデオコンテナの高さ。デフォルトはautoです。

  • playlabel (オプション): アクセシビリティのための再生ボタンの視覚的に非表示のラベル。

  • params (オプション): ここで定義されたビデオプレイヤーのパラメータ。パラメータはクエリパラメータ文字列として渡されます。例: params="controls=0&start=10&end=30"

  • style (オプション): ビデオコンテナにスタイルを適用するために使用されます。

AIへの質問や指示のプロンプト共有コミュニティ Promptolkクリエイターのための情報共有コミュニティ Utan