読者です 読者をやめる 読者になる 読者になる

ここにタイトルが入ります

デザイン&プログラミングのことも書くし、それ以外のことも書く。

【Gmailでの通知をリッチに!】Email markupでGmailユーザーにわかりやすくお知らせする。

開発とかその他

Gmailgithubからの通知を受け取った際、メール一覧での表示の中にボタンが付いているのに気が付きました。
(今更ながら)

f:id:blog_711fumi:20150305234243g:plain
これ、issueに変更があったことを通知してくれたメールなのですが、
issueページへのリンクボタンが付いているんですね。
メールを開かなくてもissueページに飛ぶことができる。


調べてみると、Email markupというGmailの仕組み?を利用したものらしく、メールに少し手を加えるだけで
リンクボタン以外にも様々な情報表示やアクションをGmail上で提供できるようです。
※次世代のGmailらしい?inboxでももちろん対応しています。

Email Markupで表示できること

〜ここを参照〜
Developer Guide - Email markup — Google Developers

・確認や保存といったアクションボタン
・関連ページヘのリンクボタン
・出欠確認やレビューできるウィンドウ
Gmailのプロモーションタブに表示される広告
・商品の注文内容や配送状況
・各種予約情報

…などが今のところ表示できるようですね。

実装方法

↑のリンク先を見てもらえばわかるのですが、
表示するデータはschema.orgに沿って?定義するようです。
schema.orgについての説明は割愛)

ただ現在データ定義の規格について他のメールサービスや団体とすり合わせを行っているようなので、
今後定義が変わっていくことも予想されます。
逆に言えば、規格が定まれば
他のメールサービスでも同じような機能が実装されるということでしょうかね。

〜ここを参照〜
Schema.org Proposals - Email markup — Google Developers


データ定義記述のフォーマットは
JSON-LD
Microdata
の2つが使えるらしいです。
(例は後述)

Google Apps Scriptで試してみる

チュートリアルにお試し方法として
Google Apps Scriptを使用して自身(のGmailアカウント)にメールを送る方法が載っていたので試してみました。

〜ここを参照〜
Apps Script Quickstart - Email markup — Google Developers


※Apps Scriptとは:
〜参考にさせていただきました〜
作業効率化!Googleアプリを1000%活かせる「Google Apps Script」の始め方 | 株式会社LIG


まずApps Scriptの編集画面を開きます。
新規プロジェクトを作成して、2ファイルを作成・編集して保存。
(Code.gsは自身へのメール送信の実行、mail_template.htmlはメールの中身です)
今回はgoogle検索ページヘのリンクボタンを表示することにします。


Google mail markup sample.

※↑のmail_template.htmlではJSON-LDとMicrodata両方の記述がされていますが、
どちらか片方で良いです。

そしてCode.gsファイルを開き、スクリプト実行!
Runもしくは実行アイコンをクリック。
f:id:blog_711fumi:20150306010841g:plain


すると自分のアカウント宛にメールが届きます。
f:id:blog_711fumi:20150306011608g:plain
ボタンついてる!(゚∀゚)


ちなみに、データ定義が正しく行われているかどうかは
ここで確認できますー
メール マークアップ テスター


実際に運用する場合(未確認)

マークアップが問題ないことを確認できたので、試しにメールを作成して
他の人に送ってみたところ、
なぜかボタンが表示されません

どうやら、実際にサービスのユーザーとかに送る場合は
googleに申請を(ホワイトリストへの登録)しなければいけないみたいですね!
※悪用を防ぐためでしょうか?ここは実際に試していないので
もし試すことがあったら追記します。


〜ここを参照〜
Registering with Google - Email markup — Google Developers

自分のアカウント宛に送る場合(hoge@gmail.comからhoge@gmail.comへ)は
登録等していなくてもEmail Markupを読み込んでくれるようです。

終わりに

今後ともできること増えそうですし、規格が統一されればgmail以外でも同じようなことができるようになるんでしょうね!

メール通知はユーザーへの一番メジャーな通知方法なので、有効活用してユーザーにわかりやすく情報を届けるようにしたいものです( ー`дー´)/