AMP for Emailがサポートするコンポーネントについて

AMP for EmailはAMPHTMLのサブセットという位置づけになります。AMPHTMLで使えている全コンポーネントが使える訳ではなく、その一部のみが利用可能です。メールは受け取り側の環境内部で動作するため、よりセキュアに扱われているのでしょう。

今回はそんなAMP for Emailで利用できるコンポーネントを紹介します。バージョンは0.1相当になります。

amp-accordion

f:id:moongift:20210520213214p:plain

アコーディオン表示です。クリックでコンテンツの表示、非表示を切り替えます。

Documentation: <amp-accordion> - amp.dev

amp-anim

CPUでの動作に最適化されたアニメーションGIFを表示します。

Documentation: <amp-anim> - amp.dev

amp-autocomplete

入力補完に利用します。補完を行う候補は別途JSONで定義します。

Documentation: <amp-autocomplete> - amp.dev

amp-bind

AMP.setState という簡易的なJavaScript表記によって、表示されている値を変更します。Reactに似た形になります。

Documentation: <amp-bind> - amp.dev

amp-carousel

カルーセル表示です。画像を用意して自動的に切り替えます。

Documentation: <amp-carousel> - amp.dev

amp-fit-text

テキストの文字サイズを指定されたスペースの大きさに合わせて変化させます。

Documentation: <amp-fit-text> - amp.dev

amp-form

HTMLフォームを埋め込みます。入力も可能です。

Documentation: <amp-form> - amp.dev

amp-image-lightbox

画像を並べて表示し、クリックで拡大表示するlightboxを提供します。

Documentation: <amp-image-lightbox> - amp.dev

amp-img

画像をレスポンシブにしたり、存在しない場合に代替画像を表示したりします。

Documentation: <amp-img> - amp.dev

amp-layout

アスペクト比を用いたレイアウトを実現します。

Documentation: <amp-layout> - amp.dev

amp-lightbox

画像に限らずコンテンツをモーダル表示するのに利用します。

Documentation: <amp-lightbox> - amp.dev

amp-list

f:id:moongift:20210520213230p:plain

コンテンツのリスト表示に使います。

Documentation: <amp-list> - amp.dev

amp-mustache

MustacheはJavaScript用のテンプレート記法です。JSONと組み合わせてダイナミックなコンテンツ変更ができます。

Documentation: <amp-mustache> - amp.dev

amp-selector

並べた画像やテキストを選択するのに利用します。

Documentation: <amp-selector> - amp.dev

amp-sidebar

f:id:moongift:20210520213245p:plain

コンテンツを切り替えるためのメニューを表示します。表示、非表示の切り替えもできます。

Documentation: <amp-sidebar> - amp.dev

amp-timeago

f:id:moongift:20210520213253p:plain

何時間、何分前といった表示を行います。自動的に更新される訳ではなく、表示したタイミングでの時間差を出すようです。

Documentation: <amp-timeago> - amp.dev

まとめ

AMP for Emailでは一部JavaScriptのように入力に合わせてコンテンツを変えたり、外部サーバからデータを取得してコンテンツに反映することができます。これらを組み合わせることで、よりダイナミックで訴求力のあるメールが作成できそうです。