【问题标题】:facebook messenger - close webview and notify webhookfacebook messenger - 关闭 webview 并通知 webhook
【发布时间】:2017-04-07 13:45:56
【问题描述】:

我正在将用户从信使聊天发送到我的应用程序中的支付页面。 Messenger 在 web 视图中打开页面。 现在我想关闭 webview 并将用户发送回 Messenger,同时向 webhook 发送一些内容以通知它用户已完成支付页面。

最好的方法是什么?

【问题讨论】:

  • 找到解决方案了吗?

标签: facebook messenger


【解决方案1】:

只有控制支付页面(由您开发)才能实现这一点,如果是第三方支付网关则无能为力。如果支付页面由您控制,您可以通过 web_url 将发件人 ID 作为参数传递或通过

获取发件人 ID
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
 }(document, "script", "Messenger"));

  window.extAsyncInit = function () {
  // the Messenger Extensions JS SDK is done loading
   MessengerExtensions.getUserID(function success(uids) {
    var psid = uids.psid;//This is your page scoped sender_id
    alert(psid);
}, function error(err) {
    alert("Messenger Extension Error: " + err);
});
};
</script>  

然后,您可以使用发件人 ID 将消息文本发送回机器人。 在发送完所有这些后关闭 webview 包含此脚本 给机器人发短信

   <script>
  (function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
  fjs.parentNode.insertBefore(js, fjs);
  }(document, "script", "Messenger"));

  window.extAsyncInit = function () {
  // the Messenger Extensions JS SDK is done loading
  //close the webview
  MessengerExtensions.requestCloseBrowser(function success() {

  }, function error(err) {

  });

  };
  </script>

就像在您的 Bot 中一样,您必须确保在发送文本之前页面访问令牌可用,还要确保将 webview 中使用的域列入白名单并在 web_url 按钮中设置 "messenger_extensions": true否则您将无法使用信使扩展获取发件人 ID

参考

url button

messenger extension

【讨论】:

  • 不清楚如何将消息发送回机器人:您能否详细说明,提供更详细的 cmets 示例?
  • @AlekseyKontsevich 只需像在机器人中一样发送它。只需确保您有页面范围的 ID 和可用的页面访问令牌,这在您的范围内。
  • 你是什么意思?我正在为机器人使用 MS Bot Framework,在 FB 中认为它是不同的。
  • @AlekseyKontsevich 我不知道它如何与 MS Bot Framework 一起工作
  • @AlekseyKontsevich 你还习惯使用 MS Bot Framework 吗? :)
猜你喜欢
  • 2016-11-09
  • 2016-10-12
  • 2017-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-16
相关资源
最近更新 更多