メッセンジャーボットを作成しましたが、実行するアクションには時間がかかる場合があります。したがって、ユーザーを待たせるために、「インジケーターの吹き出し」(話している人が入力しているときに表示される吹き出し)を表示したいと思います。
メッセンジャーAPIのドキュメントではその方法は定義されていませんが、カードで「callBack」を押したときに実行される可能性があります。
どうすればこれをシミュレートできますか?
送信者アクションを介してメッセンジャーボットAPIで利用できるようになりました。ドキュメント here を見つけることができます。
これは、バブルインジケーターを表示/非表示にするオンまたはオフの値を持つ単なる投稿です。
{
"recipient":{
"id":"USER_ID"
},
"sender_action":"typing_on" // typing_off
}
私はそれがハックであることを知っていますが、待機時間(API呼び出しなど)が予想される場合、最初の返信として「タイピングバブルインジケーター」をアニメーションGIFとして送信しています。ユーザー側では、違いを見分けることができません。
現在、公式のメッセンジャーAPIはこの機能をサポートしていません。 @ hiponcho であっても、Facebookのチャットボットの機能の1つが実際に使用しています。
回避策は sendTypingIndicator
と呼ばれるメソッドを備えた非公式のメッセンジャーAPIを使用することです。ただし、非公式APIの使用が禁止される可能性があるので注意してください。
api.sendTypingIndicator(threadID, [callback])
はい、それが唯一の方法です。
ボタンテンプレートがあり、誰かが「ポストバック」の「ボタン」をクリックした場合( documentation 「ボタンテンプレート」セクション)。
次に、メッセージを解析して回答を送信するときに、「書き込み」のように表示されます。