dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

Gmail Actions in the Inbox を試してみる (その1. Go-To Action)

GmailActions in the Inbox機能を試しています。

日本語の記事がほぼ無いと言ってよいので、少しずつ Action を触ってはメモ書き程度に残していこうと思います。

はじめに(Actions in the Inboxとは)

Actions in the Inbox とは、Gmail の件名の右はじに表示されたボタンのことです。

Amazon からのメールにも、注文した内容を表示するためのボタン等がありますね。

f:id:dackdive:20141014000622p:plain

また、最近ではGitHubからのメールにもワンクリックでIssueやPull Requestを開くためのボタンがつきました。

Actions in the Inboxとして利用できる Action はいくつかあるんですが、今回はその中から Go-To Action について。
まだわかっていないこともありますし文章にするには理解が不十分ですが、とりあえず動くものができたということで。

GitHub

今回作ったサンプルのソースコード

サンプル

サンプルはここで確認することができます。

http://gmail-actions-in-the-inbox.appspot.com/go_to_action/

Gmailアカウントでログインして、各行の右側の「Send Email」ボタンをクリックするとメールが送信されます。

調べたことまとめ

今回調査した Go-To Action というのは、記事の冒頭で紹介したAmazonGitHubのように、
クリックすると特定のURLにジャンプするようなアクションです。

Go-To Actionの種類

ドキュメントではGo-To Actionとして

  • ViewAction
  • TrackAction

の2つをサポートしていると書かれています。

ViewActionのスキーマ

送信するメール(htmlメール)の文面に以下を記述します。

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "action": {
    "@type": "ViewAction",
    "url": "https://watch-movies.com/watch?movieId=abc123",
    "name": "Watch movie"
  },
  "description": "Watch the 'Avengers' movie online"
}
</script>

記述する場所は<head>~</head>の間と書いてますが、<body>~</body>の間でも大丈夫のようです。

それぞれのパラメータについて補足。

パラメータ 意味
action.@type "ViewAction"を指定
action.url ボタンをクリックした時に開きたいリンク
action.name ボタンに表示したい文字列
description 特に表示される箇所はなさそう
※(メールの件名) ここでは定義されない

よくわかってないこと

TrackActionのスキーマがよくわかってません。ドキュメントの通り

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "ParcelDelivery",
  "deliveryAddress": {
    "@type": "PostalAddress",
    "streetAddress": "24 Willie Mays Plaza",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "addressCountry": "US",
    "postalCode": "94107"
  },
  "expectedArrivalUntil": "2013-03-12T12:00:00-08:00",
  "carrier": {
    "@type": "Organization",
    "name": "FedEx"
  },
  "itemShipped": {
    "@type": "Product",
    "name": "iPod Mini"
  },
  "partOfOrder": {
    "@type": "Order",
    "orderNumber": "176057",
    "merchant": {
      "@type": "Organization",
      "name": "Bob Dole"
    }
  },
  "trackingUrl": "http://fedex.com/track/1234567890"
}
</script>

をメール文面に貼付ければ動くんですが、actionプロパティも定義されてないし...
そもそも色々定義しているその他のプロパティは何に使われるんだろう。

というわけで、色々すっきりしない部分はありますがGo-To Actionについてはこのへんで。

リファレンス

Go-To Actions  |  Email Markup  |  Google Developers