Facebook graph api 来自apprequests的通知在Facebook加载后消失

Facebook graph api 来自apprequests的通知在Facebook加载后消失,facebook-graph-api,facebook-javascript-sdk,apprequests,facebook-app-requests,Facebook Graph Api,Facebook Javascript Sdk,Apprequests,Facebook App Requests,这是我用来加载SDK的代码: window.fbAsyncInit = function() { FB.init({ appId : "<APP_ID>", status : true, cookie : true, xfbml : true }); }; (function(d, s, id) { var js, fjs = d.getElementsByT

这是我用来加载SDK的代码:

window.fbAsyncInit = function() {
    FB.init({
        appId      : "<APP_ID>",
        status     : true,
        cookie     : true,
        xfbml      : true
    });
};

(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.net/en_US/all.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
用户体验如中所述,但在Facebook加载后,当接收者登录通知时,通知消失

在寻找答案时,我发现:

但是:

  • 沙盒模式被禁用
  • 定义画布应用程序url,以及安全画布应用程序url
  • 应用程序类型定义为Web

我错过了什么?

Facebook正在测试如果用户对用户的请求没有出现在通知上会发生什么。他们在这里解释:


测试显然已经结束,事情应该很快恢复正常,至少现在是这样。

当您的canvas应用程序设置不正确时,这种情况仍然会发生。请看下面的答案:


canvas应用程序中我不喜欢的一点是,您的站点必须具有SSL证书,这可能会很昂贵……您可以使用非https域进行共享,并使用单个域进行所有https(假设您只有一台服务器或主机)。在这种情况下,一个便宜的ssl证书每年只会让你损失20美元。我知道这已经是很长时间了。你找到解决这个问题的方法了吗?我也面临同样的问题
function inviteFriends(){
    FB.ui(
        {
            method: 'apprequests',
            message: 'invites you to play'
        },
        function(response){ console.log(response) } // temporary to verify
    )
}