20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Facebookの Bots for Messenger (Messenger Platform) でできることまとめ

Last updated at Posted at 2016-04-17

いろいろいじっているので、備忘録のために出来る事をまとめます。
heroku + railsで実験してます。

Bot For Messengerとは

Facebookページでメッセージを送ると、そのメッセージに応じてBotが対応できます。

たとえば、ECで使うなら、以下のように、Botがカテゴリを提示してくれて、ユーザがどのカテゴリか選ぶと、そのカテゴリの商品一覧をだせたりします。

image

ユーザのボット用メッセンジャーへの動線

Web Pluginsや、Messenger Codesなどでユーザへの動線とできます。

Web PluginsはWebページにボタンを配置する方法です。モバイルユーザなら直接、Messengerアプリに遷移させることができます。

image

Messenger Codesは以下のようなQRコードのようなものです。これをMessengerで読み込ませて動線としています。

image

その他に、IDでもユーザはボット用メッセンジャーを探すことができます。

Welcome Screen

Bot用メッセンジャーにユーザがログインしたあと、最初のページでウェルカムスクリーン(初期画面)を設定することができます。

Welcome Screenには、通常のテキストメッセージと、Structured Messageというのを設定できます。

image

ユーザからメッセージが来たときの処理

ユーザからメッセージがきたとき、開発者が設定した、URLにFacebookからwebhookが飛んできます。
Webhookは20秒以内に返答しなければならず、8時間以上、そのwebhookが失敗するばあいは、リクエストがこなくなります。

なお、ユーザのメッセージが複数まとめられて送られてくる可能性もあるので適切に対処しなければいけません。
ジョブキューなどに入れて実装するのがよさそうです。

ユーザに送れるメッセージの種類

ユーザからのアクション(テキストを送る、画像を送る、ボタンが押されるなど)をフックとして、以下のメッセージが送れます。

  • テキストメッセージ(Text Message)
  • イメージ(Image (url), Image (file)): URLかファイルで送ります
  • Structured Message - Button Template
  • Structured Message - Generic Template

Structured Messageは以下のようになっており、画像とともにボタンが表示できます。
それぞれのボタンがクリックされたときに、Botがどのようなアクションをするかは、ボタンに設定された値をサーバが処理することにより行います。

image

Structured MessageのGeneric Templateを使うと、カルーセルのように、横にスライドさせれる複数のアイテムを並べる事ができます。

image

なお、Generic Templateは以下の制限があります。

  • タイトル: 45文字
  • サブタイトル: 80文字
  • ボタンのタイトル: 20文字
  • ボタンの数: 最大3つ
  • カルーセルのアイテム数: 最大10個
  • 画像のアスペクト比: 横1.91 対 縦1

画像は上記の比で用意しないと見切れてしまいます。

実装メモ

  • 開発していたときに、いちいちwebhookを試すためにデプロイするのは面倒なので、webhookをlocaltunnelでローカルにリクエストを飛ばしながらやるのがいいかなと思いました。

参考

20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?