SendGridをゲームプラットフォームとして使ってみました
きっかけ SendGridには多くのAPIがあって、どれをどういう風に使うのかがピンときていませんでした。で、自分含めそんな人向けに、SendGridのAPIをできるだけ多く使ってそれぞれの使い所をイメージしやすいモノを作ってみようと思いできあがったのがこのアプリケーションです。 できること メールを介してオセロができます。 ソースコードは こちら で公開しています。 中で何をやっているか こんな感じで動作します。 0:アプリケーション初回起動時 Web API/Template Engine APIを使ってSendGridの設定を自動的に変更します。設定が自動化されると、設定手順をドキュメント化する手間が減って楽ですよね。 SendGrid上にTemplateを作成します Event Notificationを設定してEvent Webhookを有効化します Parse Webhookを設定、有効化します Click Trackingを有効化します 1:ゲームの開始 Parse Webhook機能に設定したアドレスにメール(件名に相手プレイヤーのアドレスを設定)を送るとSendGridは受信したメールを解析して、Reversi Web AppにPOSTします。POSTを受けたアプリケーションはMongoDB上にゲームデータを生成します。 アプリケーションはSendGrid経由で各プレイヤーにメッセージおよびゲームボードのメールを送ります。 2:クリック ゲームボードのメール上で石を置きたい場所をクリックすると、クリックイベントがSendGridからReversi Web AppにPOSTされます。ここではEvent WebhookとClick Tracking機能を使っています。 クリックイベントはGETでアプリケーションに直接アクセスしても良いのですが、Click Trackingは元URLを隠ぺいするので、今回のアプリではなりすましを防ぐ意味合いがあります。(本当は単に使いたかっただけで、理由は後付です) テキストメール このアプリでは、マルチパートでテキストメールにも対応しています。 対応してみてテキストメール死ねって思いました。 その他 Ruby ...